diff --git a/docs/rules.md b/docs/rules.md
index 3d11ae1553..ab4b7694e8 100644
--- a/docs/rules.md
+++ b/docs/rules.md
@@ -46,13 +46,14 @@ To include these rules, use the `-e/include-experimental` argument when running
## Rules
(_This documentation is generated by running `cfn-lint --update-documentation`, do not alter this manually_)
-The following **238** rules are applied by this linter:
+The following **239** rules are applied by this linter:
| Rule ID | Title | Description | Config
(Name:Type:Default) | Source | Tags |
| -------- | ----- | ----------- | ---------- | ------ | ---- |
| [E0000](../src/cfnlint/rules/errors/parse.py) | Parsing error found when parsing the template | Checks for JSON/YAML formatting errors in your template | | [Source](https://github.com/aws-cloudformation/cfn-lint) | `base` |
| [E0001](../src/cfnlint/rules/errors/transform.py) | Error found when transforming the template | Errors found when performing transformation on the template | | [Source](https://github.com/aws-cloudformation/cfn-lint) | `base`,`transform` |
| [E0002](../src/cfnlint/rules/errors/rule.py) | Error processing rule on the template | Errors found when processing a rule on the template | | [Source](https://github.com/aws-cloudformation/cfn-lint) | `base`,`rule` |
+| [E0003](../src/cfnlint/rules/errors/config.py) | Error with cfn-lint configuration | Error as a result of the cfn-lint configuration | | [Source](https://github.com/aws-cloudformation/cfn-lint) | `base`,`rule` |
| [E1001](../src/cfnlint/rules/jsonschema/JsonSchema.py) | Basic CloudFormation Template Configuration | Making sure the basic CloudFormation template components are properly configured | sections:string: | [Source](https://github.com/aws-cloudformation/cfn-lint) | `base` |
| [E1002](../src/cfnlint/rules/templates/LimitSize.py) | Validate if a template size is too large | Check the size of the template is less than the upper limit | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `limits` |
| [E1003](../src/cfnlint/rules/templates/LimitDescription.py) | Validate the max size of a description | Check if the size of the template description is less than the upper limit | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `description`,`limits` |
diff --git a/src/cfnlint/data/AdditionalSpecs/Policies.json b/src/cfnlint/data/AdditionalSpecs/Policies.json
index f8fac4bfec..18f8c0056d 100644
--- a/src/cfnlint/data/AdditionalSpecs/Policies.json
+++ b/src/cfnlint/data/AdditionalSpecs/Policies.json
@@ -810,6 +810,7 @@
"CreateApplication",
"CreateConnector",
"CreateLaunchConfigurationTemplate",
+ "CreateNetworkMigrationDefinition",
"CreateReplicationConfigurationTemplate",
"CreateVcenterClientForMgn",
"CreateWave",
@@ -817,6 +818,7 @@
"DeleteConnector",
"DeleteJob",
"DeleteLaunchConfigurationTemplate",
+ "DeleteNetworkMigrationDefinition",
"DeleteReplicationConfigurationTemplate",
"DeleteSourceServer",
"DeleteVcenterClient",
@@ -841,6 +843,8 @@
"GetAgentSnapshotCreditsForMgn",
"GetChannelCommandsForMgn",
"GetLaunchConfiguration",
+ "GetNetworkMigrationDefinition",
+ "GetNetworkMigrationMapperSegmentConstruct",
"GetReplicationConfiguration",
"GetVcenterClientCommandsForMgn",
"InitializeService",
@@ -852,6 +856,18 @@
"ListImportErrors",
"ListImports",
"ListManagedAccounts",
+ "ListNetworkMigrationAnalyses",
+ "ListNetworkMigrationAnalysisResults",
+ "ListNetworkMigrationCodeGenerationSegments",
+ "ListNetworkMigrationCodeGenerations",
+ "ListNetworkMigrationDefinitions",
+ "ListNetworkMigrationDeployedStacks",
+ "ListNetworkMigrationDeployedStacksDeletions",
+ "ListNetworkMigrationDeployments",
+ "ListNetworkMigrationExecutions",
+ "ListNetworkMigrationMapperSegmentConstructs",
+ "ListNetworkMigrationMapperSegments",
+ "ListNetworkMigrationMappings",
"ListSourceServerActions",
"ListTagsForResource",
"ListTemplateActions",
@@ -881,6 +897,11 @@
"StartCutover",
"StartExport",
"StartImport",
+ "StartNetworkMigrationAnalysis",
+ "StartNetworkMigrationCodeGeneration",
+ "StartNetworkMigrationDeployedStacksDeletion",
+ "StartNetworkMigrationDeployment",
+ "StartNetworkMigrationMapping",
"StartReplication",
"StartTest",
"StopReplication",
@@ -898,6 +919,9 @@
"UpdateConnector",
"UpdateLaunchConfiguration",
"UpdateLaunchConfigurationTemplate",
+ "UpdateNetworkMigrationDefinition",
+ "UpdateNetworkMigrationMapperSegment",
+ "UpdateNetworkMigrationMapperSegmentConstruct",
"UpdateReplicationConfiguration",
"UpdateReplicationConfigurationTemplate",
"UpdateSourceServer",
@@ -1414,10 +1438,7 @@
"conditionKeys": [
"aws:RequestTag/${TagKey}",
"aws:ResourceTag/${TagKey}",
- "aws:TagKeys",
- "bcm-pricing-calculator:bill-estimateBillEstimateId",
- "bcm-pricing-calculator:bill-scenarioBillScenarioId",
- "bcm-pricing-calculator:workload-estimateWorkloadEstimateId"
+ "aws:TagKeys"
]
},
"AWS Billing Conductor": {
@@ -8277,30 +8298,63 @@
"ARNFormat": "arn:aws:mgh:${Region}:${Account}:${ResourceType}/${ResourceName}",
"ARNRegex": "^arn:aws:mgh:.+",
"Actions": [
+ "AcceptConnection",
+ "AssociateAutomationUnitRole",
"AssociateCreatedArtifact",
"AssociateDiscoveredResource",
+ "AssociateSourceResource",
+ "BatchAssociateIamRoleWithConnection",
+ "BatchDisassociateIamRoleFromConnection",
+ "CreateAutomationRun",
+ "CreateAutomationUnit",
"CreateHomeRegionControl",
"CreateProgressUpdateStream",
+ "DeleteAutomationRun",
+ "DeleteAutomationUnit",
+ "DeleteConnection",
"DeleteHomeRegionControl",
"DeleteProgressUpdateStream",
"DescribeApplicationState",
+ "DescribeAutomationRun",
+ "DescribeAutomationUnit",
"DescribeHomeRegionControls",
"DescribeMigrationTask",
+ "DisassociateAutomationUnitRole",
"DisassociateCreatedArtifact",
"DisassociateDiscoveredResource",
+ "DisassociateSourceResource",
+ "GetConnection",
"GetHomeRegion",
"ImportMigrationTask",
"ListApplicationStates",
+ "ListAutomationRuns",
+ "ListAutomationUnits",
+ "ListConnectionRoles",
+ "ListConnections",
"ListCreatedArtifacts",
"ListDiscoveredResources",
+ "ListMigrationTaskUpdates",
"ListMigrationTasks",
"ListProgressUpdateStreams",
+ "ListSourceResources",
+ "ListTagsForResource",
"NotifyApplicationState",
"NotifyMigrationTaskState",
- "PutResourceAttributes"
+ "PutResourceAttributes",
+ "RejectConnection",
+ "TagResource",
+ "UntagResource"
],
"HasResource": true,
- "StringPrefix": "mgh"
+ "StringPrefix": "mgh",
+ "conditionKeys": [
+ "aws:RequestTag/${TagKey}",
+ "aws:ResourceTag/${TagKey}",
+ "aws:TagKeys",
+ "mgh:AutomationRunResourceRunID",
+ "mgh:AutomationUnitResourceAutomationUnitArn",
+ "mgh:ConnectionResourceConnectionArn"
+ ]
},
"AWS Migration Hub Orchestrator": {
"ARNFormat": "arn:aws:migrationhub-orchestrator:${Region}:${Account}:${ResourceType}/${ResourceName}",
@@ -14240,6 +14294,7 @@
"CreatePersistentContactAssociation",
"CreatePredefinedAttribute",
"CreatePrompt",
+ "CreatePushNotificationRegistration",
"CreateQueue",
"CreateQuickConnect",
"CreateRoutingProfile",
@@ -14265,6 +14320,7 @@
"DeleteIntegrationAssociation",
"DeletePredefinedAttribute",
"DeletePrompt",
+ "DeletePushNotificationRegistration",
"DeleteQueue",
"DeleteQuickConnect",
"DeleteRoutingProfile",
diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
index d74958f887..85dc09ad77 100644
--- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
@@ -1 +1 @@
-{"etag": "\"9085601f1a660dd9538ef5b8f1c6e6ef\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"05763c28ee46000a9da29ad4843efa41\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
index 75547d4b4e..5f42b2d261 100644
--- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
@@ -1 +1 @@
-{"etag": "\"f3c2fe589c4d49787430bbfe1d252c64\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"}
+{"etag": "\"e67daf3e4be8b333c75c5d3a516541f2\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
index 459cde2e81..6023a08dbf 100644
--- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
@@ -1 +1 @@
-{"etag": "\"de893aca6cd8454910f83e8962d83963\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"97758efb3d7ce21c1a3e28e26b6d5fcf\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json
index 19349c629a..00cae3b3e4 100644
--- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json
@@ -1 +1 @@
-{"etag": "\"452eb51d4abf5a0bdf77aa3fea5b1eb7\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"cda53dbcd19cf7f308641736a953a46e\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
index 03dcfa5294..269a913537 100644
--- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
@@ -1 +1 @@
-{"etag": "\"4acd05c11e1bcf89f0056a60e7a43c38\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"7f85adcfba0098ccf06088b6a1644c9a\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
index 14a90184a2..155e24889c 100644
--- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
@@ -1 +1 @@
-{"etag": "\"29e09bfce31fd26711db703b6c1bf27c\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"9213f85b346d5abfd3521fdaa447e50a\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
index 9ea2cdb7df..e991460f6f 100644
--- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
@@ -1 +1 @@
-{"etag": "\"599b2a5ef40605ab715f2e8f76a4e065\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"189d15deef38171681446f8e4c4a205e\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
index c6d55491c8..4ed12c9d6b 100644
--- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
@@ -1 +1 @@
-{"etag": "\"9826b57fc2768733758f060314625ec0\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"}
+{"etag": "\"4b7f3940e605ac30a309a8db22503cba\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
index e8a502970e..847ddbb1e7 100644
--- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
@@ -1 +1 @@
-{"etag": "\"fd1fa3847a79253ee01c9d6899bb4c56\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"ba0a9dce68b68dbc532a0c34ec4c85d1\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
index a3c7c5c8c5..9d7e887b79 100644
--- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
@@ -1 +1 @@
-{"etag": "\"7a313cec78a2381746bfb728683c5da4\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"5b48441a2269a58b7a22d3829026fbb5\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json b/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json
index 6404e96cf1..e7c006fc06 100644
--- a/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json
@@ -1 +1 @@
-{"etag": "\"e7b4ee60cb88a97b2de3511340feda2c\"", "url": "https://schema.cloudformation.ap-southeast-5.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"2b48d1b0ce895941df8f70f50d0268dd\"", "url": "https://schema.cloudformation.ap-southeast-5.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
index d55fb8e4d8..6d0553a589 100644
--- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
@@ -1 +1 @@
-{"etag": "\"c25993db7f3d65447c664c7ab27e87eb\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"c0fd8b98831eb81adf5b8e0cf9753fcc\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
index 6ea17536ce..b7da4ff72d 100644
--- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
@@ -1 +1 @@
-{"etag": "\"7950cae17fc0b1bd3ab7d59c00db0e0d\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"7269bf08497e407427ecf3fc2f97de89\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
index fecf2fbe25..b0bed4caac 100644
--- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
@@ -1 +1 @@
-{"etag": "\"0ef92390d233d204880272e06d4de39c\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"24f5c21aebcb4ae7f8a578c7e1fcae2e\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
index e602ed8dc1..a3f906e16c 100644
--- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
@@ -1 +1 @@
-{"etag": "\"f7918c0ba302ba592e52690089fa0261\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"a929a2acad904be291fd7f1c44688157\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
index 3eecb1b678..b14b7b1936 100644
--- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
@@ -1 +1 @@
-{"etag": "\"a10d484d403c435b47ec49c1dfe7faf3\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"a31a92c090e7718b305e95693fb3dcf2\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
index 984f4ee884..23d49e69f2 100644
--- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
@@ -1 +1 @@
-{"etag": "\"df979588f286c4ddf7b5efac62e1a94b\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"4e6219a4e5e5a44c8cc67ed6e7232013\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json
index 6cb8e2c659..f1ddd61e18 100644
--- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json
@@ -1 +1 @@
-{"etag": "\"d8a8eff0eae2b438d86a9fea4a8c1588\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"2dd52c9ee0963e32313f41947a4587db\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
index ad5fc17a3b..cdb669682b 100644
--- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
@@ -1 +1 @@
-{"etag": "\"56c642fde054da2b167762a4f3b8a64e\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"3b004fbbf3d9516922e0e5269c3187b0\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
index ec14954c80..4350ecc190 100644
--- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
@@ -1 +1 @@
-{"etag": "\"21210d76833abc4d31020218587bc076\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"113ae30b6f70bad87abf594d5877dad7\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
index b82d0fb507..614657123a 100644
--- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
@@ -1 +1 @@
-{"etag": "\"22fafe69d885cac65cd21b4f85581609\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"f7b45025deee29fd18d970ce47076b04\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
index 60928d4c3f..49e9db5e73 100644
--- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
@@ -1 +1 @@
-{"etag": "\"7e05b57954d9b67a9c3877a760fa06d5\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"b338798119d2d57e49c20c6f230bf534\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
index 0af5ca2062..b2dd8d46b8 100644
--- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
@@ -1 +1 @@
-{"etag": "\"f70dbb9f861c192d55d145c0c2fb7e9b\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"35de6881b240ca6931cf585a6cfd935f\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
index b44ca8b6c8..8a155944a6 100644
--- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
@@ -1 +1 @@
-{"etag": "\"3be27310a086f96a225e56ec790c7836\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"163abbabb60503ed4420f47c35c487f3\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json
index 10934b4e98..cd14b9069d 100644
--- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json
@@ -1 +1 @@
-{"etag": "\"a4be958e1eca56d8f45ca98b4f22cc7b\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"e3c108864370b21883da31f3a8a0ae5e\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
index ca63825b12..1ed0c77583 100644
--- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
@@ -1 +1 @@
-{"etag": "\"e3e08af0aa120714696c8dbd2da177c8\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"892d4a9e32b90171f0cdc348d4b7d815\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
index 1c753934ac..691816d6c1 100644
--- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
@@ -1 +1 @@
-{"etag": "\"86fffbe45c2435474777c7b25c7cdac8\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"aac6ae41fb57b576e55cb5a687e0718f\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
index c8cf6f0caf..cfdd68babf 100644
--- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
@@ -1 +1 @@
-{"etag": "\"fa2b02b74014f932d18e9d6a21402eb5\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"ff6824dd98858d3f1c91ee6eade1d722\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
index 726350c39a..e060864273 100644
--- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
@@ -1 +1 @@
-{"etag": "\"0abdf22892c2025b74f1078846f87e1b\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"bad442ac081140998a76ca2233e208e3\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json
index 0f9e8ef433..d60dd98ff1 100644
--- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json
@@ -1 +1 @@
-{"etag": "\"b3898a2fc9106fe645814ee60189512f\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"15f24eb7af3ea0f18e08e2e0c9b49a33\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
index cf4f4c2cc5..3cd26b20bd 100644
--- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
@@ -1 +1 @@
-{"etag": "\"20fbf3d915556eb220673af636108374\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"41bf2278634380057d36ad5dc2126bd0\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
index d784f298bb..e94ce018fa 100644
--- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
@@ -1 +1 @@
-{"etag": "\"91969886b2e240c28450a2ec8cf9efb1\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"07593d5f862c3c00302add8583e4f4d9\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
index bc64c2f77d..1b98ab1e4f 100644
--- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
@@ -1 +1 @@
-{"etag": "\"317aa6b2d588535c32476155f4124f09\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"e67c665285152a26a0d89515b227a732\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
index b796c63bc8..e9fd25735e 100644
--- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
@@ -1 +1 @@
-{"etag": "\"f99e469f3878bc5f5f7f330c8c34b484\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"27d0364b6d120eb6214448fa9ec2cac7\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/Serverless/ManagedPolicies.json b/src/cfnlint/data/Serverless/ManagedPolicies.json
index c2dead79f8..3716bd795c 100644
--- a/src/cfnlint/data/Serverless/ManagedPolicies.json
+++ b/src/cfnlint/data/Serverless/ManagedPolicies.json
@@ -447,6 +447,7 @@
"AWSPartnerCentralFullAccess": "arn:aws:iam::aws:policy/AWSPartnerCentralFullAccess",
"AWSPartnerCentralOpportunityManagement": "arn:aws:iam::aws:policy/AWSPartnerCentralOpportunityManagement",
"AWSPartnerCentralSandboxFullAccess": "arn:aws:iam::aws:policy/AWSPartnerCentralSandboxFullAccess",
+ "AWSPartnerCentralSellingResourceSnapshotJobExecutionRolePolicy": "arn:aws:iam::aws:policy/AWSPartnerCentralSellingResourceSnapshotJobExecutionRolePolicy",
"AWSPartnerLedSupportReadOnlyAccess": "arn:aws:iam::aws:policy/AWSPartnerLedSupportReadOnlyAccess",
"AWSPriceListServiceFullAccess": "arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess",
"AWSPrivateCAAuditor": "arn:aws:iam::aws:policy/AWSPrivateCAAuditor",
diff --git a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json
index 494c9e6122..eca8e7f227 100644
--- a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json
+++ b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json
@@ -218,6 +218,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -1108,6 +1110,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -1998,6 +2002,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -2888,6 +2894,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -3778,6 +3786,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -4668,6 +4678,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -5558,6 +5570,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -6448,6 +6462,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -7338,6 +7354,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -8228,6 +8246,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -9118,6 +9138,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -10008,6 +10030,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -10898,6 +10922,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -11788,6 +11814,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -12678,6 +12706,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -13568,6 +13598,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -14458,6 +14490,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -15348,6 +15382,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -16238,6 +16274,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -17128,6 +17166,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -18018,6 +18058,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -18908,6 +18950,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -19798,6 +19842,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -20688,6 +20734,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -21578,6 +21626,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -22468,6 +22518,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -23358,6 +23410,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -24248,6 +24302,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -25138,6 +25194,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -26028,6 +26086,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -26918,6 +26978,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -27808,6 +27870,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -28698,6 +28762,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
@@ -29588,6 +29654,8 @@
"f1.16xlarge",
"f1.2xlarge",
"f1.4xlarge",
+ "f2.12xlarge",
+ "f2.48xlarge",
"g2.2xlarge",
"g2.8xlarge",
"g3.16xlarge",
diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json
index a8d35c591a..1fdd1a844e 100644
--- a/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json
+++ b/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json
@@ -112,6 +112,7 @@
"12.18",
"12.19",
"12.20",
+ "12.22",
"12.9",
"13.10",
"13.11",
@@ -128,6 +129,7 @@
"14.11",
"14.12",
"14.13",
+ "14.15",
"14.3",
"14.4",
"14.5",
@@ -135,6 +137,7 @@
"14.7",
"14.8",
"14.9",
+ "15.10",
"15.2",
"15.3",
"15.4",
@@ -146,7 +149,8 @@
"16.2",
"16.3",
"16.4",
- "16.4-limitless"
+ "16.4-limitless",
+ "16.6"
]
}
}
@@ -218,6 +222,7 @@
"11.22-rds.20240418",
"11.22-rds.20240509",
"11.22-rds.20240808",
+ "11.22-rds.20241121",
"12.15",
"12.16",
"12.17",
diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json
index 080adc637d..92fff895cf 100644
--- a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json
+++ b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json
@@ -128,6 +128,7 @@
"12.18",
"12.19",
"12.20",
+ "12.22",
"12.9",
"13.10",
"13.11",
@@ -144,6 +145,7 @@
"14.11",
"14.12",
"14.13",
+ "14.15",
"14.3",
"14.4",
"14.5",
@@ -151,6 +153,7 @@
"14.7",
"14.8",
"14.9",
+ "15.10",
"15.2",
"15.3",
"15.4",
@@ -162,7 +165,8 @@
"16.2",
"16.3",
"16.4",
- "16.4-limitless"
+ "16.4-limitless",
+ "16.6"
]
}
}
@@ -471,6 +475,7 @@
"11.22-rds.20240418",
"11.22-rds.20240509",
"11.22-rds.20240808",
+ "11.22-rds.20241121",
"12",
"12.15",
"12.16",
diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_iot_command/__init__.py b/src/cfnlint/data/schemas/patches/extensions/all/aws_iot_command/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_iot_command/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_iot_command/boto.json
new file mode 100644
index 0000000000..8346649e28
--- /dev/null
+++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_iot_command/boto.json
@@ -0,0 +1,22 @@
+[
+ {
+ "op": "add",
+ "path": "/properties/DisplayName/pattern",
+ "value": "[^\\p{C}]*"
+ },
+ {
+ "op": "add",
+ "path": "/properties/Description/pattern",
+ "value": "[^\\p{C}]*"
+ },
+ {
+ "op": "add",
+ "path": "/definitions/CommandParameterDescription/pattern",
+ "value": "[^\\p{C}]*"
+ },
+ {
+ "op": "add",
+ "path": "/definitions/Tag/properties/Key/pattern",
+ "value": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"
+ }
+]
diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_logs_transformer/__init__.py b/src/cfnlint/data/schemas/patches/extensions/all/aws_logs_transformer/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_networkmanager_directconnectgatewayattachment/__init__.py b/src/cfnlint/data/schemas/patches/extensions/all/aws_networkmanager_directconnectgatewayattachment/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_networkmanager_directconnectgatewayattachment/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_networkmanager_directconnectgatewayattachment/boto.json
new file mode 100644
index 0000000000..a05aec81f0
--- /dev/null
+++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_networkmanager_directconnectgatewayattachment/boto.json
@@ -0,0 +1,27 @@
+[
+ {
+ "op": "add",
+ "path": "/properties/CoreNetworkId/pattern",
+ "value": "^core-network-([0-9a-f]{8,17})$"
+ },
+ {
+ "op": "add",
+ "path": "/properties/DirectConnectGatewayArn/pattern",
+ "value": "^arn:[^:]{1,63}:directconnect::[^:]{0,63}:dx-gateway\\/[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$"
+ },
+ {
+ "op": "add",
+ "path": "/properties/EdgeLocations/items/pattern",
+ "value": "[\\s\\S]*"
+ },
+ {
+ "op": "add",
+ "path": "/definitions/Tag/properties/Key/pattern",
+ "value": "[\\s\\S]*"
+ },
+ {
+ "op": "add",
+ "path": "/definitions/Tag/properties/Value/pattern",
+ "value": "[\\s\\S]*"
+ }
+]
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py
index 32a53e29b3..800f58e7da 100644
--- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py
@@ -554,6 +554,7 @@
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
"AWS::M2::Application",
+ "AWS::M2::Deployment",
"AWS::M2::Environment",
"AWS::MSK::BatchScramSecret",
"AWS::MSK::Cluster",
@@ -998,7 +999,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -1130,7 +1130,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1239,6 +1238,7 @@
"aws-elasticache-replicationgroup.json",
"aws-elasticache-securitygroup.json",
"aws-elasticache-securitygroupingress.json",
+ "aws-elasticache-serverlesscache.json",
"aws-elasticache-subnetgroup.json",
"aws-elasticache-user.json",
"aws-elasticbeanstalk-application.json",
@@ -1379,14 +1379,10 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-m2-application.json",
- "aws-m2-environment.json",
+ "aws-m2-deployment.json",
"aws-macie-allowlist.json",
"aws-macie-session.json",
"aws-mediaconnect-bridge.json",
@@ -1441,7 +1437,6 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-pcaconnectorad-serviceprincipalname.json",
"aws-pcaconnectorad-templategroupaccesscontrolentry.json",
@@ -1458,7 +1453,6 @@
"aws-quicksight-theme.json",
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-customergateway.json
similarity index 91%
rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-customergateway.json
rename to src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-customergateway.json
index f9eff25652..64904e4f63 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-customergateway.json
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-customergateway.json
@@ -41,7 +41,7 @@
"type": "number"
},
"CertificateArn": {
- "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso([a-z]{1})?))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
"type": "string"
},
"CustomerGatewayId": {
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-elasticache-serverlesscache.json
deleted file mode 100644
index 3b7cde6c66..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-elasticache-serverlesscache.json
+++ /dev/null
@@ -1,205 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ServerlessCacheName",
- "/properties/Engine",
- "/properties/MajorEngineVersion",
- "/properties/KmsKeyId",
- "/properties/SnapshotArnsToRestore",
- "/properties/SubnetIds"
- ],
- "definitions": {
- "CacheUsageLimits": {
- "additionalProperties": false,
- "properties": {
- "DataStorage": {
- "$ref": "#/definitions/DataStorage"
- },
- "ECPUPerSecond": {
- "$ref": "#/definitions/ECPUPerSecond"
- }
- },
- "type": "object"
- },
- "DataStorage": {
- "additionalProperties": false,
- "properties": {
- "Maximum": {
- "type": "integer"
- },
- "Minimum": {
- "type": "integer"
- },
- "Unit": {
- "enum": [
- "GB"
- ],
- "type": "string"
- }
- },
- "required": [
- "Unit"
- ],
- "type": "object"
- },
- "ECPUPerSecond": {
- "additionalProperties": false,
- "properties": {
- "Maximum": {
- "type": "integer"
- },
- "Minimum": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Endpoint": {
- "additionalProperties": false,
- "properties": {
- "Address": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)[a-zA-Z0-9 _\\.\\/=+:\\-@]*$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "pattern": "^[a-zA-Z0-9 _\\.\\/=+:\\-@]*$",
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ServerlessCacheName"
- ],
- "properties": {
- "ARN": {
- "type": "string"
- },
- "CacheUsageLimits": {
- "$ref": "#/definitions/CacheUsageLimits"
- },
- "CreateTime": {
- "type": "string"
- },
- "DailySnapshotTime": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Endpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "Engine": {
- "type": "string"
- },
- "FinalSnapshotName": {
- "type": "string"
- },
- "FullEngineVersion": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "MajorEngineVersion": {
- "type": "string"
- },
- "ReaderEndpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "ServerlessCacheName": {
- "type": "string"
- },
- "SnapshotArnsToRestore": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "SnapshotRetentionLimit": {
- "type": "integer"
- },
- "Status": {
- "type": "string"
- },
- "SubnetIds": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": true
- },
- "UserGroupId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/FullEngineVersion",
- "/properties/CreateTime",
- "/properties/Status",
- "/properties/Endpoint/Address",
- "/properties/Endpoint/Port",
- "/properties/ReaderEndpoint/Address",
- "/properties/ReaderEndpoint/Port",
- "/properties/ARN"
- ],
- "required": [
- "ServerlessCacheName",
- "Engine"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticache",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ElastiCache::ServerlessCache",
- "writeOnlyProperties": [
- "/properties/SnapshotArnsToRestore",
- "/properties/FinalSnapshotName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-organizations-policy.json
similarity index 97%
rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-organizations-policy.json
rename to src/cfnlint/data/schemas/providers/af_south_1/aws-organizations-policy.json
index 43a4121a24..eb45adde3d 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-organizations-policy.json
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-organizations-policy.json
@@ -87,8 +87,7 @@
"BACKUP_POLICY",
"TAG_POLICY",
"CHATBOT_POLICY",
- "RESOURCE_CONTROL_POLICY",
- "DECLARATIVE_POLICY_EC2"
+ "RESOURCE_CONTROL_POLICY"
],
"type": "string"
}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-apikey.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ram-resourceshare.json
similarity index 54%
rename from src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-apikey.json
rename to src/cfnlint/data/schemas/providers/af_south_1/aws-ram-resourceshare.json
index 7c24b00f38..e55421c92f 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-apikey.json
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-ram-resourceshare.json
@@ -1,23 +1,6 @@
{
"additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/GenerateDistinctId",
- "/properties/Value"
- ],
"definitions": {
- "StageKey": {
- "additionalProperties": false,
- "properties": {
- "RestApiId": {
- "type": "string"
- },
- "StageName": {
- "type": "string"
- }
- },
- "type": "object"
- },
"Tag": {
"additionalProperties": false,
"properties": {
@@ -39,17 +22,11 @@
"/properties/Id"
],
"properties": {
- "CustomerId": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Enabled": {
+ "AllowExternalPrincipals": {
"type": "boolean"
},
- "GenerateDistinctId": {
- "type": "boolean"
+ "Arn": {
+ "type": "string"
},
"Id": {
"type": "string"
@@ -57,12 +34,33 @@
"Name": {
"type": "string"
},
- "StageKeys": {
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
"items": {
- "$ref": "#/definitions/StageKey"
+ "type": "string"
},
"type": "array",
- "uniqueItems": true
+ "uniqueItems": false
},
"Tags": {
"items": {
@@ -70,13 +68,14 @@
},
"type": "array",
"uniqueItems": false
- },
- "Value": {
- "type": "string"
}
},
"readOnlyProperties": [
- "/properties/Id"
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
],
- "typeName": "AWS::ApiGateway::ApiKey"
+ "typeName": "AWS::RAM::ResourceShare"
}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
index 0e3079cb7b..1463940668 100644
--- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
@@ -479,6 +479,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -798,10 +799,13 @@
"AWS::VpcLattice::AccessLogSubscription",
"AWS::VpcLattice::AuthPolicy",
"AWS::VpcLattice::Listener",
+ "AWS::VpcLattice::ResourceConfiguration",
+ "AWS::VpcLattice::ResourceGateway",
"AWS::VpcLattice::ResourcePolicy",
"AWS::VpcLattice::Rule",
"AWS::VpcLattice::Service",
"AWS::VpcLattice::ServiceNetwork",
+ "AWS::VpcLattice::ServiceNetworkResourceAssociation",
"AWS::VpcLattice::ServiceNetworkServiceAssociation",
"AWS::VpcLattice::ServiceNetworkVpcAssociation",
"AWS::VpcLattice::TargetGroup",
@@ -860,6 +864,7 @@
"aws-apigateway-documentationversion.json",
"aws-apigateway-domainname.json",
"aws-apigateway-domainnameaccessassociation.json",
+ "aws-apigateway-domainnamev2.json",
"aws-apigateway-gatewayresponse.json",
"aws-apigateway-method.json",
"aws-apigateway-model.json",
@@ -964,12 +969,12 @@
"aws-cloudformation-resourceversion.json",
"aws-cloudformation-stack.json",
"aws-cloudformation-stackset.json",
+ "aws-cloudformation-typeactivation.json",
"aws-cloudformation-waitcondition.json",
"aws-cloudformation-waitconditionhandle.json",
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -1076,7 +1081,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1298,6 +1302,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1354,12 +1359,8 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-macie-allowlist.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
@@ -1413,13 +1414,15 @@
"aws-organizations-organizationalunit.json",
"aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
+ "aws-pcaconnectorad-connector.json",
+ "aws-pcaconnectorad-directoryregistration.json",
"aws-pcaconnectorad-serviceprincipalname.json",
+ "aws-pcaconnectorad-template.json",
"aws-pcaconnectorad-templategroupaccesscontrolentry.json",
"aws-pcaconnectorscep-challenge.json",
"aws-pcaconnectorscep-connector.json",
"aws-pipes-pipe.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
@@ -1447,7 +1450,6 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
- "aws-redshiftserverless-workgroup.json",
"aws-resiliencehub-app.json",
"aws-resiliencehub-resiliencypolicy.json",
"aws-resourceexplorer2-defaultviewassociation.json",
@@ -1596,10 +1598,13 @@
"aws-vpclattice-accesslogsubscription.json",
"aws-vpclattice-authpolicy.json",
"aws-vpclattice-listener.json",
+ "aws-vpclattice-resourceconfiguration.json",
+ "aws-vpclattice-resourcegateway.json",
"aws-vpclattice-resourcepolicy.json",
"aws-vpclattice-rule.json",
"aws-vpclattice-service.json",
"aws-vpclattice-servicenetwork.json",
+ "aws-vpclattice-servicenetworkresourceassociation.json",
"aws-vpclattice-servicenetworkserviceassociation.json",
"aws-vpclattice-servicenetworkvpcassociation.json",
"aws-vpclattice-targetgroup.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigateway-domainnamev2.json
deleted file mode 100644
index 04d35d51f4..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigateway-domainnamev2.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DomainName",
- "/properties/SecurityPolicy",
- "/properties/EndpointConfiguration"
- ],
- "definitions": {
- "EndpointConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Types": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/DomainNameArn"
- ],
- "properties": {
- "CertificateArn": {
- "type": "string"
- },
- "DomainName": {
- "type": "string"
- },
- "DomainNameArn": {
- "type": "string"
- },
- "DomainNameId": {
- "type": "string"
- },
- "EndpointConfiguration": {
- "$ref": "#/definitions/EndpointConfiguration"
- },
- "ManagementPolicy": {
- "type": [
- "object",
- "string"
- ]
- },
- "Policy": {
- "type": [
- "object",
- "string"
- ]
- },
- "SecurityPolicy": {
- "type": "string"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/DomainNameId",
- "/properties/DomainNameArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ApiGateway::DomainNameV2"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudformation-typeactivation.json
deleted file mode 100644
index 730262bfac..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudformation-typeactivation.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ExecutionRoleArn",
- "/properties/LoggingConfig",
- "/properties/TypeNameAlias",
- "/properties/TypeName",
- "/properties/Type",
- "/properties/PublisherId",
- "/properties/PublicTypeArn"
- ],
- "definitions": {
- "LoggingConfig": {
- "additionalProperties": false,
- "properties": {
- "LogGroupName": {
- "maxLength": 512,
- "minLength": 1,
- "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
- "type": "string"
- },
- "LogRoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "oneOf": [
- {
- "required": [
- "TypeName",
- "PublisherId",
- "Type"
- ]
- },
- {
- "required": [
- "PublicTypeArn"
- ]
- }
- ],
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "AutoUpdate": {
- "type": "boolean"
- },
- "ExecutionRoleArn": {
- "type": "string"
- },
- "LoggingConfig": {
- "$ref": "#/definitions/LoggingConfig"
- },
- "MajorVersion": {
- "maxLength": 100000,
- "minLength": 1,
- "type": "string"
- },
- "PublicTypeArn": {
- "maxLength": 1024,
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "PublisherId": {
- "maxLength": 40,
- "minLength": 1,
- "pattern": "[0-9a-zA-Z-]{40}",
- "type": "string"
- },
- "Type": {
- "enum": [
- "RESOURCE",
- "MODULE",
- "HOOK"
- ],
- "type": "string"
- },
- "TypeName": {
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "TypeNameAlias": {
- "maxLength": 204,
- "minLength": 10,
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "VersionBump": {
- "enum": [
- "MAJOR",
- "MINOR"
- ],
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation",
- "typeName": "AWS::CloudFormation::TypeActivation"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-connector.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-connector.json
deleted file mode 100644
index 33419e0dab..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-connector.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/CertificateAuthorityArn",
- "/properties/DirectoryId",
- "/properties/VpcInformation"
- ],
- "definitions": {
- "Tags": {
- "additionalProperties": false,
- "patternProperties": {
- ".+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "VpcInformation": {
- "additionalProperties": false,
- "properties": {
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 20,
- "minLength": 11,
- "pattern": "^(?:sg-[0-9a-f]{8}|sg-[0-9a-f]{17})$",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "SecurityGroupIds"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ConnectorArn"
- ],
- "properties": {
- "CertificateAuthorityArn": {
- "maxLength": 200,
- "minLength": 5,
- "pattern": "^arn:[\\w-]+:acm-pca:[\\w-]+:[0-9]+:certificate-authority(\\/[\\w-]+)$",
- "type": "string"
- },
- "ConnectorArn": {
- "maxLength": 200,
- "minLength": 5,
- "pattern": "^arn:[\\w-]+:pca-connector-ad:[\\w-]+:[0-9]+:connector(\\/[\\w-]+)$",
- "type": "string"
- },
- "DirectoryId": {
- "pattern": "^d-[0-9a-f]{10}$",
- "type": "string"
- },
- "Tags": {
- "$ref": "#/definitions/Tags"
- },
- "VpcInformation": {
- "$ref": "#/definitions/VpcInformation"
- }
- },
- "readOnlyProperties": [
- "/properties/ConnectorArn"
- ],
- "required": [
- "CertificateAuthorityArn",
- "DirectoryId",
- "VpcInformation"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::PCAConnectorAD::Connector",
- "writeOnlyProperties": [
- "/properties/CertificateAuthorityArn",
- "/properties/DirectoryId",
- "/properties/Tags",
- "/properties/VpcInformation"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-directoryregistration.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-directoryregistration.json
deleted file mode 100644
index 32656e63ba..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-directoryregistration.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DirectoryId"
- ],
- "definitions": {
- "Tags": {
- "additionalProperties": false,
- "patternProperties": {
- ".+": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/DirectoryRegistrationArn"
- ],
- "properties": {
- "DirectoryId": {
- "pattern": "^d-[0-9a-f]{10}$",
- "type": "string"
- },
- "DirectoryRegistrationArn": {
- "maxLength": 200,
- "minLength": 5,
- "pattern": "^arn:[\\w-]+:pca-connector-ad:[\\w-]+:[0-9]+:directory-registration(\\/[\\w-]+)$",
- "type": "string"
- },
- "Tags": {
- "$ref": "#/definitions/Tags"
- }
- },
- "readOnlyProperties": [
- "/properties/DirectoryRegistrationArn"
- ],
- "required": [
- "DirectoryId"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::PCAConnectorAD::DirectoryRegistration",
- "writeOnlyProperties": [
- "/properties/DirectoryId",
- "/properties/Tags"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-template.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-template.json
deleted file mode 100644
index fbf58aaa73..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-template.json
+++ /dev/null
@@ -1,994 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ConnectorArn",
- "/properties/Name"
- ],
- "definitions": {
- "ApplicationPolicies": {
- "additionalProperties": false,
- "properties": {
- "Critical": {
- "type": "boolean"
- },
- "Policies": {
- "items": {
- "$ref": "#/definitions/ApplicationPolicy"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Policies"
- ],
- "type": "object"
- },
- "ApplicationPolicy": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "PolicyType": {
- "$ref": "#/definitions/ApplicationPolicyType"
- }
- },
- "required": [
- "PolicyType"
- ],
- "title": "PolicyType",
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "PolicyObjectIdentifier": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^([0-2])\\.([0-9]|([0-3][0-9]))(\\.([0-9]+)){0,126}$",
- "type": "string"
- }
- },
- "required": [
- "PolicyObjectIdentifier"
- ],
- "title": "PolicyObjectIdentifier",
- "type": "object"
- }
- ]
- },
- "ApplicationPolicyType": {
- "enum": [
- "ALL_APPLICATION_POLICIES",
- "ANY_PURPOSE",
- "ATTESTATION_IDENTITY_KEY_CERTIFICATE",
- "CERTIFICATE_REQUEST_AGENT",
- "CLIENT_AUTHENTICATION",
- "CODE_SIGNING",
- "CTL_USAGE",
- "DIGITAL_RIGHTS",
- "DIRECTORY_SERVICE_EMAIL_REPLICATION",
- "DISALLOWED_LIST",
- "DNS_SERVER_TRUST",
- "DOCUMENT_ENCRYPTION",
- "DOCUMENT_SIGNING",
- "DYNAMIC_CODE_GENERATOR",
- "EARLY_LAUNCH_ANTIMALWARE_DRIVER",
- "EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION",
- "ENCLAVE",
- "ENCRYPTING_FILE_SYSTEM",
- "ENDORSEMENT_KEY_CERTIFICATE",
- "FILE_RECOVERY",
- "HAL_EXTENSION",
- "IP_SECURITY_END_SYSTEM",
- "IP_SECURITY_IKE_INTERMEDIATE",
- "IP_SECURITY_TUNNEL_TERMINATION",
- "IP_SECURITY_USER",
- "ISOLATED_USER_MODE",
- "KDC_AUTHENTICATION",
- "KERNEL_MODE_CODE_SIGNING",
- "KEY_PACK_LICENSES",
- "KEY_RECOVERY",
- "KEY_RECOVERY_AGENT",
- "LICENSE_SERVER_VERIFICATION",
- "LIFETIME_SIGNING",
- "MICROSOFT_PUBLISHER",
- "MICROSOFT_TIME_STAMPING",
- "MICROSOFT_TRUST_LIST_SIGNING",
- "OCSP_SIGNING",
- "OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION",
- "PLATFORM_CERTIFICATE",
- "PREVIEW_BUILD_SIGNING",
- "PRIVATE_KEY_ARCHIVAL",
- "PROTECTED_PROCESS_LIGHT_VERIFICATION",
- "PROTECTED_PROCESS_VERIFICATION",
- "QUALIFIED_SUBORDINATION",
- "REVOKED_LIST_SIGNER",
- "ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION",
- "ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION",
- "ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL",
- "ROOT_LIST_SIGNER",
- "SECURE_EMAIL",
- "SERVER_AUTHENTICATION",
- "SMART_CARD_LOGIN",
- "SPC_ENCRYPTED_DIGEST_RETRY_COUNT",
- "SPC_RELAXED_PE_MARKER_CHECK",
- "TIME_STAMPING",
- "WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION",
- "WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION",
- "WINDOWS_HARDWARE_DRIVER_VERIFICATION",
- "WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION",
- "WINDOWS_KITS_COMPONENT",
- "WINDOWS_RT_VERIFICATION",
- "WINDOWS_SOFTWARE_EXTENSION_VERIFICATION",
- "WINDOWS_STORE",
- "WINDOWS_SYSTEM_COMPONENT_VERIFICATION",
- "WINDOWS_TCB_COMPONENT",
- "WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT",
- "WINDOWS_UPDATE"
- ],
- "type": "string"
- },
- "CertificateValidity": {
- "additionalProperties": false,
- "properties": {
- "RenewalPeriod": {
- "$ref": "#/definitions/ValidityPeriod"
- },
- "ValidityPeriod": {
- "$ref": "#/definitions/ValidityPeriod"
- }
- },
- "required": [
- "RenewalPeriod",
- "ValidityPeriod"
- ],
- "type": "object"
- },
- "ClientCompatibilityV2": {
- "enum": [
- "WINDOWS_SERVER_2003",
- "WINDOWS_SERVER_2008",
- "WINDOWS_SERVER_2008_R2",
- "WINDOWS_SERVER_2012",
- "WINDOWS_SERVER_2012_R2",
- "WINDOWS_SERVER_2016"
- ],
- "type": "string"
- },
- "ClientCompatibilityV3": {
- "enum": [
- "WINDOWS_SERVER_2008",
- "WINDOWS_SERVER_2008_R2",
- "WINDOWS_SERVER_2012",
- "WINDOWS_SERVER_2012_R2",
- "WINDOWS_SERVER_2016"
- ],
- "type": "string"
- },
- "ClientCompatibilityV4": {
- "enum": [
- "WINDOWS_SERVER_2012",
- "WINDOWS_SERVER_2012_R2",
- "WINDOWS_SERVER_2016"
- ],
- "type": "string"
- },
- "EnrollmentFlagsV2": {
- "additionalProperties": false,
- "properties": {
- "EnableKeyReuseOnNtTokenKeysetStorageFull": {
- "type": "boolean"
- },
- "IncludeSymmetricAlgorithms": {
- "type": "boolean"
- },
- "NoSecurityExtension": {
- "type": "boolean"
- },
- "RemoveInvalidCertificateFromPersonalStore": {
- "type": "boolean"
- },
- "UserInteractionRequired": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "EnrollmentFlagsV3": {
- "additionalProperties": false,
- "properties": {
- "EnableKeyReuseOnNtTokenKeysetStorageFull": {
- "type": "boolean"
- },
- "IncludeSymmetricAlgorithms": {
- "type": "boolean"
- },
- "NoSecurityExtension": {
- "type": "boolean"
- },
- "RemoveInvalidCertificateFromPersonalStore": {
- "type": "boolean"
- },
- "UserInteractionRequired": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "EnrollmentFlagsV4": {
- "additionalProperties": false,
- "properties": {
- "EnableKeyReuseOnNtTokenKeysetStorageFull": {
- "type": "boolean"
- },
- "IncludeSymmetricAlgorithms": {
- "type": "boolean"
- },
- "NoSecurityExtension": {
- "type": "boolean"
- },
- "RemoveInvalidCertificateFromPersonalStore": {
- "type": "boolean"
- },
- "UserInteractionRequired": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ExtensionsV2": {
- "additionalProperties": false,
- "properties": {
- "ApplicationPolicies": {
- "$ref": "#/definitions/ApplicationPolicies"
- },
- "KeyUsage": {
- "$ref": "#/definitions/KeyUsage"
- }
- },
- "required": [
- "KeyUsage"
- ],
- "type": "object"
- },
- "ExtensionsV3": {
- "additionalProperties": false,
- "properties": {
- "ApplicationPolicies": {
- "$ref": "#/definitions/ApplicationPolicies"
- },
- "KeyUsage": {
- "$ref": "#/definitions/KeyUsage"
- }
- },
- "required": [
- "KeyUsage"
- ],
- "type": "object"
- },
- "ExtensionsV4": {
- "additionalProperties": false,
- "properties": {
- "ApplicationPolicies": {
- "$ref": "#/definitions/ApplicationPolicies"
- },
- "KeyUsage": {
- "$ref": "#/definitions/KeyUsage"
- }
- },
- "required": [
- "KeyUsage"
- ],
- "type": "object"
- },
- "GeneralFlagsV2": {
- "additionalProperties": false,
- "properties": {
- "AutoEnrollment": {
- "type": "boolean"
- },
- "MachineType": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "GeneralFlagsV3": {
- "additionalProperties": false,
- "properties": {
- "AutoEnrollment": {
- "type": "boolean"
- },
- "MachineType": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "GeneralFlagsV4": {
- "additionalProperties": false,
- "properties": {
- "AutoEnrollment": {
- "type": "boolean"
- },
- "MachineType": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "HashAlgorithm": {
- "enum": [
- "SHA256",
- "SHA384",
- "SHA512"
- ],
- "type": "string"
- },
- "KeySpec": {
- "enum": [
- "KEY_EXCHANGE",
- "SIGNATURE"
- ],
- "type": "string"
- },
- "KeyUsage": {
- "additionalProperties": false,
- "properties": {
- "Critical": {
- "type": "boolean"
- },
- "UsageFlags": {
- "$ref": "#/definitions/KeyUsageFlags"
- }
- },
- "required": [
- "UsageFlags"
- ],
- "type": "object"
- },
- "KeyUsageFlags": {
- "additionalProperties": false,
- "properties": {
- "DataEncipherment": {
- "type": "boolean"
- },
- "DigitalSignature": {
- "type": "boolean"
- },
- "KeyAgreement": {
- "type": "boolean"
- },
- "KeyEncipherment": {
- "type": "boolean"
- },
- "NonRepudiation": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "KeyUsageProperty": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "PropertyType": {
- "$ref": "#/definitions/KeyUsagePropertyType"
- }
- },
- "required": [
- "PropertyType"
- ],
- "title": "PropertyType",
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "PropertyFlags": {
- "$ref": "#/definitions/KeyUsagePropertyFlags"
- }
- },
- "required": [
- "PropertyFlags"
- ],
- "title": "PropertyFlags",
- "type": "object"
- }
- ]
- },
- "KeyUsagePropertyFlags": {
- "additionalProperties": false,
- "properties": {
- "Decrypt": {
- "type": "boolean"
- },
- "KeyAgreement": {
- "type": "boolean"
- },
- "Sign": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "KeyUsagePropertyType": {
- "enum": [
- "ALL"
- ],
- "type": "string"
- },
- "PrivateKeyAlgorithm": {
- "enum": [
- "RSA",
- "ECDH_P256",
- "ECDH_P384",
- "ECDH_P521"
- ],
- "type": "string"
- },
- "PrivateKeyAttributesV2": {
- "additionalProperties": false,
- "properties": {
- "CryptoProviders": {
- "items": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "KeySpec": {
- "$ref": "#/definitions/KeySpec"
- },
- "MinimalKeyLength": {
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "KeySpec",
- "MinimalKeyLength"
- ],
- "type": "object"
- },
- "PrivateKeyAttributesV3": {
- "additionalProperties": false,
- "properties": {
- "Algorithm": {
- "$ref": "#/definitions/PrivateKeyAlgorithm"
- },
- "CryptoProviders": {
- "items": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "KeySpec": {
- "$ref": "#/definitions/KeySpec"
- },
- "KeyUsageProperty": {
- "$ref": "#/definitions/KeyUsageProperty"
- },
- "MinimalKeyLength": {
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "Algorithm",
- "KeySpec",
- "KeyUsageProperty",
- "MinimalKeyLength"
- ],
- "type": "object"
- },
- "PrivateKeyAttributesV4": {
- "additionalProperties": false,
- "properties": {
- "Algorithm": {
- "$ref": "#/definitions/PrivateKeyAlgorithm"
- },
- "CryptoProviders": {
- "items": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "KeySpec": {
- "$ref": "#/definitions/KeySpec"
- },
- "KeyUsageProperty": {
- "$ref": "#/definitions/KeyUsageProperty"
- },
- "MinimalKeyLength": {
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "KeySpec",
- "MinimalKeyLength"
- ],
- "type": "object"
- },
- "PrivateKeyFlagsV2": {
- "additionalProperties": false,
- "properties": {
- "ClientVersion": {
- "$ref": "#/definitions/ClientCompatibilityV2"
- },
- "ExportableKey": {
- "type": "boolean"
- },
- "StrongKeyProtectionRequired": {
- "type": "boolean"
- }
- },
- "required": [
- "ClientVersion"
- ],
- "type": "object"
- },
- "PrivateKeyFlagsV3": {
- "additionalProperties": false,
- "properties": {
- "ClientVersion": {
- "$ref": "#/definitions/ClientCompatibilityV3"
- },
- "ExportableKey": {
- "type": "boolean"
- },
- "RequireAlternateSignatureAlgorithm": {
- "type": "boolean"
- },
- "StrongKeyProtectionRequired": {
- "type": "boolean"
- }
- },
- "required": [
- "ClientVersion"
- ],
- "type": "object"
- },
- "PrivateKeyFlagsV4": {
- "additionalProperties": false,
- "properties": {
- "ClientVersion": {
- "$ref": "#/definitions/ClientCompatibilityV4"
- },
- "ExportableKey": {
- "type": "boolean"
- },
- "RequireAlternateSignatureAlgorithm": {
- "type": "boolean"
- },
- "RequireSameKeyRenewal": {
- "type": "boolean"
- },
- "StrongKeyProtectionRequired": {
- "type": "boolean"
- },
- "UseLegacyProvider": {
- "type": "boolean"
- }
- },
- "required": [
- "ClientVersion"
- ],
- "type": "object"
- },
- "SubjectNameFlagsV2": {
- "additionalProperties": false,
- "properties": {
- "RequireCommonName": {
- "type": "boolean"
- },
- "RequireDirectoryPath": {
- "type": "boolean"
- },
- "RequireDnsAsCn": {
- "type": "boolean"
- },
- "RequireEmail": {
- "type": "boolean"
- },
- "SanRequireDirectoryGuid": {
- "type": "boolean"
- },
- "SanRequireDns": {
- "type": "boolean"
- },
- "SanRequireDomainDns": {
- "type": "boolean"
- },
- "SanRequireEmail": {
- "type": "boolean"
- },
- "SanRequireSpn": {
- "type": "boolean"
- },
- "SanRequireUpn": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "SubjectNameFlagsV3": {
- "additionalProperties": false,
- "properties": {
- "RequireCommonName": {
- "type": "boolean"
- },
- "RequireDirectoryPath": {
- "type": "boolean"
- },
- "RequireDnsAsCn": {
- "type": "boolean"
- },
- "RequireEmail": {
- "type": "boolean"
- },
- "SanRequireDirectoryGuid": {
- "type": "boolean"
- },
- "SanRequireDns": {
- "type": "boolean"
- },
- "SanRequireDomainDns": {
- "type": "boolean"
- },
- "SanRequireEmail": {
- "type": "boolean"
- },
- "SanRequireSpn": {
- "type": "boolean"
- },
- "SanRequireUpn": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "SubjectNameFlagsV4": {
- "additionalProperties": false,
- "properties": {
- "RequireCommonName": {
- "type": "boolean"
- },
- "RequireDirectoryPath": {
- "type": "boolean"
- },
- "RequireDnsAsCn": {
- "type": "boolean"
- },
- "RequireEmail": {
- "type": "boolean"
- },
- "SanRequireDirectoryGuid": {
- "type": "boolean"
- },
- "SanRequireDns": {
- "type": "boolean"
- },
- "SanRequireDomainDns": {
- "type": "boolean"
- },
- "SanRequireEmail": {
- "type": "boolean"
- },
- "SanRequireSpn": {
- "type": "boolean"
- },
- "SanRequireUpn": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "Tags": {
- "additionalProperties": false,
- "patternProperties": {
- ".+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "TemplateDefinition": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "TemplateV2": {
- "$ref": "#/definitions/TemplateV2"
- }
- },
- "required": [
- "TemplateV2"
- ],
- "title": "TemplateV2",
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "TemplateV3": {
- "$ref": "#/definitions/TemplateV3"
- }
- },
- "required": [
- "TemplateV3"
- ],
- "title": "TemplateV3",
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "TemplateV4": {
- "$ref": "#/definitions/TemplateV4"
- }
- },
- "required": [
- "TemplateV4"
- ],
- "title": "TemplateV4",
- "type": "object"
- }
- ]
- },
- "TemplateV2": {
- "additionalProperties": false,
- "properties": {
- "CertificateValidity": {
- "$ref": "#/definitions/CertificateValidity"
- },
- "EnrollmentFlags": {
- "$ref": "#/definitions/EnrollmentFlagsV2"
- },
- "Extensions": {
- "$ref": "#/definitions/ExtensionsV2"
- },
- "GeneralFlags": {
- "$ref": "#/definitions/GeneralFlagsV2"
- },
- "PrivateKeyAttributes": {
- "$ref": "#/definitions/PrivateKeyAttributesV2"
- },
- "PrivateKeyFlags": {
- "$ref": "#/definitions/PrivateKeyFlagsV2"
- },
- "SubjectNameFlags": {
- "$ref": "#/definitions/SubjectNameFlagsV2"
- },
- "SupersededTemplates": {
- "items": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^(?!^\\s+$)((?![\\x5c'\\x2b,;<=>#\\x22])([\\x20-\\x7E]))+$",
- "type": "string"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "CertificateValidity",
- "EnrollmentFlags",
- "Extensions",
- "GeneralFlags",
- "PrivateKeyAttributes",
- "PrivateKeyFlags",
- "SubjectNameFlags"
- ],
- "type": "object"
- },
- "TemplateV3": {
- "additionalProperties": false,
- "properties": {
- "CertificateValidity": {
- "$ref": "#/definitions/CertificateValidity"
- },
- "EnrollmentFlags": {
- "$ref": "#/definitions/EnrollmentFlagsV3"
- },
- "Extensions": {
- "$ref": "#/definitions/ExtensionsV3"
- },
- "GeneralFlags": {
- "$ref": "#/definitions/GeneralFlagsV3"
- },
- "HashAlgorithm": {
- "$ref": "#/definitions/HashAlgorithm"
- },
- "PrivateKeyAttributes": {
- "$ref": "#/definitions/PrivateKeyAttributesV3"
- },
- "PrivateKeyFlags": {
- "$ref": "#/definitions/PrivateKeyFlagsV3"
- },
- "SubjectNameFlags": {
- "$ref": "#/definitions/SubjectNameFlagsV3"
- },
- "SupersededTemplates": {
- "items": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^(?!^\\s+$)((?![\\x5c'\\x2b,;<=>#\\x22])([\\x20-\\x7E]))+$",
- "type": "string"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "CertificateValidity",
- "EnrollmentFlags",
- "Extensions",
- "GeneralFlags",
- "HashAlgorithm",
- "PrivateKeyAttributes",
- "PrivateKeyFlags",
- "SubjectNameFlags"
- ],
- "type": "object"
- },
- "TemplateV4": {
- "additionalProperties": false,
- "properties": {
- "CertificateValidity": {
- "$ref": "#/definitions/CertificateValidity"
- },
- "EnrollmentFlags": {
- "$ref": "#/definitions/EnrollmentFlagsV4"
- },
- "Extensions": {
- "$ref": "#/definitions/ExtensionsV4"
- },
- "GeneralFlags": {
- "$ref": "#/definitions/GeneralFlagsV4"
- },
- "HashAlgorithm": {
- "$ref": "#/definitions/HashAlgorithm"
- },
- "PrivateKeyAttributes": {
- "$ref": "#/definitions/PrivateKeyAttributesV4"
- },
- "PrivateKeyFlags": {
- "$ref": "#/definitions/PrivateKeyFlagsV4"
- },
- "SubjectNameFlags": {
- "$ref": "#/definitions/SubjectNameFlagsV4"
- },
- "SupersededTemplates": {
- "items": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^(?!^\\s+$)((?![\\x5c'\\x2b,;<=>#\\x22])([\\x20-\\x7E]))+$",
- "type": "string"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "CertificateValidity",
- "EnrollmentFlags",
- "Extensions",
- "GeneralFlags",
- "PrivateKeyAttributes",
- "PrivateKeyFlags",
- "SubjectNameFlags"
- ],
- "type": "object"
- },
- "ValidityPeriod": {
- "additionalProperties": false,
- "properties": {
- "Period": {
- "maximum": 8766000,
- "minimum": 1,
- "type": "number"
- },
- "PeriodType": {
- "$ref": "#/definitions/ValidityPeriodType"
- }
- },
- "required": [
- "Period",
- "PeriodType"
- ],
- "type": "object"
- },
- "ValidityPeriodType": {
- "enum": [
- "HOURS",
- "DAYS",
- "WEEKS",
- "MONTHS",
- "YEARS"
- ],
- "type": "string"
- }
- },
- "primaryIdentifier": [
- "/properties/TemplateArn"
- ],
- "properties": {
- "ConnectorArn": {
- "maxLength": 200,
- "minLength": 5,
- "pattern": "^arn:[\\w-]+:pca-connector-ad:[\\w-]+:[0-9]+:connector\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$",
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/TemplateDefinition"
- },
- "Name": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^(?!^\\s+$)((?![\\x5c'\\x2b,;<=>#\\x22])([\\x20-\\x7E]))+$",
- "type": "string"
- },
- "ReenrollAllCertificateHolders": {
- "type": "boolean"
- },
- "Tags": {
- "$ref": "#/definitions/Tags"
- },
- "TemplateArn": {
- "maxLength": 200,
- "minLength": 5,
- "pattern": "^arn:[\\w-]+:pca-connector-ad:[\\w-]+:[0-9]+:connector\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}\\/template\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/TemplateArn"
- ],
- "required": [
- "ConnectorArn",
- "Definition",
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcaconnectorad",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::PCAConnectorAD::Template",
- "writeOnlyProperties": [
- "/properties/ConnectorArn",
- "/properties/Definition",
- "/properties/Name",
- "/properties/ReenrollAllCertificateHolders",
- "/properties/Tags"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-redshiftserverless-workgroup.json
similarity index 92%
rename from src/cfnlint/data/schemas/providers/eu_north_1/aws-redshiftserverless-workgroup.json
rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-redshiftserverless-workgroup.json
index 607749193c..60a6356907 100644
--- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-redshiftserverless-workgroup.json
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-redshiftserverless-workgroup.json
@@ -59,27 +59,6 @@
},
"type": "object"
},
- "PerformanceTarget": {
- "additionalProperties": false,
- "properties": {
- "Level": {
- "maximum": 100,
- "minimum": 1,
- "type": "integer"
- },
- "Status": {
- "$ref": "#/definitions/PerformanceTargetStatus"
- }
- },
- "type": "object"
- },
- "PerformanceTargetStatus": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
"Tag": {
"additionalProperties": false,
"properties": {
@@ -152,9 +131,6 @@
"pattern": "^[a-z0-9-]+$",
"type": "string"
},
- "PricePerformanceTarget": {
- "$ref": "#/definitions/PerformanceTarget"
- },
"PubliclyAccessible": {
"type": "boolean"
},
@@ -240,10 +216,6 @@
"Port": {
"type": "integer"
},
- "PricePerformanceTarget": {
- "$ref": "#/definitions/PerformanceTarget",
- "type": "object"
- },
"PubliclyAccessible": {
"default": false,
"type": "boolean"
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py
index fa46ad6678..fa7b7c23cf 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py
@@ -671,6 +671,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -805,6 +806,7 @@
"AWS::LookoutMetrics::AnomalyDetector",
"AWS::LookoutVision::Project",
"AWS::M2::Application",
+ "AWS::M2::Deployment",
"AWS::M2::Environment",
"AWS::MSK::BatchScramSecret",
"AWS::MSK::Cluster",
@@ -866,6 +868,7 @@
"AWS::MediaTailor::VodSource",
"AWS::MemoryDB::ACL",
"AWS::MemoryDB::Cluster",
+ "AWS::MemoryDB::MultiRegionCluster",
"AWS::MemoryDB::ParameterGroup",
"AWS::MemoryDB::SubnetGroup",
"AWS::MemoryDB::User",
@@ -1226,10 +1229,13 @@
"AWS::VpcLattice::AccessLogSubscription",
"AWS::VpcLattice::AuthPolicy",
"AWS::VpcLattice::Listener",
+ "AWS::VpcLattice::ResourceConfiguration",
+ "AWS::VpcLattice::ResourceGateway",
"AWS::VpcLattice::ResourcePolicy",
"AWS::VpcLattice::Rule",
"AWS::VpcLattice::Service",
"AWS::VpcLattice::ServiceNetwork",
+ "AWS::VpcLattice::ServiceNetworkResourceAssociation",
"AWS::VpcLattice::ServiceNetworkServiceAssociation",
"AWS::VpcLattice::ServiceNetworkVpcAssociation",
"AWS::VpcLattice::TargetGroup",
@@ -1450,8 +1456,6 @@
"aws-chatbot-slackchannelconfiguration.json",
"aws-cleanrooms-analysistemplate.json",
"aws-cleanrooms-collaboration.json",
- "aws-cleanrooms-configuredtable.json",
- "aws-cleanrooms-configuredtableassociation.json",
"aws-cleanrooms-idmappingtable.json",
"aws-cleanrooms-idnamespaceassociation.json",
"aws-cleanrooms-membership.json",
@@ -1479,7 +1483,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -1563,6 +1566,7 @@
"aws-connect-phonenumber.json",
"aws-connect-predefinedattribute.json",
"aws-connect-prompt.json",
+ "aws-connect-queue.json",
"aws-connect-quickconnect.json",
"aws-connect-routingprofile.json",
"aws-connect-rule.json",
@@ -1940,6 +1944,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -2012,6 +2017,7 @@
"aws-kafkaconnect-workerconfiguration.json",
"aws-kendra-datasource.json",
"aws-kendra-faq.json",
+ "aws-kendra-index.json",
"aws-kendraranking-executionplan.json",
"aws-kinesis-resourcepolicy.json",
"aws-kinesis-stream.json",
@@ -2077,17 +2083,13 @@
"aws-logs-destination.json",
"aws-logs-integration.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-lookoutmetrics-alert.json",
"aws-lookoutmetrics-anomalydetector.json",
"aws-lookoutvision-project.json",
"aws-m2-application.json",
- "aws-m2-environment.json",
+ "aws-m2-deployment.json",
"aws-macie-allowlist.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
@@ -2138,6 +2140,8 @@
"aws-mediatailor-sourcelocation.json",
"aws-mediatailor-vodsource.json",
"aws-memorydb-acl.json",
+ "aws-memorydb-cluster.json",
+ "aws-memorydb-multiregioncluster.json",
"aws-memorydb-parametergroup.json",
"aws-memorydb-subnetgroup.json",
"aws-memorydb-user.json",
@@ -2198,7 +2202,6 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-osis-pipeline.json",
"aws-paymentcryptography-alias.json",
@@ -2414,7 +2417,6 @@
"aws-servicediscovery-privatednsnamespace.json",
"aws-servicediscovery-publicdnsnamespace.json",
"aws-servicediscovery-service.json",
- "aws-ses-configurationset.json",
"aws-ses-configurationseteventdestination.json",
"aws-ses-contactlist.json",
"aws-ses-dedicatedippool.json",
@@ -2494,10 +2496,13 @@
"aws-vpclattice-accesslogsubscription.json",
"aws-vpclattice-authpolicy.json",
"aws-vpclattice-listener.json",
+ "aws-vpclattice-resourceconfiguration.json",
+ "aws-vpclattice-resourcegateway.json",
"aws-vpclattice-resourcepolicy.json",
"aws-vpclattice-rule.json",
"aws-vpclattice-service.json",
"aws-vpclattice-servicenetwork.json",
+ "aws-vpclattice-servicenetworkresourceassociation.json",
"aws-vpclattice-servicenetworkserviceassociation.json",
"aws-vpclattice-servicenetworkvpcassociation.json",
"aws-vpclattice-targetgroup.json",
@@ -2538,7 +2543,6 @@
"aws-wisdom-messagetemplateversion.json",
"aws-workspaces-connectionalias.json",
"aws-workspaces-workspace.json",
- "aws-workspaces-workspacespool.json",
"aws-workspacesweb-browsersettings.json",
"aws-workspacesweb-dataprotectionsettings.json",
"aws-workspacesweb-identityprovider.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtable.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtable.json
new file mode 100644
index 0000000000..2fb41ebe1b
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtable.json
@@ -0,0 +1,531 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AllowedColumns",
+ "/properties/AnalysisMethod",
+ "/properties/TableReference"
+ ],
+ "definitions": {
+ "AdditionalAnalyses": {
+ "enum": [
+ "ALLOWED",
+ "REQUIRED",
+ "NOT_ALLOWED"
+ ],
+ "type": "string"
+ },
+ "AggregateColumn": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "Function": {
+ "$ref": "#/definitions/AggregateFunctionName"
+ }
+ },
+ "required": [
+ "ColumnNames",
+ "Function"
+ ],
+ "type": "object"
+ },
+ "AggregateFunctionName": {
+ "enum": [
+ "SUM",
+ "SUM_DISTINCT",
+ "COUNT",
+ "COUNT_DISTINCT",
+ "AVG"
+ ],
+ "type": "string"
+ },
+ "AggregationConstraint": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "Minimum": {
+ "maximum": 100000,
+ "minimum": 2,
+ "type": "number"
+ },
+ "Type": {
+ "$ref": "#/definitions/AggregationType"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "Minimum",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "AggregationType": {
+ "enum": [
+ "COUNT_DISTINCT"
+ ],
+ "type": "string"
+ },
+ "AllowedAnalyses": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AllowedAnalysis"
+ },
+ "minItems": 0,
+ "type": "array"
+ },
+ "AllowedAnalysis": {
+ "maxLength": 200,
+ "minLength": 0,
+ "pattern": "(ANY_QUERY|arn:[\\w]{3}:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/analysistemplate/[\\d\\w-]+)",
+ "type": "string"
+ },
+ "AllowedAnalysisProvider": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "\\d+",
+ "type": "string"
+ },
+ "AllowedAnalysisProviders": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AllowedAnalysisProvider"
+ },
+ "minItems": 0,
+ "type": "array"
+ },
+ "AnalysisMethod": {
+ "enum": [
+ "DIRECT_QUERY"
+ ],
+ "type": "string"
+ },
+ "AnalysisRule": {
+ "additionalProperties": false,
+ "properties": {
+ "Policy": {
+ "$ref": "#/definitions/ConfiguredTableAnalysisRulePolicy"
+ },
+ "Type": {
+ "$ref": "#/definitions/ConfiguredTableAnalysisRuleType"
+ }
+ },
+ "required": [
+ "Type",
+ "Policy"
+ ],
+ "type": "object"
+ },
+ "AnalysisRuleAggregation": {
+ "additionalProperties": false,
+ "properties": {
+ "AdditionalAnalyses": {
+ "$ref": "#/definitions/AdditionalAnalyses"
+ },
+ "AggregateColumns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AggregateColumn"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "AllowedJoinOperators": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/JoinOperator"
+ },
+ "maxItems": 2,
+ "type": "array"
+ },
+ "DimensionColumns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "type": "array"
+ },
+ "JoinColumns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "type": "array"
+ },
+ "JoinRequired": {
+ "$ref": "#/definitions/JoinRequiredOption"
+ },
+ "OutputConstraints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AggregationConstraint"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "ScalarFunctions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ScalarFunctions"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "AggregateColumns",
+ "JoinColumns",
+ "DimensionColumns",
+ "ScalarFunctions",
+ "OutputConstraints"
+ ],
+ "type": "object"
+ },
+ "AnalysisRuleColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "pattern": "^[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?$",
+ "type": "string"
+ },
+ "AnalysisRuleCustom": {
+ "additionalProperties": false,
+ "properties": {
+ "AdditionalAnalyses": {
+ "$ref": "#/definitions/AdditionalAnalyses"
+ },
+ "AllowedAnalyses": {
+ "$ref": "#/definitions/AllowedAnalyses"
+ },
+ "AllowedAnalysisProviders": {
+ "$ref": "#/definitions/AllowedAnalysisProviders"
+ },
+ "DifferentialPrivacy": {
+ "$ref": "#/definitions/DifferentialPrivacy"
+ },
+ "DisallowedOutputColumns": {
+ "$ref": "#/definitions/DisallowedOutputColumns"
+ }
+ },
+ "required": [
+ "AllowedAnalyses"
+ ],
+ "type": "object"
+ },
+ "AnalysisRuleList": {
+ "additionalProperties": false,
+ "properties": {
+ "AdditionalAnalyses": {
+ "$ref": "#/definitions/AdditionalAnalyses"
+ },
+ "AllowedJoinOperators": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/JoinOperator"
+ },
+ "maxItems": 2,
+ "type": "array"
+ },
+ "JoinColumns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "ListColumns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "JoinColumns",
+ "ListColumns"
+ ],
+ "type": "object"
+ },
+ "ConfiguredTableAnalysisRulePolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "V1": {
+ "$ref": "#/definitions/ConfiguredTableAnalysisRulePolicyV1"
+ }
+ },
+ "required": [
+ "V1"
+ ],
+ "title": "V1",
+ "type": "object"
+ },
+ "ConfiguredTableAnalysisRulePolicyV1": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "List": {
+ "$ref": "#/definitions/AnalysisRuleList"
+ }
+ },
+ "required": [
+ "List"
+ ],
+ "title": "List",
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Aggregation": {
+ "$ref": "#/definitions/AnalysisRuleAggregation"
+ }
+ },
+ "required": [
+ "Aggregation"
+ ],
+ "title": "Aggregation",
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Custom": {
+ "$ref": "#/definitions/AnalysisRuleCustom"
+ }
+ },
+ "required": [
+ "Custom"
+ ],
+ "title": "Custom",
+ "type": "object"
+ }
+ ]
+ },
+ "ConfiguredTableAnalysisRuleType": {
+ "enum": [
+ "AGGREGATION",
+ "LIST",
+ "CUSTOM"
+ ],
+ "type": "string"
+ },
+ "DifferentialPrivacy": {
+ "additionalProperties": false,
+ "properties": {
+ "Columns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/DifferentialPrivacyColumn"
+ },
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Columns"
+ ],
+ "type": "object"
+ },
+ "DifferentialPrivacyColumn": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "DisallowedOutputColumns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "minItems": 0,
+ "type": "array"
+ },
+ "GlueTableReference": {
+ "additionalProperties": false,
+ "properties": {
+ "DatabaseName": {
+ "maxLength": 128,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ },
+ "TableName": {
+ "maxLength": 128,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DatabaseName",
+ "TableName"
+ ],
+ "type": "object"
+ },
+ "JoinOperator": {
+ "enum": [
+ "OR",
+ "AND"
+ ],
+ "type": "string"
+ },
+ "JoinRequiredOption": {
+ "enum": [
+ "QUERY_RUNNER"
+ ],
+ "type": "string"
+ },
+ "ScalarFunctions": {
+ "enum": [
+ "TRUNC",
+ "ABS",
+ "CEILING",
+ "FLOOR",
+ "LN",
+ "LOG",
+ "ROUND",
+ "SQRT",
+ "CAST",
+ "LOWER",
+ "RTRIM",
+ "UPPER",
+ "COALESCE",
+ "CONVERT",
+ "CURRENT_DATE",
+ "DATEADD",
+ "EXTRACT",
+ "GETDATE",
+ "SUBSTRING",
+ "TO_CHAR",
+ "TO_DATE",
+ "TO_NUMBER",
+ "TO_TIMESTAMP",
+ "TRIM"
+ ],
+ "type": "string"
+ },
+ "TableReference": {
+ "additionalProperties": false,
+ "properties": {
+ "Glue": {
+ "$ref": "#/definitions/GlueTableReference"
+ }
+ },
+ "required": [
+ "Glue"
+ ],
+ "title": "Glue",
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ConfiguredTableIdentifier"
+ ],
+ "properties": {
+ "AllowedColumns": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 128,
+ "pattern": "[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?",
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ },
+ "AnalysisMethod": {
+ "$ref": "#/definitions/AnalysisMethod"
+ },
+ "AnalysisRules": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRule"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Arn": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "ConfiguredTableIdentifier": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 255,
+ "pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$",
+ "type": "string"
+ },
+ "TableReference": {
+ "$ref": "#/definitions/TableReference"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/ConfiguredTableIdentifier"
+ ],
+ "required": [
+ "AllowedColumns",
+ "AnalysisMethod",
+ "Name",
+ "TableReference"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CleanRooms::ConfiguredTable"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtableassociation.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtableassociation.json
new file mode 100644
index 0000000000..978f86b643
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtableassociation.json
@@ -0,0 +1,253 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ConfiguredTableIdentifier",
+ "/properties/Name",
+ "/properties/MembershipIdentifier"
+ ],
+ "definitions": {
+ "AllowedAdditionalAnalyses": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AllowedAdditionalAnalysis"
+ },
+ "maxItems": 25,
+ "minItems": 0,
+ "type": "array"
+ },
+ "AllowedAdditionalAnalysis": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "AllowedResultReceiver": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "\\d+",
+ "type": "string"
+ },
+ "AllowedResultReceivers": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AllowedResultReceiver"
+ },
+ "minItems": 0,
+ "type": "array"
+ },
+ "ConfiguredTableAssociationAnalysisRule": {
+ "additionalProperties": false,
+ "properties": {
+ "Policy": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRulePolicy"
+ },
+ "Type": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleType"
+ }
+ },
+ "required": [
+ "Type",
+ "Policy"
+ ],
+ "type": "object"
+ },
+ "ConfiguredTableAssociationAnalysisRuleAggregation": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedAdditionalAnalyses": {
+ "$ref": "#/definitions/AllowedAdditionalAnalyses"
+ },
+ "AllowedResultReceivers": {
+ "$ref": "#/definitions/AllowedResultReceivers"
+ }
+ },
+ "type": "object"
+ },
+ "ConfiguredTableAssociationAnalysisRuleCustom": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedAdditionalAnalyses": {
+ "$ref": "#/definitions/AllowedAdditionalAnalyses"
+ },
+ "AllowedResultReceivers": {
+ "$ref": "#/definitions/AllowedResultReceivers"
+ }
+ },
+ "type": "object"
+ },
+ "ConfiguredTableAssociationAnalysisRuleList": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedAdditionalAnalyses": {
+ "$ref": "#/definitions/AllowedAdditionalAnalyses"
+ },
+ "AllowedResultReceivers": {
+ "$ref": "#/definitions/AllowedResultReceivers"
+ }
+ },
+ "type": "object"
+ },
+ "ConfiguredTableAssociationAnalysisRulePolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "V1": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRulePolicyV1"
+ }
+ },
+ "required": [
+ "V1"
+ ],
+ "title": "V1",
+ "type": "object"
+ },
+ "ConfiguredTableAssociationAnalysisRulePolicyV1": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "List": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleList"
+ }
+ },
+ "required": [
+ "List"
+ ],
+ "title": "List",
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Aggregation": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleAggregation"
+ }
+ },
+ "required": [
+ "Aggregation"
+ ],
+ "title": "Aggregation",
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Custom": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleCustom"
+ }
+ },
+ "required": [
+ "Custom"
+ ],
+ "title": "Custom",
+ "type": "object"
+ }
+ ]
+ },
+ "ConfiguredTableAssociationAnalysisRuleType": {
+ "enum": [
+ "AGGREGATION",
+ "LIST",
+ "CUSTOM"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ConfiguredTableAssociationIdentifier",
+ "/properties/MembershipIdentifier"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "ConfiguredTableAssociationAnalysisRules": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRule"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "ConfiguredTableAssociationIdentifier": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
+ "type": "string"
+ },
+ "ConfiguredTableIdentifier": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 255,
+ "pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$",
+ "type": "string"
+ },
+ "MembershipIdentifier": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ },
+ "RoleArn": {
+ "maxLength": 512,
+ "minLength": 32,
+ "pattern": "arn:aws:iam::[\\w]+:role/[\\w+=./@-]+",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ConfiguredTableAssociationIdentifier",
+ "/properties/Arn"
+ ],
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "ConfiguredTableIdentifier",
+ "Name",
+ "RoleArn",
+ "MembershipIdentifier"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cleanrooms",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CleanRooms::ConfiguredTableAssociation"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-connect-queue.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-connect-queue.json
deleted file mode 100644
index 0c823321dc..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-connect-queue.json
+++ /dev/null
@@ -1,166 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$",
- "type": "string"
- },
- "OutboundCallerConfig": {
- "additionalProperties": false,
- "properties": {
- "OutboundCallerIdName": {
- "$ref": "#/definitions/OutboundCallerIdName"
- },
- "OutboundCallerIdNumberArn": {
- "$ref": "#/definitions/OutboundCallerIdNumberArn"
- },
- "OutboundFlowArn": {
- "$ref": "#/definitions/OutboundFlowArn"
- }
- },
- "type": "object"
- },
- "OutboundCallerIdName": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- },
- "OutboundCallerIdNumberArn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:phone-number/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "OutboundEmailAddressId": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/email-address/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "OutboundEmailConfig": {
- "additionalProperties": false,
- "properties": {
- "OutboundEmailAddressId": {
- "$ref": "#/definitions/OutboundEmailAddressId"
- }
- },
- "type": "object"
- },
- "OutboundFlowArn": {
- "maxLength": 500,
- "minLength": 1,
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "QuickConnectArn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/transfer-destination/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "$ref": "#/definitions/Key"
- },
- "Value": {
- "$ref": "#/definitions/Value"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "primaryIdentifier": [
- "/properties/QueueArn"
- ],
- "properties": {
- "Description": {
- "maxLength": 250,
- "minLength": 1,
- "type": "string"
- },
- "HoursOfOperationArn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/operating-hours/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "InstanceArn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "MaxContacts": {
- "minimum": 0,
- "type": "integer"
- },
- "Name": {
- "maxLength": 127,
- "minLength": 1,
- "type": "string"
- },
- "OutboundCallerConfig": {
- "$ref": "#/definitions/OutboundCallerConfig"
- },
- "OutboundEmailConfig": {
- "$ref": "#/definitions/OutboundEmailConfig"
- },
- "QueueArn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/queue/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "QuickConnectArns": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/QuickConnectArn"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "Status": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "Type": {
- "enum": [
- "STANDARD",
- "AGENT"
- ],
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/QueueArn",
- "/properties/Type"
- ],
- "required": [
- "InstanceArn",
- "HoursOfOperationArn",
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Connect::Queue"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-kendra-index.json
deleted file mode 100644
index 1dfc2d6d88..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-kendra-index.json
+++ /dev/null
@@ -1,394 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Edition",
- "/properties/ServerSideEncryptionConfiguration"
- ],
- "definitions": {
- "Arn": {
- "maxLength": 1000,
- "type": "string"
- },
- "CapacityUnitsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "QueryCapacityUnits": {
- "$ref": "#/definitions/QueryCapacityUnits"
- },
- "StorageCapacityUnits": {
- "$ref": "#/definitions/StorageCapacityUnits"
- }
- },
- "required": [
- "StorageCapacityUnits",
- "QueryCapacityUnits"
- ],
- "type": "object"
- },
- "ClaimRegex": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Description": {
- "maxLength": 1000,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "DocumentAttributeValueType": {
- "enum": [
- "STRING_VALUE",
- "STRING_LIST_VALUE",
- "LONG_VALUE",
- "DATE_VALUE"
- ],
- "type": "string"
- },
- "DocumentMetadataConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "$ref": "#/definitions/DocumentMetadataConfigurationName"
- },
- "Relevance": {
- "$ref": "#/definitions/Relevance"
- },
- "Search": {
- "$ref": "#/definitions/Search"
- },
- "Type": {
- "$ref": "#/definitions/DocumentAttributeValueType"
- }
- },
- "required": [
- "Name",
- "Type"
- ],
- "type": "object"
- },
- "DocumentMetadataConfigurationList": {
- "items": {
- "$ref": "#/definitions/DocumentMetadataConfiguration"
- },
- "maxItems": 500,
- "type": "array"
- },
- "DocumentMetadataConfigurationName": {
- "maxLength": 30,
- "minLength": 1,
- "type": "string"
- },
- "Duration": {
- "maxLength": 10,
- "minLength": 1,
- "pattern": "[0-9]+[s]",
- "type": "string"
- },
- "Edition": {
- "enum": [
- "DEVELOPER_EDITION",
- "ENTERPRISE_EDITION"
- ],
- "type": "string"
- },
- "Freshness": {
- "type": "boolean"
- },
- "GroupAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Id": {
- "maxLength": 36,
- "minLength": 36,
- "type": "string"
- },
- "Importance": {
- "maximum": 10,
- "minimum": 1,
- "type": "integer"
- },
- "Issuer": {
- "maxLength": 65,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "JsonTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "UserNameAttributeField",
- "GroupAttributeField"
- ],
- "type": "object"
- },
- "JwtTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ClaimRegex": {
- "$ref": "#/definitions/ClaimRegex"
- },
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "Issuer": {
- "$ref": "#/definitions/Issuer"
- },
- "KeyLocation": {
- "$ref": "#/definitions/KeyLocation"
- },
- "SecretManagerArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "URL": {
- "$ref": "#/definitions/Url"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "KeyLocation"
- ],
- "type": "object"
- },
- "KeyLocation": {
- "enum": [
- "URL",
- "SECRET_MANAGER"
- ],
- "type": "string"
- },
- "KmsKeyId": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 1000,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*",
- "type": "string"
- },
- "Order": {
- "enum": [
- "ASCENDING",
- "DESCENDING"
- ],
- "type": "string"
- },
- "QueryCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Relevance": {
- "additionalProperties": false,
- "properties": {
- "Duration": {
- "$ref": "#/definitions/Duration"
- },
- "Freshness": {
- "$ref": "#/definitions/Freshness"
- },
- "Importance": {
- "$ref": "#/definitions/Importance"
- },
- "RankOrder": {
- "$ref": "#/definitions/Order"
- },
- "ValueImportanceItems": {
- "$ref": "#/definitions/ValueImportanceItems"
- }
- },
- "type": "object"
- },
- "RoleArn": {
- "maxLength": 1284,
- "minLength": 1,
- "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
- "type": "string"
- },
- "Search": {
- "additionalProperties": false,
- "properties": {
- "Displayable": {
- "type": "boolean"
- },
- "Facetable": {
- "type": "boolean"
- },
- "Searchable": {
- "type": "boolean"
- },
- "Sortable": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ServerSideEncryptionConfiguration": {
- "additionalProperties": false,
- "properties": {
- "KmsKeyId": {
- "$ref": "#/definitions/KmsKeyId"
- }
- },
- "type": "object"
- },
- "StorageCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TagList": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 200,
- "type": "array"
- },
- "Url": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)",
- "type": "string"
- },
- "UserContextPolicy": {
- "enum": [
- "ATTRIBUTE_FILTER",
- "USER_TOKEN"
- ],
- "type": "string"
- },
- "UserNameAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "UserTokenConfiguration": {
- "additionalProperties": false,
- "properties": {
- "JsonTokenTypeConfiguration": {
- "$ref": "#/definitions/JsonTokenTypeConfiguration"
- },
- "JwtTokenTypeConfiguration": {
- "$ref": "#/definitions/JwtTokenTypeConfiguration"
- }
- },
- "type": "object"
- },
- "UserTokenConfigurationList": {
- "items": {
- "$ref": "#/definitions/UserTokenConfiguration"
- },
- "maxItems": 1,
- "type": "array"
- },
- "ValueImportanceItem": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "$ref": "#/definitions/ValueImportanceItemKey"
- },
- "Value": {
- "$ref": "#/definitions/Importance"
- }
- },
- "type": "object"
- },
- "ValueImportanceItemKey": {
- "maxLength": 50,
- "minLength": 1,
- "type": "string"
- },
- "ValueImportanceItems": {
- "items": {
- "$ref": "#/definitions/ValueImportanceItem"
- },
- "type": "array"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "$ref": "#/definitions/Arn"
- },
- "CapacityUnits": {
- "$ref": "#/definitions/CapacityUnitsConfiguration"
- },
- "Description": {
- "$ref": "#/definitions/Description"
- },
- "DocumentMetadataConfigurations": {
- "$ref": "#/definitions/DocumentMetadataConfigurationList"
- },
- "Edition": {
- "$ref": "#/definitions/Edition"
- },
- "Id": {
- "$ref": "#/definitions/Id"
- },
- "Name": {
- "$ref": "#/definitions/Name"
- },
- "RoleArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "ServerSideEncryptionConfiguration": {
- "$ref": "#/definitions/ServerSideEncryptionConfiguration"
- },
- "Tags": {
- "$ref": "#/definitions/TagList"
- },
- "UserContextPolicy": {
- "$ref": "#/definitions/UserContextPolicy"
- },
- "UserTokenConfigurations": {
- "$ref": "#/definitions/UserTokenConfigurationList"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn"
- ],
- "required": [
- "Name",
- "RoleArn",
- "Edition"
- ],
- "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html",
- "typeName": "AWS::Kendra::Index"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-memorydb-cluster.json
deleted file mode 100644
index cba3a3f129..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-memorydb-cluster.json
+++ /dev/null
@@ -1,195 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ClusterName",
- "/properties/TLSEnabled",
- "/properties/DataTiering",
- "/properties/KmsKeyId",
- "/properties/Port",
- "/properties/SubnetGroupName",
- "/properties/SnapshotArns",
- "/properties/SnapshotName"
- ],
- "definitions": {
- "DataTieringStatus": {
- "enum": [
- "true",
- "false"
- ],
- "type": "string"
- },
- "Endpoint": {
- "additionalProperties": false,
- "properties": {
- "Address": {
- "type": "string"
- },
- "Port": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,128}$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,256}$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ClusterName"
- ],
- "properties": {
- "ACLName": {
- "pattern": "[a-zA-Z][a-zA-Z0-9\\-]*",
- "type": "string"
- },
- "ARN": {
- "type": "string"
- },
- "AutoMinorVersionUpgrade": {
- "type": "boolean"
- },
- "ClusterEndpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "ClusterName": {
- "pattern": "[a-z][a-z0-9\\-]*",
- "type": "string"
- },
- "DataTiering": {
- "$ref": "#/definitions/DataTieringStatus",
- "type": "object"
- },
- "Description": {
- "type": "string"
- },
- "Engine": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "FinalSnapshotName": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "MaintenanceWindow": {
- "type": "string"
- },
- "NodeType": {
- "type": "string"
- },
- "NumReplicasPerShard": {
- "type": "integer"
- },
- "NumShards": {
- "type": "integer"
- },
- "ParameterGroupName": {
- "type": "string"
- },
- "ParameterGroupStatus": {
- "type": "string"
- },
- "Port": {
- "type": "integer"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SnapshotArns": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SnapshotName": {
- "type": "string"
- },
- "SnapshotRetentionLimit": {
- "type": "integer"
- },
- "SnapshotWindow": {
- "type": "string"
- },
- "SnsTopicArn": {
- "type": "string"
- },
- "SnsTopicStatus": {
- "type": "string"
- },
- "Status": {
- "type": "string"
- },
- "SubnetGroupName": {
- "type": "string"
- },
- "TLSEnabled": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/Status",
- "/properties/ClusterEndpoint/Address",
- "/properties/ClusterEndpoint/Port",
- "/properties/ARN",
- "/properties/ParameterGroupStatus"
- ],
- "required": [
- "ClusterName",
- "NodeType",
- "ACLName"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-memorydb",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::MemoryDB::Cluster",
- "writeOnlyProperties": [
- "/properties/SnapshotArns",
- "/properties/SnapshotName",
- "/properties/FinalSnapshotName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-configurationset.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-configurationset.json
new file mode 100644
index 0000000000..575818695d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-configurationset.json
@@ -0,0 +1,142 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name"
+ ],
+ "definitions": {
+ "DashboardOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "EngagementMetrics": {
+ "pattern": "ENABLED|DISABLED",
+ "type": "string"
+ }
+ },
+ "required": [
+ "EngagementMetrics"
+ ],
+ "type": "object"
+ },
+ "DeliveryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "MaxDeliverySeconds": {
+ "maximum": 50400,
+ "minimum": 300,
+ "type": "number"
+ },
+ "SendingPoolName": {
+ "type": "string"
+ },
+ "TlsPolicy": {
+ "pattern": "REQUIRE|OPTIONAL",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GuardianOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "OptimizedSharedDelivery": {
+ "pattern": "ENABLED|DISABLED",
+ "type": "string"
+ }
+ },
+ "required": [
+ "OptimizedSharedDelivery"
+ ],
+ "type": "object"
+ },
+ "ReputationOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "ReputationMetricsEnabled": {
+ "pattern": "true|false",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "SendingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "SendingEnabled": {
+ "pattern": "true|false",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "SuppressionOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "SuppressedReasons": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "BOUNCE|COMPLAINT",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "TrackingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomRedirectDomain": {
+ "type": "string"
+ },
+ "HttpsPolicy": {
+ "pattern": "REQUIRE|REQUIRE_OPEN_ONLY|OPTIONAL",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VdmOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DashboardOptions": {
+ "$ref": "#/definitions/DashboardOptions"
+ },
+ "GuardianOptions": {
+ "$ref": "#/definitions/GuardianOptions"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Name"
+ ],
+ "properties": {
+ "DeliveryOptions": {
+ "$ref": "#/definitions/DeliveryOptions"
+ },
+ "Name": {
+ "pattern": "^[a-zA-Z0-9_-]{1,64}$",
+ "type": "string"
+ },
+ "ReputationOptions": {
+ "$ref": "#/definitions/ReputationOptions"
+ },
+ "SendingOptions": {
+ "$ref": "#/definitions/SendingOptions"
+ },
+ "SuppressionOptions": {
+ "$ref": "#/definitions/SuppressionOptions"
+ },
+ "TrackingOptions": {
+ "$ref": "#/definitions/TrackingOptions"
+ },
+ "VdmOptions": {
+ "$ref": "#/definitions/VdmOptions"
+ }
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git",
+ "taggable": false,
+ "typeName": "AWS::SES::ConfigurationSet"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspaces-workspacespool.json
similarity index 96%
rename from src/cfnlint/data/schemas/providers/eu_west_2/aws-workspaces-workspacespool.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspaces-workspacespool.json
index b035efdff4..19c638ca23 100644
--- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-workspaces-workspacespool.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspaces-workspacespool.json
@@ -151,5 +151,8 @@
"tagUpdatable": false,
"taggable": true
},
- "typeName": "AWS::WorkSpaces::WorkspacesPool"
+ "typeName": "AWS::WorkSpaces::WorkspacesPool",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py
index b2df00ffb7..0ad0bc6f6c 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py
@@ -642,6 +642,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -748,6 +749,7 @@
"AWS::LookoutEquipment::InferenceScheduler",
"AWS::LookoutVision::Project",
"AWS::M2::Application",
+ "AWS::M2::Deployment",
"AWS::M2::Environment",
"AWS::MSK::BatchScramSecret",
"AWS::MSK::Cluster",
@@ -809,6 +811,7 @@
"AWS::MediaTailor::VodSource",
"AWS::MemoryDB::ACL",
"AWS::MemoryDB::Cluster",
+ "AWS::MemoryDB::MultiRegionCluster",
"AWS::MemoryDB::ParameterGroup",
"AWS::MemoryDB::SubnetGroup",
"AWS::MemoryDB::User",
@@ -1341,8 +1344,6 @@
"aws-chatbot-slackchannelconfiguration.json",
"aws-cleanrooms-analysistemplate.json",
"aws-cleanrooms-collaboration.json",
- "aws-cleanrooms-configuredtable.json",
- "aws-cleanrooms-configuredtableassociation.json",
"aws-cleanrooms-idmappingtable.json",
"aws-cleanrooms-idnamespaceassociation.json",
"aws-cleanrooms-membership.json",
@@ -1369,7 +1370,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -1532,7 +1532,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1630,7 +1629,6 @@
"aws-ecs-clustercapacityproviderassociations.json",
"aws-ecs-primarytaskset.json",
"aws-ecs-service.json",
- "aws-ecs-taskdefinition.json",
"aws-ecs-taskset.json",
"aws-efs-accesspoint.json",
"aws-efs-filesystem.json",
@@ -1672,7 +1670,6 @@
"aws-emr-studio.json",
"aws-emr-studiosessionmapping.json",
"aws-emr-walworkspace.json",
- "aws-emrserverless-application.json",
"aws-entityresolution-idmappingworkflow.json",
"aws-entityresolution-idnamespace.json",
"aws-entityresolution-matchingworkflow.json",
@@ -1806,6 +1803,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1910,16 +1908,12 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-lookoutequipment-inferencescheduler.json",
"aws-lookoutvision-project.json",
"aws-m2-application.json",
- "aws-m2-environment.json",
+ "aws-m2-deployment.json",
"aws-macie-allowlist.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
@@ -1970,6 +1964,7 @@
"aws-mediatailor-sourcelocation.json",
"aws-mediatailor-vodsource.json",
"aws-memorydb-acl.json",
+ "aws-memorydb-multiregioncluster.json",
"aws-memorydb-parametergroup.json",
"aws-memorydb-subnetgroup.json",
"aws-memorydb-user.json",
@@ -1977,7 +1972,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
@@ -2020,7 +2014,6 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-osis-pipeline.json",
"aws-pcaconnectorad-connector.json",
@@ -2065,9 +2058,7 @@
"aws-quicksight-theme.json",
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
- "aws-rds-customdbengineversion.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
@@ -2093,7 +2084,6 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
- "aws-redshiftserverless-workgroup.json",
"aws-refactorspaces-application.json",
"aws-refactorspaces-environment.json",
"aws-refactorspaces-route.json",
@@ -2327,7 +2317,6 @@
"aws-wisdom-messagetemplateversion.json",
"aws-workspaces-connectionalias.json",
"aws-workspaces-workspace.json",
- "aws-workspaces-workspacespool.json",
"aws-xray-group.json",
"aws-xray-resourcepolicy.json",
"aws-xray-samplingrule.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtable.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtable.json
new file mode 100644
index 0000000000..2fb41ebe1b
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtable.json
@@ -0,0 +1,531 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AllowedColumns",
+ "/properties/AnalysisMethod",
+ "/properties/TableReference"
+ ],
+ "definitions": {
+ "AdditionalAnalyses": {
+ "enum": [
+ "ALLOWED",
+ "REQUIRED",
+ "NOT_ALLOWED"
+ ],
+ "type": "string"
+ },
+ "AggregateColumn": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "Function": {
+ "$ref": "#/definitions/AggregateFunctionName"
+ }
+ },
+ "required": [
+ "ColumnNames",
+ "Function"
+ ],
+ "type": "object"
+ },
+ "AggregateFunctionName": {
+ "enum": [
+ "SUM",
+ "SUM_DISTINCT",
+ "COUNT",
+ "COUNT_DISTINCT",
+ "AVG"
+ ],
+ "type": "string"
+ },
+ "AggregationConstraint": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "Minimum": {
+ "maximum": 100000,
+ "minimum": 2,
+ "type": "number"
+ },
+ "Type": {
+ "$ref": "#/definitions/AggregationType"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "Minimum",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "AggregationType": {
+ "enum": [
+ "COUNT_DISTINCT"
+ ],
+ "type": "string"
+ },
+ "AllowedAnalyses": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AllowedAnalysis"
+ },
+ "minItems": 0,
+ "type": "array"
+ },
+ "AllowedAnalysis": {
+ "maxLength": 200,
+ "minLength": 0,
+ "pattern": "(ANY_QUERY|arn:[\\w]{3}:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/analysistemplate/[\\d\\w-]+)",
+ "type": "string"
+ },
+ "AllowedAnalysisProvider": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "\\d+",
+ "type": "string"
+ },
+ "AllowedAnalysisProviders": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AllowedAnalysisProvider"
+ },
+ "minItems": 0,
+ "type": "array"
+ },
+ "AnalysisMethod": {
+ "enum": [
+ "DIRECT_QUERY"
+ ],
+ "type": "string"
+ },
+ "AnalysisRule": {
+ "additionalProperties": false,
+ "properties": {
+ "Policy": {
+ "$ref": "#/definitions/ConfiguredTableAnalysisRulePolicy"
+ },
+ "Type": {
+ "$ref": "#/definitions/ConfiguredTableAnalysisRuleType"
+ }
+ },
+ "required": [
+ "Type",
+ "Policy"
+ ],
+ "type": "object"
+ },
+ "AnalysisRuleAggregation": {
+ "additionalProperties": false,
+ "properties": {
+ "AdditionalAnalyses": {
+ "$ref": "#/definitions/AdditionalAnalyses"
+ },
+ "AggregateColumns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AggregateColumn"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "AllowedJoinOperators": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/JoinOperator"
+ },
+ "maxItems": 2,
+ "type": "array"
+ },
+ "DimensionColumns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "type": "array"
+ },
+ "JoinColumns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "type": "array"
+ },
+ "JoinRequired": {
+ "$ref": "#/definitions/JoinRequiredOption"
+ },
+ "OutputConstraints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AggregationConstraint"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "ScalarFunctions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ScalarFunctions"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "AggregateColumns",
+ "JoinColumns",
+ "DimensionColumns",
+ "ScalarFunctions",
+ "OutputConstraints"
+ ],
+ "type": "object"
+ },
+ "AnalysisRuleColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "pattern": "^[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?$",
+ "type": "string"
+ },
+ "AnalysisRuleCustom": {
+ "additionalProperties": false,
+ "properties": {
+ "AdditionalAnalyses": {
+ "$ref": "#/definitions/AdditionalAnalyses"
+ },
+ "AllowedAnalyses": {
+ "$ref": "#/definitions/AllowedAnalyses"
+ },
+ "AllowedAnalysisProviders": {
+ "$ref": "#/definitions/AllowedAnalysisProviders"
+ },
+ "DifferentialPrivacy": {
+ "$ref": "#/definitions/DifferentialPrivacy"
+ },
+ "DisallowedOutputColumns": {
+ "$ref": "#/definitions/DisallowedOutputColumns"
+ }
+ },
+ "required": [
+ "AllowedAnalyses"
+ ],
+ "type": "object"
+ },
+ "AnalysisRuleList": {
+ "additionalProperties": false,
+ "properties": {
+ "AdditionalAnalyses": {
+ "$ref": "#/definitions/AdditionalAnalyses"
+ },
+ "AllowedJoinOperators": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/JoinOperator"
+ },
+ "maxItems": 2,
+ "type": "array"
+ },
+ "JoinColumns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "ListColumns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "JoinColumns",
+ "ListColumns"
+ ],
+ "type": "object"
+ },
+ "ConfiguredTableAnalysisRulePolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "V1": {
+ "$ref": "#/definitions/ConfiguredTableAnalysisRulePolicyV1"
+ }
+ },
+ "required": [
+ "V1"
+ ],
+ "title": "V1",
+ "type": "object"
+ },
+ "ConfiguredTableAnalysisRulePolicyV1": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "List": {
+ "$ref": "#/definitions/AnalysisRuleList"
+ }
+ },
+ "required": [
+ "List"
+ ],
+ "title": "List",
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Aggregation": {
+ "$ref": "#/definitions/AnalysisRuleAggregation"
+ }
+ },
+ "required": [
+ "Aggregation"
+ ],
+ "title": "Aggregation",
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Custom": {
+ "$ref": "#/definitions/AnalysisRuleCustom"
+ }
+ },
+ "required": [
+ "Custom"
+ ],
+ "title": "Custom",
+ "type": "object"
+ }
+ ]
+ },
+ "ConfiguredTableAnalysisRuleType": {
+ "enum": [
+ "AGGREGATION",
+ "LIST",
+ "CUSTOM"
+ ],
+ "type": "string"
+ },
+ "DifferentialPrivacy": {
+ "additionalProperties": false,
+ "properties": {
+ "Columns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/DifferentialPrivacyColumn"
+ },
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Columns"
+ ],
+ "type": "object"
+ },
+ "DifferentialPrivacyColumn": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "DisallowedOutputColumns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRuleColumnName"
+ },
+ "minItems": 0,
+ "type": "array"
+ },
+ "GlueTableReference": {
+ "additionalProperties": false,
+ "properties": {
+ "DatabaseName": {
+ "maxLength": 128,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ },
+ "TableName": {
+ "maxLength": 128,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DatabaseName",
+ "TableName"
+ ],
+ "type": "object"
+ },
+ "JoinOperator": {
+ "enum": [
+ "OR",
+ "AND"
+ ],
+ "type": "string"
+ },
+ "JoinRequiredOption": {
+ "enum": [
+ "QUERY_RUNNER"
+ ],
+ "type": "string"
+ },
+ "ScalarFunctions": {
+ "enum": [
+ "TRUNC",
+ "ABS",
+ "CEILING",
+ "FLOOR",
+ "LN",
+ "LOG",
+ "ROUND",
+ "SQRT",
+ "CAST",
+ "LOWER",
+ "RTRIM",
+ "UPPER",
+ "COALESCE",
+ "CONVERT",
+ "CURRENT_DATE",
+ "DATEADD",
+ "EXTRACT",
+ "GETDATE",
+ "SUBSTRING",
+ "TO_CHAR",
+ "TO_DATE",
+ "TO_NUMBER",
+ "TO_TIMESTAMP",
+ "TRIM"
+ ],
+ "type": "string"
+ },
+ "TableReference": {
+ "additionalProperties": false,
+ "properties": {
+ "Glue": {
+ "$ref": "#/definitions/GlueTableReference"
+ }
+ },
+ "required": [
+ "Glue"
+ ],
+ "title": "Glue",
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ConfiguredTableIdentifier"
+ ],
+ "properties": {
+ "AllowedColumns": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 128,
+ "pattern": "[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?",
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ },
+ "AnalysisMethod": {
+ "$ref": "#/definitions/AnalysisMethod"
+ },
+ "AnalysisRules": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AnalysisRule"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Arn": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "ConfiguredTableIdentifier": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 255,
+ "pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$",
+ "type": "string"
+ },
+ "TableReference": {
+ "$ref": "#/definitions/TableReference"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/ConfiguredTableIdentifier"
+ ],
+ "required": [
+ "AllowedColumns",
+ "AnalysisMethod",
+ "Name",
+ "TableReference"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CleanRooms::ConfiguredTable"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtableassociation.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtableassociation.json
new file mode 100644
index 0000000000..978f86b643
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtableassociation.json
@@ -0,0 +1,253 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ConfiguredTableIdentifier",
+ "/properties/Name",
+ "/properties/MembershipIdentifier"
+ ],
+ "definitions": {
+ "AllowedAdditionalAnalyses": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AllowedAdditionalAnalysis"
+ },
+ "maxItems": 25,
+ "minItems": 0,
+ "type": "array"
+ },
+ "AllowedAdditionalAnalysis": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "AllowedResultReceiver": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "\\d+",
+ "type": "string"
+ },
+ "AllowedResultReceivers": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AllowedResultReceiver"
+ },
+ "minItems": 0,
+ "type": "array"
+ },
+ "ConfiguredTableAssociationAnalysisRule": {
+ "additionalProperties": false,
+ "properties": {
+ "Policy": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRulePolicy"
+ },
+ "Type": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleType"
+ }
+ },
+ "required": [
+ "Type",
+ "Policy"
+ ],
+ "type": "object"
+ },
+ "ConfiguredTableAssociationAnalysisRuleAggregation": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedAdditionalAnalyses": {
+ "$ref": "#/definitions/AllowedAdditionalAnalyses"
+ },
+ "AllowedResultReceivers": {
+ "$ref": "#/definitions/AllowedResultReceivers"
+ }
+ },
+ "type": "object"
+ },
+ "ConfiguredTableAssociationAnalysisRuleCustom": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedAdditionalAnalyses": {
+ "$ref": "#/definitions/AllowedAdditionalAnalyses"
+ },
+ "AllowedResultReceivers": {
+ "$ref": "#/definitions/AllowedResultReceivers"
+ }
+ },
+ "type": "object"
+ },
+ "ConfiguredTableAssociationAnalysisRuleList": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedAdditionalAnalyses": {
+ "$ref": "#/definitions/AllowedAdditionalAnalyses"
+ },
+ "AllowedResultReceivers": {
+ "$ref": "#/definitions/AllowedResultReceivers"
+ }
+ },
+ "type": "object"
+ },
+ "ConfiguredTableAssociationAnalysisRulePolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "V1": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRulePolicyV1"
+ }
+ },
+ "required": [
+ "V1"
+ ],
+ "title": "V1",
+ "type": "object"
+ },
+ "ConfiguredTableAssociationAnalysisRulePolicyV1": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "List": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleList"
+ }
+ },
+ "required": [
+ "List"
+ ],
+ "title": "List",
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Aggregation": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleAggregation"
+ }
+ },
+ "required": [
+ "Aggregation"
+ ],
+ "title": "Aggregation",
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Custom": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleCustom"
+ }
+ },
+ "required": [
+ "Custom"
+ ],
+ "title": "Custom",
+ "type": "object"
+ }
+ ]
+ },
+ "ConfiguredTableAssociationAnalysisRuleType": {
+ "enum": [
+ "AGGREGATION",
+ "LIST",
+ "CUSTOM"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ConfiguredTableAssociationIdentifier",
+ "/properties/MembershipIdentifier"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "ConfiguredTableAssociationAnalysisRules": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRule"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "ConfiguredTableAssociationIdentifier": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
+ "type": "string"
+ },
+ "ConfiguredTableIdentifier": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 255,
+ "pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$",
+ "type": "string"
+ },
+ "MembershipIdentifier": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ },
+ "RoleArn": {
+ "maxLength": 512,
+ "minLength": 32,
+ "pattern": "arn:aws:iam::[\\w]+:role/[\\w+=./@-]+",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ConfiguredTableAssociationIdentifier",
+ "/properties/Arn"
+ ],
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "ConfiguredTableIdentifier",
+ "Name",
+ "RoleArn",
+ "MembershipIdentifier"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cleanrooms",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CleanRooms::ConfiguredTableAssociation"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-taskdefinition.json
similarity index 99%
rename from src/cfnlint/data/schemas/providers/us_west_2/aws-ecs-taskdefinition.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-taskdefinition.json
index 8b9f473363..35c2b1ed93 100644
--- a/src/cfnlint/data/schemas/providers/us_west_2/aws-ecs-taskdefinition.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-taskdefinition.json
@@ -4,7 +4,6 @@
"/properties/Family",
"/properties/ContainerDefinitions",
"/properties/Cpu",
- "/properties/EnableFaultInjection",
"/properties/ExecutionRoleArn",
"/properties/InferenceAccelerators",
"/properties/Memory",
@@ -934,9 +933,6 @@
"Cpu": {
"type": "string"
},
- "EnableFaultInjection": {
- "type": "boolean"
- },
"EphemeralStorage": {
"$ref": "#/definitions/EphemeralStorage"
},
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emrserverless-application.json
new file mode 100644
index 0000000000..1a44823941
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emrserverless-application.json
@@ -0,0 +1,539 @@
+{
+ "additionalProperties": false,
+ "conditionalCreateOnlyProperties": [
+ "/properties/Architecture",
+ "/properties/ReleaseLabel",
+ "/properties/WorkerTypeSpecifications",
+ "/properties/MaximumCapacity",
+ "/properties/InitialCapacity",
+ "/properties/AutoStartConfiguration",
+ "/properties/AutoStopConfiguration",
+ "/properties/NetworkConfiguration",
+ "/properties/ImageConfiguration",
+ "/properties/MonitoringConfiguration",
+ "/properties/RuntimeConfiguration",
+ "/properties/InteractiveConfiguration"
+ ],
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Architecture": {
+ "enum": [
+ "ARM64",
+ "X86_64"
+ ],
+ "type": "string"
+ },
+ "AutoStartConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "AutoStopConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "IdleTimeoutMinutes": {
+ "type": "integer"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "Classification": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "CloudWatchLoggingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ },
+ "LogGroupName": {
+ "$ref": "#/definitions/LogGroupName"
+ },
+ "LogStreamNamePrefix": {
+ "$ref": "#/definitions/LogStreamNamePrefix"
+ },
+ "LogTypeMap": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogTypeMapKeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ },
+ "ConfigurationList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigurationObject"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConfigurationObject": {
+ "additionalProperties": false,
+ "properties": {
+ "Classification": {
+ "$ref": "#/definitions/Classification"
+ },
+ "Configurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigurationObject"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Properties": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": {
+ "$ref": "#/definitions/SensitivePropertiesMap"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "Classification"
+ ],
+ "type": "object"
+ },
+ "CpuSize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$",
+ "type": "string"
+ },
+ "DiskSize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$",
+ "type": "string"
+ },
+ "DiskType": {
+ "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$",
+ "type": "string"
+ },
+ "EncryptionKeyArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "ImageConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "ImageUri": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InitialCapacityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "WorkerConfiguration": {
+ "$ref": "#/definitions/WorkerConfiguration"
+ },
+ "WorkerCount": {
+ "format": "int64",
+ "maximum": 1000000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "WorkerCount",
+ "WorkerConfiguration"
+ ],
+ "type": "object"
+ },
+ "InitialCapacityConfigKeyValuePair": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ },
+ "Value": {
+ "$ref": "#/definitions/InitialCapacityConfig"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "InitialCapacityConfigMap": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/InitialCapacityConfigKeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "InteractiveConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LivyEndpointEnabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "StudioEnabled": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
+ "type": "string"
+ },
+ "LogStreamNamePrefix": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]*$",
+ "type": "string"
+ },
+ "LogTypeList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogTypeString"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "LogTypeMapKeyValuePair": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "$ref": "#/definitions/WorkerTypeString"
+ },
+ "Value": {
+ "$ref": "#/definitions/LogTypeList"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "LogTypeString": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ },
+ "ManagedPersistenceMonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ }
+ }
+ },
+ "MaximumAllowedResources": {
+ "additionalProperties": false,
+ "properties": {
+ "Cpu": {
+ "$ref": "#/definitions/CpuSize"
+ },
+ "Disk": {
+ "$ref": "#/definitions/DiskSize"
+ },
+ "Memory": {
+ "$ref": "#/definitions/MemorySize"
+ }
+ },
+ "required": [
+ "Cpu",
+ "Memory"
+ ],
+ "type": "object"
+ },
+ "MemorySize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$",
+ "type": "string"
+ },
+ "MonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingConfiguration": {
+ "$ref": "#/definitions/CloudWatchLoggingConfiguration"
+ },
+ "ManagedPersistenceMonitoringConfiguration": {
+ "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration"
+ },
+ "S3MonitoringConfiguration": {
+ "$ref": "#/definitions/S3MonitoringConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SecurityGroupId"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SubnetId"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "S3MonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ },
+ "LogUri": {
+ "$ref": "#/definitions/UriString"
+ }
+ }
+ },
+ "SecurityGroupId": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "minLength": 1,
+ "pattern": "[-0-9a-zA-Z]+.*",
+ "type": "string"
+ },
+ "SensitivePropertiesKeyValuePair": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "SensitivePropertiesMap": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "SubnetId": {
+ "maxLength": 32,
+ "minLength": 1,
+ "pattern": "[-0-9a-zA-Z]+.*",
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9 /_.:=+@-]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[A-Za-z0-9 /_.:=+@-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UriString": {
+ "maxLength": 10280,
+ "minLength": 1,
+ "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*",
+ "type": "string"
+ },
+ "WorkerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Cpu": {
+ "$ref": "#/definitions/CpuSize"
+ },
+ "Disk": {
+ "$ref": "#/definitions/DiskSize"
+ },
+ "DiskType": {
+ "$ref": "#/definitions/DiskType"
+ },
+ "Memory": {
+ "$ref": "#/definitions/MemorySize"
+ }
+ },
+ "required": [
+ "Cpu",
+ "Memory"
+ ],
+ "type": "object"
+ },
+ "WorkerTypeSpecificationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "ImageConfiguration": {
+ "$ref": "#/definitions/ImageConfigurationInput"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerTypeSpecificationInputMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[a-zA-Z]+[-_]*[a-zA-Z]+$": {
+ "$ref": "#/definitions/WorkerTypeSpecificationInput"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerTypeString": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ApplicationId"
+ ],
+ "properties": {
+ "ApplicationId": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Architecture": {
+ "$ref": "#/definitions/Architecture"
+ },
+ "Arn": {
+ "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$",
+ "type": "string"
+ },
+ "AutoStartConfiguration": {
+ "$ref": "#/definitions/AutoStartConfiguration"
+ },
+ "AutoStopConfiguration": {
+ "$ref": "#/definitions/AutoStopConfiguration"
+ },
+ "ImageConfiguration": {
+ "$ref": "#/definitions/ImageConfigurationInput"
+ },
+ "InitialCapacity": {
+ "$ref": "#/definitions/InitialCapacityConfigMap"
+ },
+ "InteractiveConfiguration": {
+ "$ref": "#/definitions/InteractiveConfiguration"
+ },
+ "MaximumCapacity": {
+ "$ref": "#/definitions/MaximumAllowedResources"
+ },
+ "MonitoringConfiguration": {
+ "$ref": "#/definitions/MonitoringConfiguration"
+ },
+ "Name": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9._\\/#-]+$",
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "ReleaseLabel": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9._/-]+$",
+ "type": "string"
+ },
+ "RuntimeConfiguration": {
+ "$ref": "#/definitions/ConfigurationList"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "type": "string"
+ },
+ "WorkerTypeSpecifications": {
+ "$ref": "#/definitions/WorkerTypeSpecificationInputMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/ApplicationId"
+ ],
+ "required": [
+ "ReleaseLabel",
+ "Type"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EMRServerless::Application"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json
new file mode 100644
index 0000000000..8ca994e218
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json
@@ -0,0 +1,321 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "ReplicationTopicNameConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationTopicNameConfigurationType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationTopicNameConfigurationType": {
+ "enum": [
+ "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS",
+ "IDENTICAL"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicNameConfiguration": {
+ "$ref": "#/definitions/ReplicationTopicNameConfiguration"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-customdbengineversion.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-customdbengineversion.json
similarity index 93%
rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-customdbengineversion.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-customdbengineversion.json
index e81df04548..ae6cc1e635 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-customdbengineversion.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-customdbengineversion.json
@@ -110,7 +110,7 @@
"propertyTransform": {
"/properties/Engine": "$lowercase(Engine)",
"/properties/EngineVersion": "$lowercase(EngineVersion)",
- "/properties/KMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KMSKeyId])"
+ "/properties/KMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KMSKeyId])"
},
"readOnlyProperties": [
"/properties/DBEngineVersionArn"
@@ -121,10 +121,6 @@
],
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
"tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
"taggable": true
},
"typeName": "AWS::RDS::CustomDBEngineVersion",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-redshiftserverless-workgroup.json
similarity index 92%
rename from src/cfnlint/data/schemas/providers/ap_southeast_3/aws-redshiftserverless-workgroup.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-redshiftserverless-workgroup.json
index 607749193c..60a6356907 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-redshiftserverless-workgroup.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-redshiftserverless-workgroup.json
@@ -59,27 +59,6 @@
},
"type": "object"
},
- "PerformanceTarget": {
- "additionalProperties": false,
- "properties": {
- "Level": {
- "maximum": 100,
- "minimum": 1,
- "type": "integer"
- },
- "Status": {
- "$ref": "#/definitions/PerformanceTargetStatus"
- }
- },
- "type": "object"
- },
- "PerformanceTargetStatus": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
"Tag": {
"additionalProperties": false,
"properties": {
@@ -152,9 +131,6 @@
"pattern": "^[a-z0-9-]+$",
"type": "string"
},
- "PricePerformanceTarget": {
- "$ref": "#/definitions/PerformanceTarget"
- },
"PubliclyAccessible": {
"type": "boolean"
},
@@ -240,10 +216,6 @@
"Port": {
"type": "integer"
},
- "PricePerformanceTarget": {
- "$ref": "#/definitions/PerformanceTarget",
- "type": "object"
- },
"PubliclyAccessible": {
"default": false,
"type": "boolean"
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-workspaces-workspacespool.json
new file mode 100644
index 0000000000..19c638ca23
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-workspaces-workspacespool.json
@@ -0,0 +1,158 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/PoolName"
+ ],
+ "definitions": {
+ "ApplicationSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SettingsGroup": {
+ "maxLength": 100,
+ "pattern": "^[A-Za-z0-9_./()!*'-]+$",
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/ApplicationSettingsStatus"
+ }
+ },
+ "required": [
+ "Status"
+ ],
+ "type": "object"
+ },
+ "ApplicationSettingsStatus": {
+ "enum": [
+ "DISABLED",
+ "ENABLED"
+ ],
+ "type": "string"
+ },
+ "Capacity": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredUserSessions": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredUserSessions"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TimeoutSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DisconnectTimeoutInSeconds": {
+ "maximum": 36000,
+ "minimum": 60,
+ "type": "integer"
+ },
+ "IdleDisconnectTimeoutInSeconds": {
+ "maximum": 36000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "MaxUserDurationInSeconds": {
+ "maximum": 432000,
+ "minimum": 600,
+ "type": "integer"
+ }
+ },
+ "required": [],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/PoolId"
+ ],
+ "properties": {
+ "ApplicationSettings": {
+ "$ref": "#/definitions/ApplicationSettings"
+ },
+ "BundleId": {
+ "pattern": "^wsb-[0-9a-z]{8,63}$",
+ "type": "string"
+ },
+ "Capacity": {
+ "$ref": "#/definitions/Capacity"
+ },
+ "CreatedAt": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_./() -]+$",
+ "type": "string"
+ },
+ "DirectoryId": {
+ "maxLength": 65,
+ "minLength": 10,
+ "pattern": "^wsd-[0-9a-z]{8,63}$",
+ "type": "string"
+ },
+ "PoolArn": {
+ "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$",
+ "type": "string"
+ },
+ "PoolId": {
+ "pattern": "^wspool-[0-9a-z]{9}$",
+ "type": "string"
+ },
+ "PoolName": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TimeoutSettings": {
+ "$ref": "#/definitions/TimeoutSettings"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/PoolId",
+ "/properties/PoolArn",
+ "/properties/CreatedAt"
+ ],
+ "required": [
+ "PoolName",
+ "BundleId",
+ "DirectoryId",
+ "Capacity"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": false,
+ "taggable": true
+ },
+ "typeName": "AWS::WorkSpaces::WorkspacesPool",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py
index ef858355f4..263d70e550 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py
@@ -492,6 +492,7 @@
"AWS::Logs::QueryDefinition",
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
+ "AWS::Logs::Transformer",
"AWS::M2::Application",
"AWS::M2::Deployment",
"AWS::M2::Environment",
@@ -963,12 +964,12 @@
"aws-cloudformation-resourceversion.json",
"aws-cloudformation-stack.json",
"aws-cloudformation-stackset.json",
+ "aws-cloudformation-typeactivation.json",
"aws-cloudformation-waitcondition.json",
"aws-cloudformation-waitconditionhandle.json",
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -1298,15 +1299,11 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
+ "aws-logs-transformer.json",
"aws-m2-application.json",
"aws-m2-deployment.json",
- "aws-m2-environment.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
"aws-macie-session.json",
@@ -1395,7 +1392,6 @@
"aws-pcaconnectorscep-connector.json",
"aws-pipes-pipe.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-customdbengineversion.json",
"aws-rds-dbcluster.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudformation-typeactivation.json
deleted file mode 100644
index 730262bfac..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudformation-typeactivation.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ExecutionRoleArn",
- "/properties/LoggingConfig",
- "/properties/TypeNameAlias",
- "/properties/TypeName",
- "/properties/Type",
- "/properties/PublisherId",
- "/properties/PublicTypeArn"
- ],
- "definitions": {
- "LoggingConfig": {
- "additionalProperties": false,
- "properties": {
- "LogGroupName": {
- "maxLength": 512,
- "minLength": 1,
- "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
- "type": "string"
- },
- "LogRoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "oneOf": [
- {
- "required": [
- "TypeName",
- "PublisherId",
- "Type"
- ]
- },
- {
- "required": [
- "PublicTypeArn"
- ]
- }
- ],
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "AutoUpdate": {
- "type": "boolean"
- },
- "ExecutionRoleArn": {
- "type": "string"
- },
- "LoggingConfig": {
- "$ref": "#/definitions/LoggingConfig"
- },
- "MajorVersion": {
- "maxLength": 100000,
- "minLength": 1,
- "type": "string"
- },
- "PublicTypeArn": {
- "maxLength": 1024,
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "PublisherId": {
- "maxLength": 40,
- "minLength": 1,
- "pattern": "[0-9a-zA-Z-]{40}",
- "type": "string"
- },
- "Type": {
- "enum": [
- "RESOURCE",
- "MODULE",
- "HOOK"
- ],
- "type": "string"
- },
- "TypeName": {
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "TypeNameAlias": {
- "maxLength": 204,
- "minLength": 10,
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "VersionBump": {
- "enum": [
- "MAJOR",
- "MINOR"
- ],
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation",
- "typeName": "AWS::CloudFormation::TypeActivation"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py
index b44e1b99ad..0223fd916a 100644
--- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py
@@ -615,6 +615,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -737,6 +738,7 @@
"AWS::Logs::QueryDefinition",
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
+ "AWS::Logs::Transformer",
"AWS::M2::Application",
"AWS::M2::Deployment",
"AWS::M2::Environment",
@@ -797,6 +799,7 @@
"AWS::MediaTailor::VodSource",
"AWS::MemoryDB::ACL",
"AWS::MemoryDB::Cluster",
+ "AWS::MemoryDB::MultiRegionCluster",
"AWS::MemoryDB::ParameterGroup",
"AWS::MemoryDB::SubnetGroup",
"AWS::MemoryDB::User",
@@ -1359,6 +1362,7 @@
"aws-cloudformation-resourceversion.json",
"aws-cloudformation-stack.json",
"aws-cloudformation-stackset.json",
+ "aws-cloudformation-typeactivation.json",
"aws-cloudformation-waitcondition.json",
"aws-cloudformation-waitconditionhandle.json",
"aws-cloudfront-cachepolicy.json",
@@ -1741,6 +1745,7 @@
"aws-guardduty-master.json",
"aws-guardduty-member.json",
"aws-guardduty-threatintelset.json",
+ "aws-healthlake-fhirdatastore.json",
"aws-iam-accesskey.json",
"aws-iam-group.json",
"aws-iam-grouppolicy.json",
@@ -1781,6 +1786,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1818,9 +1824,12 @@
"aws-iotfleetwise-signalcatalog.json",
"aws-iotfleetwise-statetemplate.json",
"aws-iotfleetwise-vehicle.json",
+ "aws-iotsitewise-accesspolicy.json",
"aws-iotsitewise-asset.json",
"aws-iotsitewise-assetmodel.json",
+ "aws-iotsitewise-dashboard.json",
"aws-iotsitewise-gateway.json",
+ "aws-iotsitewise-project.json",
"aws-iottwinmaker-componenttype.json",
"aws-iottwinmaker-entity.json",
"aws-iottwinmaker-scene.json",
@@ -1905,9 +1914,9 @@
"aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
"aws-logs-subscriptionfilter.json",
+ "aws-logs-transformer.json",
"aws-m2-application.json",
"aws-m2-deployment.json",
- "aws-m2-environment.json",
"aws-macie-allowlist.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
@@ -1956,6 +1965,8 @@
"aws-mediatailor-sourcelocation.json",
"aws-mediatailor-vodsource.json",
"aws-memorydb-acl.json",
+ "aws-memorydb-cluster.json",
+ "aws-memorydb-multiregioncluster.json",
"aws-memorydb-parametergroup.json",
"aws-memorydb-subnetgroup.json",
"aws-memorydb-user.json",
@@ -2312,7 +2323,6 @@
"aws-wafv2-webacl.json",
"aws-wafv2-webaclassociation.json",
"aws-workspaces-workspace.json",
- "aws-workspaces-workspacespool.json",
"aws-workspacesthinclient-environment.json",
"aws-workspacesweb-browsersettings.json",
"aws-workspacesweb-dataprotectionsettings.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cloudformation-typeactivation.json
deleted file mode 100644
index 730262bfac..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-cloudformation-typeactivation.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ExecutionRoleArn",
- "/properties/LoggingConfig",
- "/properties/TypeNameAlias",
- "/properties/TypeName",
- "/properties/Type",
- "/properties/PublisherId",
- "/properties/PublicTypeArn"
- ],
- "definitions": {
- "LoggingConfig": {
- "additionalProperties": false,
- "properties": {
- "LogGroupName": {
- "maxLength": 512,
- "minLength": 1,
- "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
- "type": "string"
- },
- "LogRoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "oneOf": [
- {
- "required": [
- "TypeName",
- "PublisherId",
- "Type"
- ]
- },
- {
- "required": [
- "PublicTypeArn"
- ]
- }
- ],
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "AutoUpdate": {
- "type": "boolean"
- },
- "ExecutionRoleArn": {
- "type": "string"
- },
- "LoggingConfig": {
- "$ref": "#/definitions/LoggingConfig"
- },
- "MajorVersion": {
- "maxLength": 100000,
- "minLength": 1,
- "type": "string"
- },
- "PublicTypeArn": {
- "maxLength": 1024,
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "PublisherId": {
- "maxLength": 40,
- "minLength": 1,
- "pattern": "[0-9a-zA-Z-]{40}",
- "type": "string"
- },
- "Type": {
- "enum": [
- "RESOURCE",
- "MODULE",
- "HOOK"
- ],
- "type": "string"
- },
- "TypeName": {
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "TypeNameAlias": {
- "maxLength": 204,
- "minLength": 10,
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "VersionBump": {
- "enum": [
- "MAJOR",
- "MINOR"
- ],
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation",
- "typeName": "AWS::CloudFormation::TypeActivation"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-healthlake-fhirdatastore.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-healthlake-fhirdatastore.json
deleted file mode 100644
index 1a8bc150fd..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-healthlake-fhirdatastore.json
+++ /dev/null
@@ -1,231 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DatastoreName",
- "/properties/DatastoreTypeVersion",
- "/properties/PreloadDataConfig",
- "/properties/SseConfiguration",
- "/properties/IdentityProviderConfiguration"
- ],
- "definitions": {
- "CreatedAt": {
- "additionalProperties": false,
- "properties": {
- "Nanos": {
- "type": "integer"
- },
- "Seconds": {
- "type": "string"
- }
- },
- "required": [
- "Seconds",
- "Nanos"
- ],
- "type": "object"
- },
- "DatastoreArn": {
- "pattern": "^arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:healthlake:[a-zA-Z0-9-]+:[0-9]{12}:datastore/.+?",
- "type": "string"
- },
- "DatastoreEndpoint": {
- "maxLength": 10000,
- "type": "string"
- },
- "DatastoreId": {
- "maxLength": 32,
- "minLength": 1,
- "type": "string"
- },
- "DatastoreName": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$",
- "type": "string"
- },
- "DatastoreStatus": {
- "enum": [
- "CREATING",
- "ACTIVE",
- "DELETING",
- "DELETED"
- ],
- "type": "string"
- },
- "DatastoreTypeVersion": {
- "enum": [
- "R4"
- ],
- "type": "string"
- },
- "IdentityProviderConfiguration": {
- "additionalProperties": false,
- "default": {
- "AuthorizationStrategy": "AWS_AUTH",
- "FineGrainedAuthorizationEnabled": false
- },
- "properties": {
- "AuthorizationStrategy": {
- "enum": [
- "SMART_ON_FHIR_V1",
- "AWS_AUTH"
- ],
- "type": "string"
- },
- "FineGrainedAuthorizationEnabled": {
- "type": "boolean"
- },
- "IdpLambdaArn": {
- "maxLength": 256,
- "minLength": 49,
- "pattern": "arn:aws[-a-z]*:lambda:[a-z]{2}-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9\\-_\\.]+(:(\\$LATEST|[a-zA-Z0-9\\-_]+))?",
- "type": "string"
- },
- "Metadata": {
- "type": "string"
- }
- },
- "required": [
- "AuthorizationStrategy"
- ],
- "type": "object"
- },
- "KmsEncryptionConfig": {
- "additionalProperties": false,
- "properties": {
- "CmkType": {
- "enum": [
- "CUSTOMER_MANAGED_KMS_KEY",
- "AWS_OWNED_KMS_KEY"
- ],
- "type": "string"
- },
- "KmsKeyId": {
- "maxLength": 400,
- "minLength": 1,
- "pattern": "(arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:kms:)?([a-z]{2}-[a-z]+(-[a-z]+)?-\\d:)?(\\d{12}:)?(((key/)?[a-zA-Z0-9-_]+)|(alias/[a-zA-Z0-9:/_-]+))",
- "type": "string"
- }
- },
- "required": [
- "CmkType"
- ],
- "type": "object"
- },
- "PreloadDataConfig": {
- "additionalProperties": false,
- "properties": {
- "PreloadDataType": {
- "enum": [
- "SYNTHEA"
- ],
- "type": "string"
- }
- },
- "required": [
- "PreloadDataType"
- ],
- "type": "object"
- },
- "SseConfiguration": {
- "additionalProperties": false,
- "default": {
- "KmsEncryptionConfig": {
- "CmkType": "AWS_OWNED_KMS_KEY"
- }
- },
- "properties": {
- "KmsEncryptionConfig": {
- "$ref": "#/definitions/KmsEncryptionConfig"
- }
- },
- "required": [
- "KmsEncryptionConfig"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "documentationUrl": "https://docs.aws.amazon.com/healthlake/latest/devguide/working-with-FHIR-healthlake.html",
- "primaryIdentifier": [
- "/properties/DatastoreId"
- ],
- "properties": {
- "CreatedAt": {
- "$ref": "#/definitions/CreatedAt"
- },
- "DatastoreArn": {
- "$ref": "#/definitions/DatastoreArn"
- },
- "DatastoreEndpoint": {
- "$ref": "#/definitions/DatastoreEndpoint"
- },
- "DatastoreId": {
- "$ref": "#/definitions/DatastoreId"
- },
- "DatastoreName": {
- "$ref": "#/definitions/DatastoreName"
- },
- "DatastoreStatus": {
- "$ref": "#/definitions/DatastoreStatus"
- },
- "DatastoreTypeVersion": {
- "$ref": "#/definitions/DatastoreTypeVersion"
- },
- "IdentityProviderConfiguration": {
- "$ref": "#/definitions/IdentityProviderConfiguration"
- },
- "PreloadDataConfig": {
- "$ref": "#/definitions/PreloadDataConfig"
- },
- "SseConfiguration": {
- "$ref": "#/definitions/SseConfiguration"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/CreatedAt",
- "/properties/DatastoreArn",
- "/properties/DatastoreEndpoint",
- "/properties/DatastoreId",
- "/properties/DatastoreStatus"
- ],
- "required": [
- "DatastoreTypeVersion"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::HealthLake::FHIRDatastore"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-accesspolicy.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-accesspolicy.json
deleted file mode 100644
index e91d24809d..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-accesspolicy.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "AccessPolicyIdentity": {
- "additionalProperties": false,
- "properties": {
- "IamRole": {
- "$ref": "#/definitions/IamRole"
- },
- "IamUser": {
- "$ref": "#/definitions/IamUser"
- },
- "User": {
- "$ref": "#/definitions/User"
- }
- },
- "type": "object"
- },
- "AccessPolicyResource": {
- "additionalProperties": false,
- "properties": {
- "Portal": {
- "$ref": "#/definitions/Portal"
- },
- "Project": {
- "$ref": "#/definitions/Project"
- }
- },
- "type": "object"
- },
- "IamRole": {
- "additionalProperties": false,
- "properties": {
- "arn": {
- "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "IamUser": {
- "additionalProperties": false,
- "properties": {
- "arn": {
- "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "Portal": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "Project": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "User": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "pattern": "\\S+",
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/AccessPolicyId"
- ],
- "properties": {
- "AccessPolicyArn": {
- "type": "string"
- },
- "AccessPolicyId": {
- "type": "string"
- },
- "AccessPolicyIdentity": {
- "$ref": "#/definitions/AccessPolicyIdentity"
- },
- "AccessPolicyPermission": {
- "enum": [
- "ADMINISTRATOR",
- "VIEWER"
- ],
- "type": "string"
- },
- "AccessPolicyResource": {
- "$ref": "#/definitions/AccessPolicyResource"
- }
- },
- "readOnlyProperties": [
- "/properties/AccessPolicyArn",
- "/properties/AccessPolicyId"
- ],
- "required": [
- "AccessPolicyIdentity",
- "AccessPolicyPermission",
- "AccessPolicyResource"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git",
- "taggable": false,
- "typeName": "AWS::IoTSiteWise::AccessPolicy"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-dashboard.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-dashboard.json
deleted file mode 100644
index 01c4c449d0..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-dashboard.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/DashboardArn"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ProjectId"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/DashboardId"
- ],
- "properties": {
- "DashboardArn": {
- "type": "string"
- },
- "DashboardDefinition": {
- "pattern": ".+",
- "type": "string"
- },
- "DashboardDescription": {
- "pattern": "[^\\u0000-\\u001F\\u007F]+",
- "type": "string"
- },
- "DashboardId": {
- "type": "string"
- },
- "DashboardName": {
- "pattern": "[^\\u0000-\\u001F\\u007F]+",
- "type": "string"
- },
- "ProjectId": {
- "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/DashboardArn",
- "/properties/DashboardId"
- ],
- "required": [
- "DashboardDefinition",
- "DashboardDescription",
- "DashboardName"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iotsitewise.git",
- "taggable": true,
- "typeName": "AWS::IoTSiteWise::Dashboard"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-project.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-project.json
deleted file mode 100644
index 7bf5e1f469..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-project.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/PortalId"
- ],
- "definitions": {
- "AssetId": {
- "type": "string"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ProjectId"
- ],
- "properties": {
- "AssetIds": {
- "items": {
- "$ref": "#/definitions/AssetId"
- },
- "type": "array",
- "uniqueItems": true
- },
- "PortalId": {
- "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
- "type": "string"
- },
- "ProjectArn": {
- "type": "string"
- },
- "ProjectDescription": {
- "pattern": "[^\\u0000-\\u001F\\u007F]+",
- "type": "string"
- },
- "ProjectId": {
- "type": "string"
- },
- "ProjectName": {
- "pattern": "[^\\u0000-\\u001F\\u007F]+",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/ProjectId",
- "/properties/ProjectArn"
- ],
- "required": [
- "PortalId",
- "ProjectName"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git",
- "taggable": true,
- "typeName": "AWS::IoTSiteWise::Project"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-memorydb-cluster.json
deleted file mode 100644
index cba3a3f129..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-memorydb-cluster.json
+++ /dev/null
@@ -1,195 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ClusterName",
- "/properties/TLSEnabled",
- "/properties/DataTiering",
- "/properties/KmsKeyId",
- "/properties/Port",
- "/properties/SubnetGroupName",
- "/properties/SnapshotArns",
- "/properties/SnapshotName"
- ],
- "definitions": {
- "DataTieringStatus": {
- "enum": [
- "true",
- "false"
- ],
- "type": "string"
- },
- "Endpoint": {
- "additionalProperties": false,
- "properties": {
- "Address": {
- "type": "string"
- },
- "Port": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,128}$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,256}$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ClusterName"
- ],
- "properties": {
- "ACLName": {
- "pattern": "[a-zA-Z][a-zA-Z0-9\\-]*",
- "type": "string"
- },
- "ARN": {
- "type": "string"
- },
- "AutoMinorVersionUpgrade": {
- "type": "boolean"
- },
- "ClusterEndpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "ClusterName": {
- "pattern": "[a-z][a-z0-9\\-]*",
- "type": "string"
- },
- "DataTiering": {
- "$ref": "#/definitions/DataTieringStatus",
- "type": "object"
- },
- "Description": {
- "type": "string"
- },
- "Engine": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "FinalSnapshotName": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "MaintenanceWindow": {
- "type": "string"
- },
- "NodeType": {
- "type": "string"
- },
- "NumReplicasPerShard": {
- "type": "integer"
- },
- "NumShards": {
- "type": "integer"
- },
- "ParameterGroupName": {
- "type": "string"
- },
- "ParameterGroupStatus": {
- "type": "string"
- },
- "Port": {
- "type": "integer"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SnapshotArns": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SnapshotName": {
- "type": "string"
- },
- "SnapshotRetentionLimit": {
- "type": "integer"
- },
- "SnapshotWindow": {
- "type": "string"
- },
- "SnsTopicArn": {
- "type": "string"
- },
- "SnsTopicStatus": {
- "type": "string"
- },
- "Status": {
- "type": "string"
- },
- "SubnetGroupName": {
- "type": "string"
- },
- "TLSEnabled": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/Status",
- "/properties/ClusterEndpoint/Address",
- "/properties/ClusterEndpoint/Port",
- "/properties/ARN",
- "/properties/ParameterGroupStatus"
- ],
- "required": [
- "ClusterName",
- "NodeType",
- "ACLName"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-memorydb",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::MemoryDB::Cluster",
- "writeOnlyProperties": [
- "/properties/SnapshotArns",
- "/properties/SnapshotName",
- "/properties/FinalSnapshotName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-workspaces-workspacespool.json
new file mode 100644
index 0000000000..19c638ca23
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-workspaces-workspacespool.json
@@ -0,0 +1,158 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/PoolName"
+ ],
+ "definitions": {
+ "ApplicationSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SettingsGroup": {
+ "maxLength": 100,
+ "pattern": "^[A-Za-z0-9_./()!*'-]+$",
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/ApplicationSettingsStatus"
+ }
+ },
+ "required": [
+ "Status"
+ ],
+ "type": "object"
+ },
+ "ApplicationSettingsStatus": {
+ "enum": [
+ "DISABLED",
+ "ENABLED"
+ ],
+ "type": "string"
+ },
+ "Capacity": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredUserSessions": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredUserSessions"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TimeoutSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DisconnectTimeoutInSeconds": {
+ "maximum": 36000,
+ "minimum": 60,
+ "type": "integer"
+ },
+ "IdleDisconnectTimeoutInSeconds": {
+ "maximum": 36000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "MaxUserDurationInSeconds": {
+ "maximum": 432000,
+ "minimum": 600,
+ "type": "integer"
+ }
+ },
+ "required": [],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/PoolId"
+ ],
+ "properties": {
+ "ApplicationSettings": {
+ "$ref": "#/definitions/ApplicationSettings"
+ },
+ "BundleId": {
+ "pattern": "^wsb-[0-9a-z]{8,63}$",
+ "type": "string"
+ },
+ "Capacity": {
+ "$ref": "#/definitions/Capacity"
+ },
+ "CreatedAt": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_./() -]+$",
+ "type": "string"
+ },
+ "DirectoryId": {
+ "maxLength": 65,
+ "minLength": 10,
+ "pattern": "^wsd-[0-9a-z]{8,63}$",
+ "type": "string"
+ },
+ "PoolArn": {
+ "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$",
+ "type": "string"
+ },
+ "PoolId": {
+ "pattern": "^wspool-[0-9a-z]{9}$",
+ "type": "string"
+ },
+ "PoolName": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TimeoutSettings": {
+ "$ref": "#/definitions/TimeoutSettings"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/PoolId",
+ "/properties/PoolArn",
+ "/properties/CreatedAt"
+ ],
+ "required": [
+ "PoolName",
+ "BundleId",
+ "DirectoryId",
+ "Capacity"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": false,
+ "taggable": true
+ },
+ "typeName": "AWS::WorkSpaces::WorkspacesPool",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py
index 44c39cf021..53d2f55f4d 100644
--- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py
@@ -793,7 +793,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -875,7 +874,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1080,12 +1078,8 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-mediaconnect-flow.json",
"aws-mediaconnect-flowentitlement.json",
"aws-mediaconnect-flowoutput.json",
@@ -1139,7 +1133,6 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-pcaconnectorad-serviceprincipalname.json",
"aws-pcaconnectorad-templategroupaccesscontrolentry.json",
@@ -1147,7 +1140,6 @@
"aws-pcaconnectorscep-connector.json",
"aws-pipes-pipe.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py
index 504b106454..5108f8b92d 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py
@@ -661,6 +661,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -776,6 +777,7 @@
"AWS::Logs::QueryDefinition",
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
+ "AWS::Logs::Transformer",
"AWS::LookoutMetrics::Alert",
"AWS::LookoutMetrics::AnomalyDetector",
"AWS::M2::Application",
@@ -840,6 +842,7 @@
"AWS::MediaTailor::VodSource",
"AWS::MemoryDB::ACL",
"AWS::MemoryDB::Cluster",
+ "AWS::MemoryDB::MultiRegionCluster",
"AWS::MemoryDB::ParameterGroup",
"AWS::MemoryDB::SubnetGroup",
"AWS::MemoryDB::User",
@@ -861,6 +864,7 @@
"AWS::NetworkManager::CoreNetwork",
"AWS::NetworkManager::CustomerGatewayAssociation",
"AWS::NetworkManager::Device",
+ "AWS::NetworkManager::DirectConnectGatewayAttachment",
"AWS::NetworkManager::GlobalNetwork",
"AWS::NetworkManager::Link",
"AWS::NetworkManager::LinkAssociation",
@@ -1037,6 +1041,8 @@
"AWS::S3::MultiRegionAccessPointPolicy",
"AWS::S3::StorageLens",
"AWS::S3::StorageLensGroup",
+ "AWS::S3Express::BucketPolicy",
+ "AWS::S3Express::DirectoryBucket",
"AWS::S3ObjectLambda::AccessPoint",
"AWS::S3ObjectLambda::AccessPointPolicy",
"AWS::S3Outposts::AccessPoint",
@@ -1532,6 +1538,7 @@
"aws-connect-phonenumber.json",
"aws-connect-predefinedattribute.json",
"aws-connect-prompt.json",
+ "aws-connect-queue.json",
"aws-connect-quickconnect.json",
"aws-connect-routingprofile.json",
"aws-connect-rule.json",
@@ -1744,6 +1751,7 @@
"aws-elasticache-replicationgroup.json",
"aws-elasticache-securitygroup.json",
"aws-elasticache-securitygroupingress.json",
+ "aws-elasticache-serverlesscache.json",
"aws-elasticache-subnetgroup.json",
"aws-elasticache-user.json",
"aws-elasticbeanstalk-application.json",
@@ -1909,6 +1917,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1935,9 +1944,12 @@
"aws-iotevents-detectormodel.json",
"aws-iotevents-input.json",
"aws-iotfleethub-application.json",
+ "aws-iotsitewise-accesspolicy.json",
"aws-iotsitewise-asset.json",
"aws-iotsitewise-assetmodel.json",
+ "aws-iotsitewise-dashboard.json",
"aws-iotsitewise-gateway.json",
+ "aws-iotsitewise-project.json",
"aws-iottwinmaker-componenttype.json",
"aws-iottwinmaker-entity.json",
"aws-iottwinmaker-scene.json",
@@ -1948,6 +1960,7 @@
"aws-kafkaconnect-workerconfiguration.json",
"aws-kendra-datasource.json",
"aws-kendra-faq.json",
+ "aws-kendra-index.json",
"aws-kendraranking-executionplan.json",
"aws-kinesis-resourcepolicy.json",
"aws-kinesis-stream.json",
@@ -2019,6 +2032,7 @@
"aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
"aws-logs-subscriptionfilter.json",
+ "aws-logs-transformer.json",
"aws-lookoutmetrics-alert.json",
"aws-lookoutmetrics-anomalydetector.json",
"aws-m2-application.json",
@@ -2043,7 +2057,6 @@
"aws-mediaconvert-preset.json",
"aws-mediaconvert-queue.json",
"aws-medialive-channel.json",
- "aws-medialive-channelplacementgroup.json",
"aws-medialive-cloudwatchalarmtemplate.json",
"aws-medialive-cloudwatchalarmtemplategroup.json",
"aws-medialive-cluster.json",
@@ -2073,6 +2086,8 @@
"aws-mediatailor-sourcelocation.json",
"aws-mediatailor-vodsource.json",
"aws-memorydb-acl.json",
+ "aws-memorydb-cluster.json",
+ "aws-memorydb-multiregioncluster.json",
"aws-memorydb-parametergroup.json",
"aws-memorydb-subnetgroup.json",
"aws-memorydb-user.json",
@@ -2099,6 +2114,7 @@
"aws-networkmanager-corenetwork.json",
"aws-networkmanager-customergatewayassociation.json",
"aws-networkmanager-device.json",
+ "aws-networkmanager-directconnectgatewayattachment.json",
"aws-networkmanager-globalnetwork.json",
"aws-networkmanager-link.json",
"aws-networkmanager-linkassociation.json",
@@ -2270,6 +2286,8 @@
"aws-s3-multiregionaccesspointpolicy.json",
"aws-s3-storagelens.json",
"aws-s3-storagelensgroup.json",
+ "aws-s3express-bucketpolicy.json",
+ "aws-s3express-directorybucket.json",
"aws-s3objectlambda-accesspoint.json",
"aws-s3objectlambda-accesspointpolicy.json",
"aws-s3outposts-accesspoint.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-connect-queue.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-connect-queue.json
deleted file mode 100644
index 0c823321dc..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-connect-queue.json
+++ /dev/null
@@ -1,166 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$",
- "type": "string"
- },
- "OutboundCallerConfig": {
- "additionalProperties": false,
- "properties": {
- "OutboundCallerIdName": {
- "$ref": "#/definitions/OutboundCallerIdName"
- },
- "OutboundCallerIdNumberArn": {
- "$ref": "#/definitions/OutboundCallerIdNumberArn"
- },
- "OutboundFlowArn": {
- "$ref": "#/definitions/OutboundFlowArn"
- }
- },
- "type": "object"
- },
- "OutboundCallerIdName": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- },
- "OutboundCallerIdNumberArn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:phone-number/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "OutboundEmailAddressId": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/email-address/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "OutboundEmailConfig": {
- "additionalProperties": false,
- "properties": {
- "OutboundEmailAddressId": {
- "$ref": "#/definitions/OutboundEmailAddressId"
- }
- },
- "type": "object"
- },
- "OutboundFlowArn": {
- "maxLength": 500,
- "minLength": 1,
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "QuickConnectArn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/transfer-destination/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "$ref": "#/definitions/Key"
- },
- "Value": {
- "$ref": "#/definitions/Value"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "primaryIdentifier": [
- "/properties/QueueArn"
- ],
- "properties": {
- "Description": {
- "maxLength": 250,
- "minLength": 1,
- "type": "string"
- },
- "HoursOfOperationArn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/operating-hours/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "InstanceArn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "MaxContacts": {
- "minimum": 0,
- "type": "integer"
- },
- "Name": {
- "maxLength": 127,
- "minLength": 1,
- "type": "string"
- },
- "OutboundCallerConfig": {
- "$ref": "#/definitions/OutboundCallerConfig"
- },
- "OutboundEmailConfig": {
- "$ref": "#/definitions/OutboundEmailConfig"
- },
- "QueueArn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/queue/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "QuickConnectArns": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/QuickConnectArn"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "Status": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "Type": {
- "enum": [
- "STANDARD",
- "AGENT"
- ],
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/QueueArn",
- "/properties/Type"
- ],
- "required": [
- "InstanceArn",
- "HoursOfOperationArn",
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Connect::Queue"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-elasticache-serverlesscache.json
deleted file mode 100644
index 3b7cde6c66..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-elasticache-serverlesscache.json
+++ /dev/null
@@ -1,205 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ServerlessCacheName",
- "/properties/Engine",
- "/properties/MajorEngineVersion",
- "/properties/KmsKeyId",
- "/properties/SnapshotArnsToRestore",
- "/properties/SubnetIds"
- ],
- "definitions": {
- "CacheUsageLimits": {
- "additionalProperties": false,
- "properties": {
- "DataStorage": {
- "$ref": "#/definitions/DataStorage"
- },
- "ECPUPerSecond": {
- "$ref": "#/definitions/ECPUPerSecond"
- }
- },
- "type": "object"
- },
- "DataStorage": {
- "additionalProperties": false,
- "properties": {
- "Maximum": {
- "type": "integer"
- },
- "Minimum": {
- "type": "integer"
- },
- "Unit": {
- "enum": [
- "GB"
- ],
- "type": "string"
- }
- },
- "required": [
- "Unit"
- ],
- "type": "object"
- },
- "ECPUPerSecond": {
- "additionalProperties": false,
- "properties": {
- "Maximum": {
- "type": "integer"
- },
- "Minimum": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Endpoint": {
- "additionalProperties": false,
- "properties": {
- "Address": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)[a-zA-Z0-9 _\\.\\/=+:\\-@]*$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "pattern": "^[a-zA-Z0-9 _\\.\\/=+:\\-@]*$",
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ServerlessCacheName"
- ],
- "properties": {
- "ARN": {
- "type": "string"
- },
- "CacheUsageLimits": {
- "$ref": "#/definitions/CacheUsageLimits"
- },
- "CreateTime": {
- "type": "string"
- },
- "DailySnapshotTime": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Endpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "Engine": {
- "type": "string"
- },
- "FinalSnapshotName": {
- "type": "string"
- },
- "FullEngineVersion": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "MajorEngineVersion": {
- "type": "string"
- },
- "ReaderEndpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "ServerlessCacheName": {
- "type": "string"
- },
- "SnapshotArnsToRestore": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "SnapshotRetentionLimit": {
- "type": "integer"
- },
- "Status": {
- "type": "string"
- },
- "SubnetIds": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": true
- },
- "UserGroupId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/FullEngineVersion",
- "/properties/CreateTime",
- "/properties/Status",
- "/properties/Endpoint/Address",
- "/properties/Endpoint/Port",
- "/properties/ReaderEndpoint/Address",
- "/properties/ReaderEndpoint/Port",
- "/properties/ARN"
- ],
- "required": [
- "ServerlessCacheName",
- "Engine"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticache",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ElastiCache::ServerlessCache",
- "writeOnlyProperties": [
- "/properties/SnapshotArnsToRestore",
- "/properties/FinalSnapshotName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-accesspolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-accesspolicy.json
deleted file mode 100644
index e91d24809d..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-accesspolicy.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "AccessPolicyIdentity": {
- "additionalProperties": false,
- "properties": {
- "IamRole": {
- "$ref": "#/definitions/IamRole"
- },
- "IamUser": {
- "$ref": "#/definitions/IamUser"
- },
- "User": {
- "$ref": "#/definitions/User"
- }
- },
- "type": "object"
- },
- "AccessPolicyResource": {
- "additionalProperties": false,
- "properties": {
- "Portal": {
- "$ref": "#/definitions/Portal"
- },
- "Project": {
- "$ref": "#/definitions/Project"
- }
- },
- "type": "object"
- },
- "IamRole": {
- "additionalProperties": false,
- "properties": {
- "arn": {
- "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "IamUser": {
- "additionalProperties": false,
- "properties": {
- "arn": {
- "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "Portal": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "Project": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "User": {
- "additionalProperties": false,
- "properties": {
- "id": {
- "pattern": "\\S+",
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/AccessPolicyId"
- ],
- "properties": {
- "AccessPolicyArn": {
- "type": "string"
- },
- "AccessPolicyId": {
- "type": "string"
- },
- "AccessPolicyIdentity": {
- "$ref": "#/definitions/AccessPolicyIdentity"
- },
- "AccessPolicyPermission": {
- "enum": [
- "ADMINISTRATOR",
- "VIEWER"
- ],
- "type": "string"
- },
- "AccessPolicyResource": {
- "$ref": "#/definitions/AccessPolicyResource"
- }
- },
- "readOnlyProperties": [
- "/properties/AccessPolicyArn",
- "/properties/AccessPolicyId"
- ],
- "required": [
- "AccessPolicyIdentity",
- "AccessPolicyPermission",
- "AccessPolicyResource"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git",
- "taggable": false,
- "typeName": "AWS::IoTSiteWise::AccessPolicy"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-dashboard.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-dashboard.json
deleted file mode 100644
index 01c4c449d0..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-dashboard.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/DashboardArn"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ProjectId"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/DashboardId"
- ],
- "properties": {
- "DashboardArn": {
- "type": "string"
- },
- "DashboardDefinition": {
- "pattern": ".+",
- "type": "string"
- },
- "DashboardDescription": {
- "pattern": "[^\\u0000-\\u001F\\u007F]+",
- "type": "string"
- },
- "DashboardId": {
- "type": "string"
- },
- "DashboardName": {
- "pattern": "[^\\u0000-\\u001F\\u007F]+",
- "type": "string"
- },
- "ProjectId": {
- "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/DashboardArn",
- "/properties/DashboardId"
- ],
- "required": [
- "DashboardDefinition",
- "DashboardDescription",
- "DashboardName"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iotsitewise.git",
- "taggable": true,
- "typeName": "AWS::IoTSiteWise::Dashboard"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-project.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-project.json
deleted file mode 100644
index 7bf5e1f469..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-project.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/PortalId"
- ],
- "definitions": {
- "AssetId": {
- "type": "string"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ProjectId"
- ],
- "properties": {
- "AssetIds": {
- "items": {
- "$ref": "#/definitions/AssetId"
- },
- "type": "array",
- "uniqueItems": true
- },
- "PortalId": {
- "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
- "type": "string"
- },
- "ProjectArn": {
- "type": "string"
- },
- "ProjectDescription": {
- "pattern": "[^\\u0000-\\u001F\\u007F]+",
- "type": "string"
- },
- "ProjectId": {
- "type": "string"
- },
- "ProjectName": {
- "pattern": "[^\\u0000-\\u001F\\u007F]+",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/ProjectId",
- "/properties/ProjectArn"
- ],
- "required": [
- "PortalId",
- "ProjectName"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git",
- "taggable": true,
- "typeName": "AWS::IoTSiteWise::Project"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-kendra-index.json
deleted file mode 100644
index 1dfc2d6d88..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-kendra-index.json
+++ /dev/null
@@ -1,394 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Edition",
- "/properties/ServerSideEncryptionConfiguration"
- ],
- "definitions": {
- "Arn": {
- "maxLength": 1000,
- "type": "string"
- },
- "CapacityUnitsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "QueryCapacityUnits": {
- "$ref": "#/definitions/QueryCapacityUnits"
- },
- "StorageCapacityUnits": {
- "$ref": "#/definitions/StorageCapacityUnits"
- }
- },
- "required": [
- "StorageCapacityUnits",
- "QueryCapacityUnits"
- ],
- "type": "object"
- },
- "ClaimRegex": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Description": {
- "maxLength": 1000,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "DocumentAttributeValueType": {
- "enum": [
- "STRING_VALUE",
- "STRING_LIST_VALUE",
- "LONG_VALUE",
- "DATE_VALUE"
- ],
- "type": "string"
- },
- "DocumentMetadataConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "$ref": "#/definitions/DocumentMetadataConfigurationName"
- },
- "Relevance": {
- "$ref": "#/definitions/Relevance"
- },
- "Search": {
- "$ref": "#/definitions/Search"
- },
- "Type": {
- "$ref": "#/definitions/DocumentAttributeValueType"
- }
- },
- "required": [
- "Name",
- "Type"
- ],
- "type": "object"
- },
- "DocumentMetadataConfigurationList": {
- "items": {
- "$ref": "#/definitions/DocumentMetadataConfiguration"
- },
- "maxItems": 500,
- "type": "array"
- },
- "DocumentMetadataConfigurationName": {
- "maxLength": 30,
- "minLength": 1,
- "type": "string"
- },
- "Duration": {
- "maxLength": 10,
- "minLength": 1,
- "pattern": "[0-9]+[s]",
- "type": "string"
- },
- "Edition": {
- "enum": [
- "DEVELOPER_EDITION",
- "ENTERPRISE_EDITION"
- ],
- "type": "string"
- },
- "Freshness": {
- "type": "boolean"
- },
- "GroupAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Id": {
- "maxLength": 36,
- "minLength": 36,
- "type": "string"
- },
- "Importance": {
- "maximum": 10,
- "minimum": 1,
- "type": "integer"
- },
- "Issuer": {
- "maxLength": 65,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "JsonTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "UserNameAttributeField",
- "GroupAttributeField"
- ],
- "type": "object"
- },
- "JwtTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ClaimRegex": {
- "$ref": "#/definitions/ClaimRegex"
- },
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "Issuer": {
- "$ref": "#/definitions/Issuer"
- },
- "KeyLocation": {
- "$ref": "#/definitions/KeyLocation"
- },
- "SecretManagerArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "URL": {
- "$ref": "#/definitions/Url"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "KeyLocation"
- ],
- "type": "object"
- },
- "KeyLocation": {
- "enum": [
- "URL",
- "SECRET_MANAGER"
- ],
- "type": "string"
- },
- "KmsKeyId": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 1000,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*",
- "type": "string"
- },
- "Order": {
- "enum": [
- "ASCENDING",
- "DESCENDING"
- ],
- "type": "string"
- },
- "QueryCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Relevance": {
- "additionalProperties": false,
- "properties": {
- "Duration": {
- "$ref": "#/definitions/Duration"
- },
- "Freshness": {
- "$ref": "#/definitions/Freshness"
- },
- "Importance": {
- "$ref": "#/definitions/Importance"
- },
- "RankOrder": {
- "$ref": "#/definitions/Order"
- },
- "ValueImportanceItems": {
- "$ref": "#/definitions/ValueImportanceItems"
- }
- },
- "type": "object"
- },
- "RoleArn": {
- "maxLength": 1284,
- "minLength": 1,
- "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
- "type": "string"
- },
- "Search": {
- "additionalProperties": false,
- "properties": {
- "Displayable": {
- "type": "boolean"
- },
- "Facetable": {
- "type": "boolean"
- },
- "Searchable": {
- "type": "boolean"
- },
- "Sortable": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ServerSideEncryptionConfiguration": {
- "additionalProperties": false,
- "properties": {
- "KmsKeyId": {
- "$ref": "#/definitions/KmsKeyId"
- }
- },
- "type": "object"
- },
- "StorageCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TagList": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 200,
- "type": "array"
- },
- "Url": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)",
- "type": "string"
- },
- "UserContextPolicy": {
- "enum": [
- "ATTRIBUTE_FILTER",
- "USER_TOKEN"
- ],
- "type": "string"
- },
- "UserNameAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "UserTokenConfiguration": {
- "additionalProperties": false,
- "properties": {
- "JsonTokenTypeConfiguration": {
- "$ref": "#/definitions/JsonTokenTypeConfiguration"
- },
- "JwtTokenTypeConfiguration": {
- "$ref": "#/definitions/JwtTokenTypeConfiguration"
- }
- },
- "type": "object"
- },
- "UserTokenConfigurationList": {
- "items": {
- "$ref": "#/definitions/UserTokenConfiguration"
- },
- "maxItems": 1,
- "type": "array"
- },
- "ValueImportanceItem": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "$ref": "#/definitions/ValueImportanceItemKey"
- },
- "Value": {
- "$ref": "#/definitions/Importance"
- }
- },
- "type": "object"
- },
- "ValueImportanceItemKey": {
- "maxLength": 50,
- "minLength": 1,
- "type": "string"
- },
- "ValueImportanceItems": {
- "items": {
- "$ref": "#/definitions/ValueImportanceItem"
- },
- "type": "array"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "$ref": "#/definitions/Arn"
- },
- "CapacityUnits": {
- "$ref": "#/definitions/CapacityUnitsConfiguration"
- },
- "Description": {
- "$ref": "#/definitions/Description"
- },
- "DocumentMetadataConfigurations": {
- "$ref": "#/definitions/DocumentMetadataConfigurationList"
- },
- "Edition": {
- "$ref": "#/definitions/Edition"
- },
- "Id": {
- "$ref": "#/definitions/Id"
- },
- "Name": {
- "$ref": "#/definitions/Name"
- },
- "RoleArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "ServerSideEncryptionConfiguration": {
- "$ref": "#/definitions/ServerSideEncryptionConfiguration"
- },
- "Tags": {
- "$ref": "#/definitions/TagList"
- },
- "UserContextPolicy": {
- "$ref": "#/definitions/UserContextPolicy"
- },
- "UserTokenConfigurations": {
- "$ref": "#/definitions/UserTokenConfigurationList"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn"
- ],
- "required": [
- "Name",
- "RoleArn",
- "Edition"
- ],
- "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html",
- "typeName": "AWS::Kendra::Index"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-medialive-channelplacementgroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-medialive-channelplacementgroup.json
new file mode 100644
index 0000000000..bfa12294fa
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-medialive-channelplacementgroup.json
@@ -0,0 +1,88 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ClusterId"
+ ],
+ "definitions": {
+ "ChannelPlacementGroupState": {
+ "enum": [
+ "UNASSIGNED",
+ "ASSIGNING",
+ "ASSIGNED",
+ "DELETING",
+ "DELETED",
+ "UNASSIGNING"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id",
+ "/properties/ClusterId"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "Channels": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "ClusterId": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Nodes": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "State": {
+ "$ref": "#/definitions/ChannelPlacementGroupState"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tags"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Channels",
+ "/properties/Id",
+ "/properties/State"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MediaLive::ChannelPlacementGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-memorydb-cluster.json
deleted file mode 100644
index cba3a3f129..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-memorydb-cluster.json
+++ /dev/null
@@ -1,195 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ClusterName",
- "/properties/TLSEnabled",
- "/properties/DataTiering",
- "/properties/KmsKeyId",
- "/properties/Port",
- "/properties/SubnetGroupName",
- "/properties/SnapshotArns",
- "/properties/SnapshotName"
- ],
- "definitions": {
- "DataTieringStatus": {
- "enum": [
- "true",
- "false"
- ],
- "type": "string"
- },
- "Endpoint": {
- "additionalProperties": false,
- "properties": {
- "Address": {
- "type": "string"
- },
- "Port": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,128}$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,256}$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ClusterName"
- ],
- "properties": {
- "ACLName": {
- "pattern": "[a-zA-Z][a-zA-Z0-9\\-]*",
- "type": "string"
- },
- "ARN": {
- "type": "string"
- },
- "AutoMinorVersionUpgrade": {
- "type": "boolean"
- },
- "ClusterEndpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "ClusterName": {
- "pattern": "[a-z][a-z0-9\\-]*",
- "type": "string"
- },
- "DataTiering": {
- "$ref": "#/definitions/DataTieringStatus",
- "type": "object"
- },
- "Description": {
- "type": "string"
- },
- "Engine": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "FinalSnapshotName": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "MaintenanceWindow": {
- "type": "string"
- },
- "NodeType": {
- "type": "string"
- },
- "NumReplicasPerShard": {
- "type": "integer"
- },
- "NumShards": {
- "type": "integer"
- },
- "ParameterGroupName": {
- "type": "string"
- },
- "ParameterGroupStatus": {
- "type": "string"
- },
- "Port": {
- "type": "integer"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SnapshotArns": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SnapshotName": {
- "type": "string"
- },
- "SnapshotRetentionLimit": {
- "type": "integer"
- },
- "SnapshotWindow": {
- "type": "string"
- },
- "SnsTopicArn": {
- "type": "string"
- },
- "SnsTopicStatus": {
- "type": "string"
- },
- "Status": {
- "type": "string"
- },
- "SubnetGroupName": {
- "type": "string"
- },
- "TLSEnabled": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/Status",
- "/properties/ClusterEndpoint/Address",
- "/properties/ClusterEndpoint/Port",
- "/properties/ARN",
- "/properties/ParameterGroupStatus"
- ],
- "required": [
- "ClusterName",
- "NodeType",
- "ACLName"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-memorydb",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::MemoryDB::Cluster",
- "writeOnlyProperties": [
- "/properties/SnapshotArns",
- "/properties/SnapshotName",
- "/properties/FinalSnapshotName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py
index 1dce9d3c22..9b07f89c67 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py
@@ -670,6 +670,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -799,6 +800,7 @@
"AWS::Logs::QueryDefinition",
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
+ "AWS::Logs::Transformer",
"AWS::LookoutMetrics::Alert",
"AWS::LookoutMetrics::AnomalyDetector",
"AWS::M2::Application",
@@ -861,6 +863,7 @@
"AWS::MediaTailor::VodSource",
"AWS::MemoryDB::ACL",
"AWS::MemoryDB::Cluster",
+ "AWS::MemoryDB::MultiRegionCluster",
"AWS::MemoryDB::ParameterGroup",
"AWS::MemoryDB::SubnetGroup",
"AWS::MemoryDB::User",
@@ -880,6 +883,7 @@
"AWS::NetworkManager::CoreNetwork",
"AWS::NetworkManager::CustomerGatewayAssociation",
"AWS::NetworkManager::Device",
+ "AWS::NetworkManager::DirectConnectGatewayAttachment",
"AWS::NetworkManager::GlobalNetwork",
"AWS::NetworkManager::Link",
"AWS::NetworkManager::LinkAssociation",
@@ -1310,6 +1314,7 @@
"aws-apigateway-documentationversion.json",
"aws-apigateway-domainname.json",
"aws-apigateway-domainnameaccessassociation.json",
+ "aws-apigateway-domainnamev2.json",
"aws-apigateway-gatewayresponse.json",
"aws-apigateway-method.json",
"aws-apigateway-model.json",
@@ -1468,6 +1473,7 @@
"aws-cloudformation-resourceversion.json",
"aws-cloudformation-stack.json",
"aws-cloudformation-stackset.json",
+ "aws-cloudformation-typeactivation.json",
"aws-cloudformation-waitcondition.json",
"aws-cloudformation-waitconditionhandle.json",
"aws-cloudfront-cachepolicy.json",
@@ -1947,6 +1953,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -2004,6 +2011,7 @@
"aws-kafkaconnect-workerconfiguration.json",
"aws-kendra-datasource.json",
"aws-kendra-faq.json",
+ "aws-kendra-index.json",
"aws-kendraranking-executionplan.json",
"aws-kinesis-resourcepolicy.json",
"aws-kinesis-stream.json",
@@ -2074,11 +2082,11 @@
"aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
"aws-logs-subscriptionfilter.json",
+ "aws-logs-transformer.json",
"aws-lookoutmetrics-alert.json",
"aws-lookoutmetrics-anomalydetector.json",
"aws-m2-application.json",
"aws-m2-deployment.json",
- "aws-m2-environment.json",
"aws-macie-allowlist.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
@@ -2127,6 +2135,8 @@
"aws-mediatailor-sourcelocation.json",
"aws-mediatailor-vodsource.json",
"aws-memorydb-acl.json",
+ "aws-memorydb-cluster.json",
+ "aws-memorydb-multiregioncluster.json",
"aws-memorydb-parametergroup.json",
"aws-memorydb-subnetgroup.json",
"aws-memorydb-user.json",
@@ -2151,6 +2161,7 @@
"aws-networkmanager-corenetwork.json",
"aws-networkmanager-customergatewayassociation.json",
"aws-networkmanager-device.json",
+ "aws-networkmanager-directconnectgatewayattachment.json",
"aws-networkmanager-globalnetwork.json",
"aws-networkmanager-link.json",
"aws-networkmanager-linkassociation.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-apigateway-domainnamev2.json
deleted file mode 100644
index 04d35d51f4..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-apigateway-domainnamev2.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DomainName",
- "/properties/SecurityPolicy",
- "/properties/EndpointConfiguration"
- ],
- "definitions": {
- "EndpointConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Types": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/DomainNameArn"
- ],
- "properties": {
- "CertificateArn": {
- "type": "string"
- },
- "DomainName": {
- "type": "string"
- },
- "DomainNameArn": {
- "type": "string"
- },
- "DomainNameId": {
- "type": "string"
- },
- "EndpointConfiguration": {
- "$ref": "#/definitions/EndpointConfiguration"
- },
- "ManagementPolicy": {
- "type": [
- "object",
- "string"
- ]
- },
- "Policy": {
- "type": [
- "object",
- "string"
- ]
- },
- "SecurityPolicy": {
- "type": "string"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/DomainNameId",
- "/properties/DomainNameArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ApiGateway::DomainNameV2"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cloudformation-typeactivation.json
deleted file mode 100644
index 730262bfac..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cloudformation-typeactivation.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ExecutionRoleArn",
- "/properties/LoggingConfig",
- "/properties/TypeNameAlias",
- "/properties/TypeName",
- "/properties/Type",
- "/properties/PublisherId",
- "/properties/PublicTypeArn"
- ],
- "definitions": {
- "LoggingConfig": {
- "additionalProperties": false,
- "properties": {
- "LogGroupName": {
- "maxLength": 512,
- "minLength": 1,
- "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
- "type": "string"
- },
- "LogRoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "oneOf": [
- {
- "required": [
- "TypeName",
- "PublisherId",
- "Type"
- ]
- },
- {
- "required": [
- "PublicTypeArn"
- ]
- }
- ],
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "AutoUpdate": {
- "type": "boolean"
- },
- "ExecutionRoleArn": {
- "type": "string"
- },
- "LoggingConfig": {
- "$ref": "#/definitions/LoggingConfig"
- },
- "MajorVersion": {
- "maxLength": 100000,
- "minLength": 1,
- "type": "string"
- },
- "PublicTypeArn": {
- "maxLength": 1024,
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "PublisherId": {
- "maxLength": 40,
- "minLength": 1,
- "pattern": "[0-9a-zA-Z-]{40}",
- "type": "string"
- },
- "Type": {
- "enum": [
- "RESOURCE",
- "MODULE",
- "HOOK"
- ],
- "type": "string"
- },
- "TypeName": {
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "TypeNameAlias": {
- "maxLength": 204,
- "minLength": 10,
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "VersionBump": {
- "enum": [
- "MAJOR",
- "MINOR"
- ],
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation",
- "typeName": "AWS::CloudFormation::TypeActivation"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-kendra-index.json
deleted file mode 100644
index 1dfc2d6d88..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-kendra-index.json
+++ /dev/null
@@ -1,394 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Edition",
- "/properties/ServerSideEncryptionConfiguration"
- ],
- "definitions": {
- "Arn": {
- "maxLength": 1000,
- "type": "string"
- },
- "CapacityUnitsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "QueryCapacityUnits": {
- "$ref": "#/definitions/QueryCapacityUnits"
- },
- "StorageCapacityUnits": {
- "$ref": "#/definitions/StorageCapacityUnits"
- }
- },
- "required": [
- "StorageCapacityUnits",
- "QueryCapacityUnits"
- ],
- "type": "object"
- },
- "ClaimRegex": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Description": {
- "maxLength": 1000,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "DocumentAttributeValueType": {
- "enum": [
- "STRING_VALUE",
- "STRING_LIST_VALUE",
- "LONG_VALUE",
- "DATE_VALUE"
- ],
- "type": "string"
- },
- "DocumentMetadataConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "$ref": "#/definitions/DocumentMetadataConfigurationName"
- },
- "Relevance": {
- "$ref": "#/definitions/Relevance"
- },
- "Search": {
- "$ref": "#/definitions/Search"
- },
- "Type": {
- "$ref": "#/definitions/DocumentAttributeValueType"
- }
- },
- "required": [
- "Name",
- "Type"
- ],
- "type": "object"
- },
- "DocumentMetadataConfigurationList": {
- "items": {
- "$ref": "#/definitions/DocumentMetadataConfiguration"
- },
- "maxItems": 500,
- "type": "array"
- },
- "DocumentMetadataConfigurationName": {
- "maxLength": 30,
- "minLength": 1,
- "type": "string"
- },
- "Duration": {
- "maxLength": 10,
- "minLength": 1,
- "pattern": "[0-9]+[s]",
- "type": "string"
- },
- "Edition": {
- "enum": [
- "DEVELOPER_EDITION",
- "ENTERPRISE_EDITION"
- ],
- "type": "string"
- },
- "Freshness": {
- "type": "boolean"
- },
- "GroupAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Id": {
- "maxLength": 36,
- "minLength": 36,
- "type": "string"
- },
- "Importance": {
- "maximum": 10,
- "minimum": 1,
- "type": "integer"
- },
- "Issuer": {
- "maxLength": 65,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "JsonTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "UserNameAttributeField",
- "GroupAttributeField"
- ],
- "type": "object"
- },
- "JwtTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ClaimRegex": {
- "$ref": "#/definitions/ClaimRegex"
- },
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "Issuer": {
- "$ref": "#/definitions/Issuer"
- },
- "KeyLocation": {
- "$ref": "#/definitions/KeyLocation"
- },
- "SecretManagerArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "URL": {
- "$ref": "#/definitions/Url"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "KeyLocation"
- ],
- "type": "object"
- },
- "KeyLocation": {
- "enum": [
- "URL",
- "SECRET_MANAGER"
- ],
- "type": "string"
- },
- "KmsKeyId": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 1000,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*",
- "type": "string"
- },
- "Order": {
- "enum": [
- "ASCENDING",
- "DESCENDING"
- ],
- "type": "string"
- },
- "QueryCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Relevance": {
- "additionalProperties": false,
- "properties": {
- "Duration": {
- "$ref": "#/definitions/Duration"
- },
- "Freshness": {
- "$ref": "#/definitions/Freshness"
- },
- "Importance": {
- "$ref": "#/definitions/Importance"
- },
- "RankOrder": {
- "$ref": "#/definitions/Order"
- },
- "ValueImportanceItems": {
- "$ref": "#/definitions/ValueImportanceItems"
- }
- },
- "type": "object"
- },
- "RoleArn": {
- "maxLength": 1284,
- "minLength": 1,
- "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
- "type": "string"
- },
- "Search": {
- "additionalProperties": false,
- "properties": {
- "Displayable": {
- "type": "boolean"
- },
- "Facetable": {
- "type": "boolean"
- },
- "Searchable": {
- "type": "boolean"
- },
- "Sortable": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ServerSideEncryptionConfiguration": {
- "additionalProperties": false,
- "properties": {
- "KmsKeyId": {
- "$ref": "#/definitions/KmsKeyId"
- }
- },
- "type": "object"
- },
- "StorageCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TagList": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 200,
- "type": "array"
- },
- "Url": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)",
- "type": "string"
- },
- "UserContextPolicy": {
- "enum": [
- "ATTRIBUTE_FILTER",
- "USER_TOKEN"
- ],
- "type": "string"
- },
- "UserNameAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "UserTokenConfiguration": {
- "additionalProperties": false,
- "properties": {
- "JsonTokenTypeConfiguration": {
- "$ref": "#/definitions/JsonTokenTypeConfiguration"
- },
- "JwtTokenTypeConfiguration": {
- "$ref": "#/definitions/JwtTokenTypeConfiguration"
- }
- },
- "type": "object"
- },
- "UserTokenConfigurationList": {
- "items": {
- "$ref": "#/definitions/UserTokenConfiguration"
- },
- "maxItems": 1,
- "type": "array"
- },
- "ValueImportanceItem": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "$ref": "#/definitions/ValueImportanceItemKey"
- },
- "Value": {
- "$ref": "#/definitions/Importance"
- }
- },
- "type": "object"
- },
- "ValueImportanceItemKey": {
- "maxLength": 50,
- "minLength": 1,
- "type": "string"
- },
- "ValueImportanceItems": {
- "items": {
- "$ref": "#/definitions/ValueImportanceItem"
- },
- "type": "array"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "$ref": "#/definitions/Arn"
- },
- "CapacityUnits": {
- "$ref": "#/definitions/CapacityUnitsConfiguration"
- },
- "Description": {
- "$ref": "#/definitions/Description"
- },
- "DocumentMetadataConfigurations": {
- "$ref": "#/definitions/DocumentMetadataConfigurationList"
- },
- "Edition": {
- "$ref": "#/definitions/Edition"
- },
- "Id": {
- "$ref": "#/definitions/Id"
- },
- "Name": {
- "$ref": "#/definitions/Name"
- },
- "RoleArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "ServerSideEncryptionConfiguration": {
- "$ref": "#/definitions/ServerSideEncryptionConfiguration"
- },
- "Tags": {
- "$ref": "#/definitions/TagList"
- },
- "UserContextPolicy": {
- "$ref": "#/definitions/UserContextPolicy"
- },
- "UserTokenConfigurations": {
- "$ref": "#/definitions/UserTokenConfigurationList"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn"
- ],
- "required": [
- "Name",
- "RoleArn",
- "Edition"
- ],
- "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html",
- "typeName": "AWS::Kendra::Index"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-memorydb-cluster.json
deleted file mode 100644
index cba3a3f129..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-memorydb-cluster.json
+++ /dev/null
@@ -1,195 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ClusterName",
- "/properties/TLSEnabled",
- "/properties/DataTiering",
- "/properties/KmsKeyId",
- "/properties/Port",
- "/properties/SubnetGroupName",
- "/properties/SnapshotArns",
- "/properties/SnapshotName"
- ],
- "definitions": {
- "DataTieringStatus": {
- "enum": [
- "true",
- "false"
- ],
- "type": "string"
- },
- "Endpoint": {
- "additionalProperties": false,
- "properties": {
- "Address": {
- "type": "string"
- },
- "Port": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,128}$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,256}$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ClusterName"
- ],
- "properties": {
- "ACLName": {
- "pattern": "[a-zA-Z][a-zA-Z0-9\\-]*",
- "type": "string"
- },
- "ARN": {
- "type": "string"
- },
- "AutoMinorVersionUpgrade": {
- "type": "boolean"
- },
- "ClusterEndpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "ClusterName": {
- "pattern": "[a-z][a-z0-9\\-]*",
- "type": "string"
- },
- "DataTiering": {
- "$ref": "#/definitions/DataTieringStatus",
- "type": "object"
- },
- "Description": {
- "type": "string"
- },
- "Engine": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "FinalSnapshotName": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "MaintenanceWindow": {
- "type": "string"
- },
- "NodeType": {
- "type": "string"
- },
- "NumReplicasPerShard": {
- "type": "integer"
- },
- "NumShards": {
- "type": "integer"
- },
- "ParameterGroupName": {
- "type": "string"
- },
- "ParameterGroupStatus": {
- "type": "string"
- },
- "Port": {
- "type": "integer"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SnapshotArns": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SnapshotName": {
- "type": "string"
- },
- "SnapshotRetentionLimit": {
- "type": "integer"
- },
- "SnapshotWindow": {
- "type": "string"
- },
- "SnsTopicArn": {
- "type": "string"
- },
- "SnsTopicStatus": {
- "type": "string"
- },
- "Status": {
- "type": "string"
- },
- "SubnetGroupName": {
- "type": "string"
- },
- "TLSEnabled": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/Status",
- "/properties/ClusterEndpoint/Address",
- "/properties/ClusterEndpoint/Port",
- "/properties/ARN",
- "/properties/ParameterGroupStatus"
- ],
- "required": [
- "ClusterName",
- "NodeType",
- "ACLName"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-memorydb",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::MemoryDB::Cluster",
- "writeOnlyProperties": [
- "/properties/SnapshotArns",
- "/properties/SnapshotName",
- "/properties/FinalSnapshotName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py
index 5303686a39..85a1875547 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py
@@ -707,6 +707,7 @@
"AWS::StepFunctions::StateMachineVersion",
"AWS::Synthetics::Canary",
"AWS::SystemsManagerSAP::Application",
+ "AWS::Timestream::InfluxDBInstance",
"AWS::Transfer::Agreement",
"AWS::Transfer::Certificate",
"AWS::Transfer::Connector",
@@ -865,7 +866,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -945,7 +945,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1180,12 +1179,8 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-msk-batchscramsecret.json",
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
@@ -1223,7 +1218,6 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-pcaconnectorad-serviceprincipalname.json",
"aws-pcaconnectorad-templategroupaccesscontrolentry.json",
@@ -1240,7 +1234,6 @@
"aws-quicksight-theme.json",
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
@@ -1267,6 +1260,7 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
+ "aws-redshiftserverless-workgroup.json",
"aws-resourceexplorer2-defaultviewassociation.json",
"aws-resourceexplorer2-index.json",
"aws-resourceexplorer2-view.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-timestream-influxdbinstance.json
new file mode 100644
index 0000000000..3cd225dc53
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-timestream-influxdbinstance.json
@@ -0,0 +1,236 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket",
+ "/properties/VpcSubnetIds",
+ "/properties/VpcSecurityGroupIds",
+ "/properties/PubliclyAccessible",
+ "/properties/DbStorageType",
+ "/properties/AllocatedStorage"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllocatedStorage": {
+ "maximum": 16384,
+ "minimum": 20,
+ "type": "integer"
+ },
+ "Arn": {
+ "maxLength": 1011,
+ "minLength": 1,
+ "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$",
+ "type": "string"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "Bucket": {
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[^_][^\"]*$",
+ "type": "string"
+ },
+ "DbInstanceType": {
+ "enum": [
+ "db.influx.medium",
+ "db.influx.large",
+ "db.influx.xlarge",
+ "db.influx.2xlarge",
+ "db.influx.4xlarge",
+ "db.influx.8xlarge",
+ "db.influx.12xlarge",
+ "db.influx.16xlarge"
+ ],
+ "type": "string"
+ },
+ "DbParameterGroupIdentifier": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "DbStorageType": {
+ "enum": [
+ "InfluxIOIncludedT1",
+ "InfluxIOIncludedT2",
+ "InfluxIOIncludedT3"
+ ],
+ "type": "string"
+ },
+ "DeploymentType": {
+ "enum": [
+ "SINGLE_AZ",
+ "WITH_MULTIAZ_STANDBY"
+ ],
+ "type": "string"
+ },
+ "Endpoint": {
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "InfluxAuthParametersSecretArn": {
+ "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*",
+ "type": "string"
+ },
+ "LogDeliveryConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "S3Configuration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketName": {
+ "maxLength": 63,
+ "minLength": 3,
+ "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enabled",
+ "BucketName"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "Name": {
+ "maxLength": 40,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$",
+ "type": "string"
+ },
+ "Organization": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Password": {
+ "maxLength": 64,
+ "minLength": 8,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "Port": {
+ "maximum": 65535,
+ "minimum": 1024,
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecondaryAvailabilityZone": {
+ "type": "string"
+ },
+ "Status": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "DELETING",
+ "MODIFYING",
+ "UPDATING",
+ "UPDATING_DEPLOYMENT_TYPE",
+ "UPDATING_INSTANCE_TYPE",
+ "DELETED",
+ "FAILED"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Username": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "VpcSecurityGroupIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ },
+ "VpcSubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Status",
+ "/properties/Arn",
+ "/properties/Id",
+ "/properties/AvailabilityZone",
+ "/properties/Endpoint",
+ "/properties/SecondaryAvailabilityZone",
+ "/properties/InfluxAuthParametersSecretArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Timestream::InfluxDBInstance",
+ "writeOnlyProperties": [
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py
index 940e3058d6..2548777199 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py
@@ -590,6 +590,7 @@
"AWS::SSO::Instance",
"AWS::SSO::InstanceAccessControlAttributeConfiguration",
"AWS::SSO::PermissionSet",
+ "AWS::SageMaker::Cluster",
"AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::ModelCard",
"AWS::Scheduler::Schedule",
@@ -786,7 +787,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -864,7 +864,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -961,7 +960,7 @@
"aws-elasticache-replicationgroup.json",
"aws-elasticache-securitygroup.json",
"aws-elasticache-securitygroupingress.json",
- "aws-elasticache-usergroup.json",
+ "aws-elasticache-user.json",
"aws-elasticloadbalancing-loadbalancer.json",
"aws-elasticloadbalancingv2-listener.json",
"aws-elasticloadbalancingv2-listenercertificate.json",
@@ -1066,12 +1065,8 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-mediaconnect-flow.json",
"aws-mediaconnect-flowentitlement.json",
"aws-mediaconnect-flowoutput.json",
@@ -1129,14 +1124,12 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-pcaconnectorad-serviceprincipalname.json",
"aws-pcaconnectorad-templategroupaccesscontrolentry.json",
"aws-pcaconnectorscep-challenge.json",
"aws-pcaconnectorscep-connector.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
@@ -1197,6 +1190,7 @@
"aws-s3-bucketpolicy.json",
"aws-s3objectlambda-accesspoint.json",
"aws-s3objectlambda-accesspointpolicy.json",
+ "aws-sagemaker-cluster.json",
"aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-modelcard.json",
"aws-scheduler-schedule.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-user.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-usergroup.json
similarity index 55%
rename from src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-user.json
rename to src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-usergroup.json
index a4c607e235..bb45c6266f 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-user.json
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-usergroup.json
@@ -1,9 +1,7 @@
{
"additionalProperties": false,
"createOnlyProperties": [
- "/properties/UserId",
- "/properties/UserName",
- "/properties/Engine"
+ "/properties/UserGroupId"
],
"definitions": {
"Tag": {
@@ -29,60 +27,19 @@
}
},
"primaryIdentifier": [
- "/properties/UserId"
+ "/properties/UserGroupId"
],
"properties": {
- "AccessString": {
- "pattern": ".*\\S.*",
- "type": "string"
- },
"Arn": {
"type": "string"
},
- "AuthenticationMode": {
- "additionalProperties": false,
- "properties": {
- "Passwords": {
- "$comment": "List of passwords.",
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Type": {
- "enum": [
- "password",
- "no-password-required",
- "iam"
- ],
- "type": "string"
- }
- },
- "required": [
- "Type"
- ],
- "type": "object"
- },
"Engine": {
"enum": [
- "redis"
+ "redis",
+ "valkey"
],
"type": "string"
},
- "NoPasswordRequired": {
- "type": "boolean"
- },
- "Passwords": {
- "$comment": "List of passwords.",
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
"Status": {
"type": "string"
},
@@ -95,12 +52,19 @@
"type": "array",
"uniqueItems": true
},
- "UserId": {
+ "UserGroupId": {
"pattern": "[a-z][a-z0-9\\\\-]*",
"type": "string"
},
- "UserName": {
- "type": "string"
+ "UserIds": {
+ "$comment": "List of users.",
+ "insertionOrder": false,
+ "items": {
+ "pattern": "[a-zA-Z][a-zA-Z0-9\\-]*",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
}
},
"readOnlyProperties": [
@@ -108,9 +72,9 @@
"/properties/Arn"
],
"required": [
- "UserId",
- "UserName",
- "Engine"
+ "UserGroupId",
+ "Engine",
+ "UserIds"
],
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticache",
"tagging": {
@@ -120,11 +84,5 @@
"tagUpdatable": true,
"taggable": true
},
- "typeName": "AWS::ElastiCache::User",
- "writeOnlyProperties": [
- "/properties/Passwords",
- "/properties/NoPasswordRequired",
- "/properties/AccessString",
- "/properties/AuthenticationMode"
- ]
+ "typeName": "AWS::ElastiCache::UserGroup"
}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py
index f8e6917a1e..719c3fcd11 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py
@@ -303,6 +303,11 @@
"AWS::Logs::QueryDefinition",
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
+ "AWS::MSK::BatchScramSecret",
+ "AWS::MSK::Cluster",
+ "AWS::MSK::ClusterPolicy",
+ "AWS::MSK::Configuration",
+ "AWS::MSK::VpcConnection",
"AWS::Oam::Link",
"AWS::Oam::Sink",
"AWS::OpenSearchService::Domain",
@@ -423,6 +428,22 @@
"aws-acmpca-certificateauthority.json",
"aws-acmpca-certificateauthorityactivation.json",
"aws-acmpca-permission.json",
+ "aws-apigateway-account.json",
+ "aws-apigateway-apikey.json",
+ "aws-apigateway-authorizer.json",
+ "aws-apigateway-basepathmapping.json",
+ "aws-apigateway-clientcertificate.json",
+ "aws-apigateway-deployment.json",
+ "aws-apigateway-documentationpart.json",
+ "aws-apigateway-documentationversion.json",
+ "aws-apigateway-gatewayresponse.json",
+ "aws-apigateway-method.json",
+ "aws-apigateway-model.json",
+ "aws-apigateway-requestvalidator.json",
+ "aws-apigateway-resource.json",
+ "aws-apigateway-stage.json",
+ "aws-apigateway-usageplan.json",
+ "aws-apigateway-usageplankey.json",
"aws-appconfig-application.json",
"aws-appconfig-configurationprofile.json",
"aws-appconfig-deployment.json",
@@ -454,7 +475,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -490,7 +510,6 @@
"aws-datasync-task.json",
"aws-dynamodb-globaltable.json",
"aws-ec2-capacityreservation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -561,7 +580,6 @@
"aws-ecs-clustercapacityproviderassociations.json",
"aws-ecs-primarytaskset.json",
"aws-ecs-service.json",
- "aws-ecs-taskdefinition.json",
"aws-ecs-taskset.json",
"aws-efs-accesspoint.json",
"aws-efs-filesystem.json",
@@ -640,12 +658,13 @@
"aws-logs-deliverydestination.json",
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
+ "aws-msk-batchscramsecret.json",
+ "aws-msk-cluster.json",
+ "aws-msk-clusterpolicy.json",
+ "aws-msk-configuration.json",
+ "aws-msk-vpcconnection.json",
"aws-oam-link.json",
"aws-oam-sink.json",
"aws-opsworks-app.json",
@@ -655,10 +674,8 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-account.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-account.json
deleted file mode 100644
index e732339968..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-account.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "additionalProperties": false,
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "CloudWatchRoleArn": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "typeName": "AWS::ApiGateway::Account"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-authorizer.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-authorizer.json
deleted file mode 100644
index 00c9ef18d2..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-authorizer.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/RestApiId"
- ],
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "AuthType": {
- "type": "string"
- },
- "AuthorizerCredentials": {
- "type": "string"
- },
- "AuthorizerResultTtlInSeconds": {
- "maximum": 3600,
- "minimum": 0,
- "type": "integer"
- },
- "AuthorizerUri": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "IdentitySource": {
- "type": "string"
- },
- "IdentityValidationExpression": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "ProviderARNs": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "RestApiId": {
- "type": "string"
- },
- "Type": {
- "enum": [
- "COGNITO_USER_POOLS",
- "REQUEST",
- "TOKEN"
- ],
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "Type",
- "RestApiId"
- ],
- "typeName": "AWS::ApiGateway::Authorizer"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-basepathmapping.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-basepathmapping.json
deleted file mode 100644
index 666e165a19..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-basepathmapping.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/BasePath",
- "/properties/DomainName"
- ],
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "BasePath": {
- "type": "string"
- },
- "DomainName": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "RestApiId": {
- "type": "string"
- },
- "Stage": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "DomainName"
- ],
- "typeName": "AWS::ApiGateway::BasePathMapping"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-clientcertificate.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-clientcertificate.json
deleted file mode 100644
index b25e87f3ca..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-clientcertificate.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Description": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "typeName": "AWS::ApiGateway::ClientCertificate"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-deployment.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-deployment.json
deleted file mode 100644
index b5914105d7..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-deployment.json
+++ /dev/null
@@ -1,219 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DeploymentCanarySettings",
- "/properties/RestApiId"
- ],
- "definitions": {
- "AccessLogSetting": {
- "additionalProperties": false,
- "properties": {
- "DestinationArn": {
- "type": "string"
- },
- "Format": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "CanarySetting": {
- "additionalProperties": false,
- "properties": {
- "PercentTraffic": {
- "type": "number"
- },
- "StageVariableOverrides": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "UseStageCache": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "DeploymentCanarySettings": {
- "additionalProperties": false,
- "properties": {
- "PercentTraffic": {
- "type": "number"
- },
- "StageVariableOverrides": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "UseStageCache": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "MethodSetting": {
- "additionalProperties": false,
- "properties": {
- "CacheDataEncrypted": {
- "type": "boolean"
- },
- "CacheTtlInSeconds": {
- "type": "integer"
- },
- "CachingEnabled": {
- "type": "boolean"
- },
- "DataTraceEnabled": {
- "type": "boolean"
- },
- "HttpMethod": {
- "type": "string"
- },
- "LoggingLevel": {
- "type": "string"
- },
- "MetricsEnabled": {
- "type": "boolean"
- },
- "ResourcePath": {
- "type": "string"
- },
- "ThrottlingBurstLimit": {
- "type": "integer"
- },
- "ThrottlingRateLimit": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "StageDescription": {
- "additionalProperties": false,
- "properties": {
- "AccessLogSetting": {
- "$ref": "#/definitions/AccessLogSetting"
- },
- "CacheClusterEnabled": {
- "type": "boolean"
- },
- "CacheClusterSize": {
- "type": "string"
- },
- "CacheDataEncrypted": {
- "type": "boolean"
- },
- "CacheTtlInSeconds": {
- "type": "integer"
- },
- "CachingEnabled": {
- "type": "boolean"
- },
- "CanarySetting": {
- "$ref": "#/definitions/CanarySetting"
- },
- "ClientCertificateId": {
- "type": "string"
- },
- "DataTraceEnabled": {
- "type": "boolean"
- },
- "Description": {
- "type": "string"
- },
- "DocumentationVersion": {
- "type": "string"
- },
- "LoggingLevel": {
- "type": "string"
- },
- "MethodSettings": {
- "items": {
- "$ref": "#/definitions/MethodSetting"
- },
- "type": "array",
- "uniqueItems": true
- },
- "MetricsEnabled": {
- "type": "boolean"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "ThrottlingBurstLimit": {
- "type": "integer"
- },
- "ThrottlingRateLimit": {
- "type": "number"
- },
- "TracingEnabled": {
- "type": "boolean"
- },
- "Variables": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "DeploymentCanarySettings": {
- "$ref": "#/definitions/DeploymentCanarySettings"
- },
- "Description": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "RestApiId": {
- "type": "string"
- },
- "StageDescription": {
- "$ref": "#/definitions/StageDescription"
- },
- "StageName": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "RestApiId"
- ],
- "typeName": "AWS::ApiGateway::Deployment"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationpart.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationpart.json
deleted file mode 100644
index bba1617735..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationpart.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Location",
- "/properties/RestApiId"
- ],
- "definitions": {
- "Location": {
- "additionalProperties": false,
- "properties": {
- "Method": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "Path": {
- "type": "string"
- },
- "StatusCode": {
- "type": "string"
- },
- "Type": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Id": {
- "type": "string"
- },
- "Location": {
- "$ref": "#/definitions/Location"
- },
- "Properties": {
- "type": "string"
- },
- "RestApiId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "RestApiId",
- "Properties",
- "Location"
- ],
- "typeName": "AWS::ApiGateway::DocumentationPart"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationversion.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationversion.json
deleted file mode 100644
index d804c67001..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationversion.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DocumentationVersion",
- "/properties/RestApiId"
- ],
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Description": {
- "type": "string"
- },
- "DocumentationVersion": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "RestApiId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "DocumentationVersion",
- "RestApiId"
- ],
- "typeName": "AWS::ApiGateway::DocumentationVersion"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-gatewayresponse.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-gatewayresponse.json
deleted file mode 100644
index bbef4e34b6..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-gatewayresponse.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ResponseType",
- "/properties/RestApiId"
- ],
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Id": {
- "type": "string"
- },
- "ResponseParameters": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseTemplates": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseType": {
- "enum": [
- "ACCESS_DENIED",
- "API_CONFIGURATION_ERROR",
- "AUTHORIZER_CONFIGURATION_ERROR",
- "AUTHORIZER_FAILURE",
- "BAD_REQUEST_BODY",
- "BAD_REQUEST_PARAMETERS",
- "DEFAULT_4XX",
- "DEFAULT_5XX",
- "EXPIRED_TOKEN",
- "INTEGRATION_FAILURE",
- "INTEGRATION_TIMEOUT",
- "INVALID_API_KEY",
- "INVALID_SIGNATURE",
- "MISSING_AUTHENTICATION_TOKEN",
- "QUOTA_EXCEEDED",
- "REQUEST_TOO_LARGE",
- "RESOURCE_NOT_FOUND",
- "THROTTLED",
- "UNAUTHORIZED",
- "UNSUPPORTED_MEDIA_TYPE",
- "WAF_FILTERED"
- ],
- "type": "string"
- },
- "RestApiId": {
- "type": "string"
- },
- "StatusCode": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "RestApiId",
- "ResponseType"
- ],
- "typeName": "AWS::ApiGateway::GatewayResponse"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-method.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-method.json
deleted file mode 100644
index 8ba3c83b57..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-method.json
+++ /dev/null
@@ -1,207 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "Integration": {
- "additionalProperties": false,
- "properties": {
- "CacheKeyParameters": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "CacheNamespace": {
- "type": "string"
- },
- "ConnectionId": {
- "type": "string"
- },
- "ConnectionType": {
- "type": "string"
- },
- "ContentHandling": {
- "type": "string"
- },
- "Credentials": {
- "type": "string"
- },
- "IntegrationHttpMethod": {
- "type": "string"
- },
- "IntegrationResponses": {
- "items": {
- "$ref": "#/definitions/IntegrationResponse"
- },
- "type": "array",
- "uniqueItems": true
- },
- "PassthroughBehavior": {
- "type": "string"
- },
- "RequestParameters": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "RequestTemplates": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "TimeoutInMillis": {
- "type": "integer"
- },
- "Type": {
- "type": "string"
- },
- "Uri": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "IntegrationResponse": {
- "additionalProperties": false,
- "properties": {
- "ContentHandling": {
- "type": "string"
- },
- "ResponseParameters": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseTemplates": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "SelectionPattern": {
- "type": "string"
- },
- "StatusCode": {
- "type": "string"
- }
- },
- "required": [
- "StatusCode"
- ],
- "type": "object"
- },
- "MethodResponse": {
- "additionalProperties": false,
- "properties": {
- "ResponseModels": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseParameters": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "StatusCode": {
- "type": "string"
- }
- },
- "required": [
- "StatusCode"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "ApiKeyRequired": {
- "type": "boolean"
- },
- "AuthorizationScopes": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AuthorizationType": {
- "type": "string"
- },
- "AuthorizerId": {
- "type": "string"
- },
- "HttpMethod": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Integration": {
- "$ref": "#/definitions/Integration"
- },
- "MethodResponses": {
- "items": {
- "$ref": "#/definitions/MethodResponse"
- },
- "type": "array",
- "uniqueItems": true
- },
- "OperationName": {
- "type": "string"
- },
- "RequestModels": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "RequestParameters": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "RequestValidatorId": {
- "type": "string"
- },
- "ResourceId": {
- "type": "string"
- },
- "RestApiId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "ResourceId",
- "RestApiId",
- "HttpMethod"
- ],
- "typeName": "AWS::ApiGateway::Method"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-model.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-model.json
deleted file mode 100644
index 9504a897a5..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-model.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/ContentType",
- "/properties/RestApiId"
- ],
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "ContentType": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "RestApiId": {
- "type": "string"
- },
- "Schema": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "RestApiId"
- ],
- "typeName": "AWS::ApiGateway::Model"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-requestvalidator.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-requestvalidator.json
deleted file mode 100644
index 72238424ed..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-requestvalidator.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/RestApiId"
- ],
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "RestApiId": {
- "type": "string"
- },
- "ValidateRequestBody": {
- "type": "boolean"
- },
- "ValidateRequestParameters": {
- "type": "boolean"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "RestApiId"
- ],
- "typeName": "AWS::ApiGateway::RequestValidator"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-resource.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-resource.json
deleted file mode 100644
index 60bfa2b925..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-resource.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/PathPart",
- "/properties/ParentId",
- "/properties/RestApiId"
- ],
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Id": {
- "type": "string"
- },
- "ParentId": {
- "type": "string"
- },
- "PathPart": {
- "type": "string"
- },
- "RestApiId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "ParentId",
- "PathPart",
- "RestApiId"
- ],
- "typeName": "AWS::ApiGateway::Resource"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-restapi.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-restapi.json
index d08152f085..54905e2c8b 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-restapi.json
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-restapi.json
@@ -50,14 +50,14 @@
}
},
"required": [
- "Value",
- "Key"
+ "Key",
+ "Value"
],
"type": "object"
}
},
"primaryIdentifier": [
- "/properties/Id"
+ "/properties/RestApiId"
],
"properties": {
"ApiKeySourceType": {
@@ -75,7 +75,6 @@
"uniqueItems": true
},
"Body": {
- "format": "json",
"type": [
"object",
"string"
@@ -99,9 +98,6 @@
"FailOnWarnings": {
"type": "boolean"
},
- "Id": {
- "type": "string"
- },
"MinimumCompressionSize": {
"type": "integer"
},
@@ -112,20 +108,26 @@
"type": "string"
},
"Parameters": {
+ "additionalProperties": false,
"patternProperties": {
"[a-zA-Z0-9]+": {
"type": "string"
}
},
- "type": "object"
+ "type": [
+ "object",
+ "string"
+ ]
},
"Policy": {
- "format": "json",
"type": [
"object",
"string"
]
},
+ "RestApiId": {
+ "type": "string"
+ },
"RootResourceId": {
"type": "string"
},
@@ -138,8 +140,24 @@
}
},
"readOnlyProperties": [
- "/properties/Id",
+ "/properties/RestApiId",
"/properties/RootResourceId"
],
- "typeName": "AWS::ApiGateway::RestApi"
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::ApiGateway::RestApi",
+ "writeOnlyProperties": [
+ "/properties/Body",
+ "/properties/BodyS3Location",
+ "/properties/CloneFrom",
+ "/properties/FailOnWarnings",
+ "/properties/Mode",
+ "/properties/Parameters"
+ ]
}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-stage.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-stage.json
deleted file mode 100644
index 3e0d7efcb3..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-stage.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/StageName",
- "/properties/RestApiId"
- ],
- "definitions": {
- "AccessLogSetting": {
- "additionalProperties": false,
- "properties": {
- "DestinationArn": {
- "type": "string"
- },
- "Format": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "CanarySetting": {
- "additionalProperties": false,
- "properties": {
- "DeploymentId": {
- "type": "string"
- },
- "PercentTraffic": {
- "type": "number"
- },
- "StageVariableOverrides": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "UseStageCache": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "MethodSetting": {
- "additionalProperties": false,
- "properties": {
- "CacheDataEncrypted": {
- "type": "boolean"
- },
- "CacheTtlInSeconds": {
- "type": "integer"
- },
- "CachingEnabled": {
- "type": "boolean"
- },
- "DataTraceEnabled": {
- "type": "boolean"
- },
- "HttpMethod": {
- "type": "string"
- },
- "LoggingLevel": {
- "type": "string"
- },
- "MetricsEnabled": {
- "type": "boolean"
- },
- "ResourcePath": {
- "pattern": "^/.*$",
- "type": "string"
- },
- "ThrottlingBurstLimit": {
- "type": "integer"
- },
- "ThrottlingRateLimit": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "AccessLogSetting": {
- "$ref": "#/definitions/AccessLogSetting"
- },
- "CacheClusterEnabled": {
- "type": "boolean"
- },
- "CacheClusterSize": {
- "type": "string"
- },
- "CanarySetting": {
- "$ref": "#/definitions/CanarySetting"
- },
- "ClientCertificateId": {
- "type": "string"
- },
- "DeploymentId": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "DocumentationVersion": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "MethodSettings": {
- "items": {
- "$ref": "#/definitions/MethodSetting"
- },
- "type": "array",
- "uniqueItems": true
- },
- "RestApiId": {
- "type": "string"
- },
- "StageName": {
- "type": "string"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TracingEnabled": {
- "type": "boolean"
- },
- "Variables": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "RestApiId"
- ],
- "typeName": "AWS::ApiGateway::Stage"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplan.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplan.json
deleted file mode 100644
index 8f7200b105..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplan.json
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "ApiStage": {
- "additionalProperties": false,
- "properties": {
- "ApiId": {
- "type": "string"
- },
- "Stage": {
- "type": "string"
- },
- "Throttle": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "$ref": "#/definitions/ThrottleSettings"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "QuotaSettings": {
- "additionalProperties": false,
- "properties": {
- "Limit": {
- "type": "integer"
- },
- "Offset": {
- "type": "integer"
- },
- "Period": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- },
- "ThrottleSettings": {
- "additionalProperties": false,
- "properties": {
- "BurstLimit": {
- "type": "integer"
- },
- "RateLimit": {
- "type": "number"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "ApiStages": {
- "items": {
- "$ref": "#/definitions/ApiStage"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Description": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Quota": {
- "$ref": "#/definitions/QuotaSettings"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Throttle": {
- "$ref": "#/definitions/ThrottleSettings"
- },
- "UsagePlanName": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "typeName": "AWS::ApiGateway::UsagePlan"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplankey.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplankey.json
deleted file mode 100644
index 832cdf2cd8..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplankey.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/KeyType",
- "/properties/UsagePlanId",
- "/properties/KeyId"
- ],
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Id": {
- "type": "string"
- },
- "KeyId": {
- "type": "string"
- },
- "KeyType": {
- "enum": [
- "API_KEY"
- ],
- "type": "string"
- },
- "UsagePlanId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "KeyType",
- "UsagePlanId",
- "KeyId"
- ],
- "typeName": "AWS::ApiGateway::UsagePlanKey"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-taskdefinition.json
similarity index 99%
rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-taskdefinition.json
rename to src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-taskdefinition.json
index 8b9f473363..35c2b1ed93 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-taskdefinition.json
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-taskdefinition.json
@@ -4,7 +4,6 @@
"/properties/Family",
"/properties/ContainerDefinitions",
"/properties/Cpu",
- "/properties/EnableFaultInjection",
"/properties/ExecutionRoleArn",
"/properties/InferenceAccelerators",
"/properties/Memory",
@@ -934,9 +933,6 @@
"Cpu": {
"type": "string"
},
- "EnableFaultInjection": {
- "type": "boolean"
- },
"EphemeralStorage": {
"$ref": "#/definitions/EphemeralStorage"
},
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py
index 8921a6aae7..c1b5bf827b 100644
--- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py
@@ -587,6 +587,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -1061,6 +1062,7 @@
"AWS::Synthetics::Canary",
"AWS::Synthetics::Group",
"AWS::SystemsManagerSAP::Application",
+ "AWS::Timestream::InfluxDBInstance",
"AWS::Transfer::Agreement",
"AWS::Transfer::Certificate",
"AWS::Transfer::Connector",
@@ -1076,10 +1078,13 @@
"AWS::VpcLattice::AccessLogSubscription",
"AWS::VpcLattice::AuthPolicy",
"AWS::VpcLattice::Listener",
+ "AWS::VpcLattice::ResourceConfiguration",
+ "AWS::VpcLattice::ResourceGateway",
"AWS::VpcLattice::ResourcePolicy",
"AWS::VpcLattice::Rule",
"AWS::VpcLattice::Service",
"AWS::VpcLattice::ServiceNetwork",
+ "AWS::VpcLattice::ServiceNetworkResourceAssociation",
"AWS::VpcLattice::ServiceNetworkServiceAssociation",
"AWS::VpcLattice::ServiceNetworkVpcAssociation",
"AWS::VpcLattice::TargetGroup",
@@ -1303,12 +1308,12 @@
"aws-cloudformation-resourceversion.json",
"aws-cloudformation-stack.json",
"aws-cloudformation-stackset.json",
+ "aws-cloudformation-typeactivation.json",
"aws-cloudformation-waitcondition.json",
"aws-cloudformation-waitconditionhandle.json",
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -1472,7 +1477,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1613,7 +1617,6 @@
"aws-emr-studio.json",
"aws-emr-studiosessionmapping.json",
"aws-emrcontainers-virtualcluster.json",
- "aws-emrserverless-application.json",
"aws-events-apidestination.json",
"aws-events-archive.json",
"aws-events-endpoint.json",
@@ -1714,6 +1717,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1750,6 +1754,7 @@
"aws-kafkaconnect-workerconfiguration.json",
"aws-kendra-datasource.json",
"aws-kendra-faq.json",
+ "aws-kendra-index.json",
"aws-kendraranking-executionplan.json",
"aws-kinesis-resourcepolicy.json",
"aws-kinesis-stream.json",
@@ -1810,15 +1815,10 @@
"aws-logs-destination.json",
"aws-logs-integration.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-m2-application.json",
"aws-m2-deployment.json",
- "aws-m2-environment.json",
"aws-macie-allowlist.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
@@ -1861,7 +1861,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
@@ -1914,7 +1913,6 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-osis-pipeline.json",
"aws-panorama-applicationinstance.json",
@@ -1962,7 +1960,6 @@
"aws-quicksight-topic.json",
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-customdbengineversion.json",
"aws-rds-dbcluster.json",
@@ -1990,7 +1987,6 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
- "aws-redshiftserverless-workgroup.json",
"aws-refactorspaces-application.json",
"aws-refactorspaces-environment.json",
"aws-refactorspaces-route.json",
@@ -2186,10 +2182,13 @@
"aws-vpclattice-accesslogsubscription.json",
"aws-vpclattice-authpolicy.json",
"aws-vpclattice-listener.json",
+ "aws-vpclattice-resourceconfiguration.json",
+ "aws-vpclattice-resourcegateway.json",
"aws-vpclattice-resourcepolicy.json",
"aws-vpclattice-rule.json",
"aws-vpclattice-service.json",
"aws-vpclattice-servicenetwork.json",
+ "aws-vpclattice-servicenetworkresourceassociation.json",
"aws-vpclattice-servicenetworkserviceassociation.json",
"aws-vpclattice-servicenetworkvpcassociation.json",
"aws-vpclattice-targetgroup.json",
@@ -2224,7 +2223,6 @@
"aws-wisdom-messagetemplateversion.json",
"aws-workspaces-connectionalias.json",
"aws-workspaces-workspace.json",
- "aws-workspaces-workspacespool.json",
"aws-workspacesthinclient-environment.json",
"aws-workspacesweb-browsersettings.json",
"aws-workspacesweb-dataprotectionsettings.json",
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudformation-typeactivation.json
deleted file mode 100644
index 730262bfac..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudformation-typeactivation.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ExecutionRoleArn",
- "/properties/LoggingConfig",
- "/properties/TypeNameAlias",
- "/properties/TypeName",
- "/properties/Type",
- "/properties/PublisherId",
- "/properties/PublicTypeArn"
- ],
- "definitions": {
- "LoggingConfig": {
- "additionalProperties": false,
- "properties": {
- "LogGroupName": {
- "maxLength": 512,
- "minLength": 1,
- "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
- "type": "string"
- },
- "LogRoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "oneOf": [
- {
- "required": [
- "TypeName",
- "PublisherId",
- "Type"
- ]
- },
- {
- "required": [
- "PublicTypeArn"
- ]
- }
- ],
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "AutoUpdate": {
- "type": "boolean"
- },
- "ExecutionRoleArn": {
- "type": "string"
- },
- "LoggingConfig": {
- "$ref": "#/definitions/LoggingConfig"
- },
- "MajorVersion": {
- "maxLength": 100000,
- "minLength": 1,
- "type": "string"
- },
- "PublicTypeArn": {
- "maxLength": 1024,
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "PublisherId": {
- "maxLength": 40,
- "minLength": 1,
- "pattern": "[0-9a-zA-Z-]{40}",
- "type": "string"
- },
- "Type": {
- "enum": [
- "RESOURCE",
- "MODULE",
- "HOOK"
- ],
- "type": "string"
- },
- "TypeName": {
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "TypeNameAlias": {
- "maxLength": 204,
- "minLength": 10,
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "VersionBump": {
- "enum": [
- "MAJOR",
- "MINOR"
- ],
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation",
- "typeName": "AWS::CloudFormation::TypeActivation"
-}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-emrserverless-application.json
new file mode 100644
index 0000000000..1a44823941
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-emrserverless-application.json
@@ -0,0 +1,539 @@
+{
+ "additionalProperties": false,
+ "conditionalCreateOnlyProperties": [
+ "/properties/Architecture",
+ "/properties/ReleaseLabel",
+ "/properties/WorkerTypeSpecifications",
+ "/properties/MaximumCapacity",
+ "/properties/InitialCapacity",
+ "/properties/AutoStartConfiguration",
+ "/properties/AutoStopConfiguration",
+ "/properties/NetworkConfiguration",
+ "/properties/ImageConfiguration",
+ "/properties/MonitoringConfiguration",
+ "/properties/RuntimeConfiguration",
+ "/properties/InteractiveConfiguration"
+ ],
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Architecture": {
+ "enum": [
+ "ARM64",
+ "X86_64"
+ ],
+ "type": "string"
+ },
+ "AutoStartConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "AutoStopConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "IdleTimeoutMinutes": {
+ "type": "integer"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "Classification": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "CloudWatchLoggingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ },
+ "LogGroupName": {
+ "$ref": "#/definitions/LogGroupName"
+ },
+ "LogStreamNamePrefix": {
+ "$ref": "#/definitions/LogStreamNamePrefix"
+ },
+ "LogTypeMap": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogTypeMapKeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ },
+ "ConfigurationList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigurationObject"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConfigurationObject": {
+ "additionalProperties": false,
+ "properties": {
+ "Classification": {
+ "$ref": "#/definitions/Classification"
+ },
+ "Configurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigurationObject"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Properties": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": {
+ "$ref": "#/definitions/SensitivePropertiesMap"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "Classification"
+ ],
+ "type": "object"
+ },
+ "CpuSize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$",
+ "type": "string"
+ },
+ "DiskSize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$",
+ "type": "string"
+ },
+ "DiskType": {
+ "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$",
+ "type": "string"
+ },
+ "EncryptionKeyArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "ImageConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "ImageUri": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InitialCapacityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "WorkerConfiguration": {
+ "$ref": "#/definitions/WorkerConfiguration"
+ },
+ "WorkerCount": {
+ "format": "int64",
+ "maximum": 1000000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "WorkerCount",
+ "WorkerConfiguration"
+ ],
+ "type": "object"
+ },
+ "InitialCapacityConfigKeyValuePair": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ },
+ "Value": {
+ "$ref": "#/definitions/InitialCapacityConfig"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "InitialCapacityConfigMap": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/InitialCapacityConfigKeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "InteractiveConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LivyEndpointEnabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "StudioEnabled": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
+ "type": "string"
+ },
+ "LogStreamNamePrefix": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]*$",
+ "type": "string"
+ },
+ "LogTypeList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogTypeString"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "LogTypeMapKeyValuePair": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "$ref": "#/definitions/WorkerTypeString"
+ },
+ "Value": {
+ "$ref": "#/definitions/LogTypeList"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "LogTypeString": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ },
+ "ManagedPersistenceMonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ }
+ }
+ },
+ "MaximumAllowedResources": {
+ "additionalProperties": false,
+ "properties": {
+ "Cpu": {
+ "$ref": "#/definitions/CpuSize"
+ },
+ "Disk": {
+ "$ref": "#/definitions/DiskSize"
+ },
+ "Memory": {
+ "$ref": "#/definitions/MemorySize"
+ }
+ },
+ "required": [
+ "Cpu",
+ "Memory"
+ ],
+ "type": "object"
+ },
+ "MemorySize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$",
+ "type": "string"
+ },
+ "MonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingConfiguration": {
+ "$ref": "#/definitions/CloudWatchLoggingConfiguration"
+ },
+ "ManagedPersistenceMonitoringConfiguration": {
+ "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration"
+ },
+ "S3MonitoringConfiguration": {
+ "$ref": "#/definitions/S3MonitoringConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SecurityGroupId"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SubnetId"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "S3MonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ },
+ "LogUri": {
+ "$ref": "#/definitions/UriString"
+ }
+ }
+ },
+ "SecurityGroupId": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "minLength": 1,
+ "pattern": "[-0-9a-zA-Z]+.*",
+ "type": "string"
+ },
+ "SensitivePropertiesKeyValuePair": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "SensitivePropertiesMap": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "SubnetId": {
+ "maxLength": 32,
+ "minLength": 1,
+ "pattern": "[-0-9a-zA-Z]+.*",
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9 /_.:=+@-]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[A-Za-z0-9 /_.:=+@-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UriString": {
+ "maxLength": 10280,
+ "minLength": 1,
+ "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*",
+ "type": "string"
+ },
+ "WorkerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Cpu": {
+ "$ref": "#/definitions/CpuSize"
+ },
+ "Disk": {
+ "$ref": "#/definitions/DiskSize"
+ },
+ "DiskType": {
+ "$ref": "#/definitions/DiskType"
+ },
+ "Memory": {
+ "$ref": "#/definitions/MemorySize"
+ }
+ },
+ "required": [
+ "Cpu",
+ "Memory"
+ ],
+ "type": "object"
+ },
+ "WorkerTypeSpecificationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "ImageConfiguration": {
+ "$ref": "#/definitions/ImageConfigurationInput"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerTypeSpecificationInputMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[a-zA-Z]+[-_]*[a-zA-Z]+$": {
+ "$ref": "#/definitions/WorkerTypeSpecificationInput"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerTypeString": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ApplicationId"
+ ],
+ "properties": {
+ "ApplicationId": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Architecture": {
+ "$ref": "#/definitions/Architecture"
+ },
+ "Arn": {
+ "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$",
+ "type": "string"
+ },
+ "AutoStartConfiguration": {
+ "$ref": "#/definitions/AutoStartConfiguration"
+ },
+ "AutoStopConfiguration": {
+ "$ref": "#/definitions/AutoStopConfiguration"
+ },
+ "ImageConfiguration": {
+ "$ref": "#/definitions/ImageConfigurationInput"
+ },
+ "InitialCapacity": {
+ "$ref": "#/definitions/InitialCapacityConfigMap"
+ },
+ "InteractiveConfiguration": {
+ "$ref": "#/definitions/InteractiveConfiguration"
+ },
+ "MaximumCapacity": {
+ "$ref": "#/definitions/MaximumAllowedResources"
+ },
+ "MonitoringConfiguration": {
+ "$ref": "#/definitions/MonitoringConfiguration"
+ },
+ "Name": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9._\\/#-]+$",
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "ReleaseLabel": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9._/-]+$",
+ "type": "string"
+ },
+ "RuntimeConfiguration": {
+ "$ref": "#/definitions/ConfigurationList"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "type": "string"
+ },
+ "WorkerTypeSpecifications": {
+ "$ref": "#/definitions/WorkerTypeSpecificationInputMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/ApplicationId"
+ ],
+ "required": [
+ "ReleaseLabel",
+ "Type"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EMRServerless::Application"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-kendra-index.json
deleted file mode 100644
index 1dfc2d6d88..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-kendra-index.json
+++ /dev/null
@@ -1,394 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Edition",
- "/properties/ServerSideEncryptionConfiguration"
- ],
- "definitions": {
- "Arn": {
- "maxLength": 1000,
- "type": "string"
- },
- "CapacityUnitsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "QueryCapacityUnits": {
- "$ref": "#/definitions/QueryCapacityUnits"
- },
- "StorageCapacityUnits": {
- "$ref": "#/definitions/StorageCapacityUnits"
- }
- },
- "required": [
- "StorageCapacityUnits",
- "QueryCapacityUnits"
- ],
- "type": "object"
- },
- "ClaimRegex": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Description": {
- "maxLength": 1000,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "DocumentAttributeValueType": {
- "enum": [
- "STRING_VALUE",
- "STRING_LIST_VALUE",
- "LONG_VALUE",
- "DATE_VALUE"
- ],
- "type": "string"
- },
- "DocumentMetadataConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "$ref": "#/definitions/DocumentMetadataConfigurationName"
- },
- "Relevance": {
- "$ref": "#/definitions/Relevance"
- },
- "Search": {
- "$ref": "#/definitions/Search"
- },
- "Type": {
- "$ref": "#/definitions/DocumentAttributeValueType"
- }
- },
- "required": [
- "Name",
- "Type"
- ],
- "type": "object"
- },
- "DocumentMetadataConfigurationList": {
- "items": {
- "$ref": "#/definitions/DocumentMetadataConfiguration"
- },
- "maxItems": 500,
- "type": "array"
- },
- "DocumentMetadataConfigurationName": {
- "maxLength": 30,
- "minLength": 1,
- "type": "string"
- },
- "Duration": {
- "maxLength": 10,
- "minLength": 1,
- "pattern": "[0-9]+[s]",
- "type": "string"
- },
- "Edition": {
- "enum": [
- "DEVELOPER_EDITION",
- "ENTERPRISE_EDITION"
- ],
- "type": "string"
- },
- "Freshness": {
- "type": "boolean"
- },
- "GroupAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Id": {
- "maxLength": 36,
- "minLength": 36,
- "type": "string"
- },
- "Importance": {
- "maximum": 10,
- "minimum": 1,
- "type": "integer"
- },
- "Issuer": {
- "maxLength": 65,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "JsonTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "UserNameAttributeField",
- "GroupAttributeField"
- ],
- "type": "object"
- },
- "JwtTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ClaimRegex": {
- "$ref": "#/definitions/ClaimRegex"
- },
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "Issuer": {
- "$ref": "#/definitions/Issuer"
- },
- "KeyLocation": {
- "$ref": "#/definitions/KeyLocation"
- },
- "SecretManagerArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "URL": {
- "$ref": "#/definitions/Url"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "KeyLocation"
- ],
- "type": "object"
- },
- "KeyLocation": {
- "enum": [
- "URL",
- "SECRET_MANAGER"
- ],
- "type": "string"
- },
- "KmsKeyId": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 1000,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*",
- "type": "string"
- },
- "Order": {
- "enum": [
- "ASCENDING",
- "DESCENDING"
- ],
- "type": "string"
- },
- "QueryCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Relevance": {
- "additionalProperties": false,
- "properties": {
- "Duration": {
- "$ref": "#/definitions/Duration"
- },
- "Freshness": {
- "$ref": "#/definitions/Freshness"
- },
- "Importance": {
- "$ref": "#/definitions/Importance"
- },
- "RankOrder": {
- "$ref": "#/definitions/Order"
- },
- "ValueImportanceItems": {
- "$ref": "#/definitions/ValueImportanceItems"
- }
- },
- "type": "object"
- },
- "RoleArn": {
- "maxLength": 1284,
- "minLength": 1,
- "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
- "type": "string"
- },
- "Search": {
- "additionalProperties": false,
- "properties": {
- "Displayable": {
- "type": "boolean"
- },
- "Facetable": {
- "type": "boolean"
- },
- "Searchable": {
- "type": "boolean"
- },
- "Sortable": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ServerSideEncryptionConfiguration": {
- "additionalProperties": false,
- "properties": {
- "KmsKeyId": {
- "$ref": "#/definitions/KmsKeyId"
- }
- },
- "type": "object"
- },
- "StorageCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TagList": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 200,
- "type": "array"
- },
- "Url": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)",
- "type": "string"
- },
- "UserContextPolicy": {
- "enum": [
- "ATTRIBUTE_FILTER",
- "USER_TOKEN"
- ],
- "type": "string"
- },
- "UserNameAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "UserTokenConfiguration": {
- "additionalProperties": false,
- "properties": {
- "JsonTokenTypeConfiguration": {
- "$ref": "#/definitions/JsonTokenTypeConfiguration"
- },
- "JwtTokenTypeConfiguration": {
- "$ref": "#/definitions/JwtTokenTypeConfiguration"
- }
- },
- "type": "object"
- },
- "UserTokenConfigurationList": {
- "items": {
- "$ref": "#/definitions/UserTokenConfiguration"
- },
- "maxItems": 1,
- "type": "array"
- },
- "ValueImportanceItem": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "$ref": "#/definitions/ValueImportanceItemKey"
- },
- "Value": {
- "$ref": "#/definitions/Importance"
- }
- },
- "type": "object"
- },
- "ValueImportanceItemKey": {
- "maxLength": 50,
- "minLength": 1,
- "type": "string"
- },
- "ValueImportanceItems": {
- "items": {
- "$ref": "#/definitions/ValueImportanceItem"
- },
- "type": "array"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "$ref": "#/definitions/Arn"
- },
- "CapacityUnits": {
- "$ref": "#/definitions/CapacityUnitsConfiguration"
- },
- "Description": {
- "$ref": "#/definitions/Description"
- },
- "DocumentMetadataConfigurations": {
- "$ref": "#/definitions/DocumentMetadataConfigurationList"
- },
- "Edition": {
- "$ref": "#/definitions/Edition"
- },
- "Id": {
- "$ref": "#/definitions/Id"
- },
- "Name": {
- "$ref": "#/definitions/Name"
- },
- "RoleArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "ServerSideEncryptionConfiguration": {
- "$ref": "#/definitions/ServerSideEncryptionConfiguration"
- },
- "Tags": {
- "$ref": "#/definitions/TagList"
- },
- "UserContextPolicy": {
- "$ref": "#/definitions/UserContextPolicy"
- },
- "UserTokenConfigurations": {
- "$ref": "#/definitions/UserTokenConfigurationList"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn"
- ],
- "required": [
- "Name",
- "RoleArn",
- "Edition"
- ],
- "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html",
- "typeName": "AWS::Kendra::Index"
-}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-msk-replicator.json
new file mode 100644
index 0000000000..8ca994e218
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-msk-replicator.json
@@ -0,0 +1,321 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "ReplicationTopicNameConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationTopicNameConfigurationType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationTopicNameConfigurationType": {
+ "enum": [
+ "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS",
+ "IDENTICAL"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicNameConfiguration": {
+ "$ref": "#/definitions/ReplicationTopicNameConfiguration"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-redshiftserverless-workgroup.json
similarity index 92%
rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-redshiftserverless-workgroup.json
rename to src/cfnlint/data/schemas/providers/ca_central_1/aws-redshiftserverless-workgroup.json
index 607749193c..60a6356907 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-redshiftserverless-workgroup.json
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-redshiftserverless-workgroup.json
@@ -59,27 +59,6 @@
},
"type": "object"
},
- "PerformanceTarget": {
- "additionalProperties": false,
- "properties": {
- "Level": {
- "maximum": 100,
- "minimum": 1,
- "type": "integer"
- },
- "Status": {
- "$ref": "#/definitions/PerformanceTargetStatus"
- }
- },
- "type": "object"
- },
- "PerformanceTargetStatus": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
"Tag": {
"additionalProperties": false,
"properties": {
@@ -152,9 +131,6 @@
"pattern": "^[a-z0-9-]+$",
"type": "string"
},
- "PricePerformanceTarget": {
- "$ref": "#/definitions/PerformanceTarget"
- },
"PubliclyAccessible": {
"type": "boolean"
},
@@ -240,10 +216,6 @@
"Port": {
"type": "integer"
},
- "PricePerformanceTarget": {
- "$ref": "#/definitions/PerformanceTarget",
- "type": "object"
- },
"PubliclyAccessible": {
"default": false,
"type": "boolean"
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-timestream-influxdbinstance.json
new file mode 100644
index 0000000000..3cd225dc53
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-timestream-influxdbinstance.json
@@ -0,0 +1,236 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket",
+ "/properties/VpcSubnetIds",
+ "/properties/VpcSecurityGroupIds",
+ "/properties/PubliclyAccessible",
+ "/properties/DbStorageType",
+ "/properties/AllocatedStorage"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllocatedStorage": {
+ "maximum": 16384,
+ "minimum": 20,
+ "type": "integer"
+ },
+ "Arn": {
+ "maxLength": 1011,
+ "minLength": 1,
+ "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$",
+ "type": "string"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "Bucket": {
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[^_][^\"]*$",
+ "type": "string"
+ },
+ "DbInstanceType": {
+ "enum": [
+ "db.influx.medium",
+ "db.influx.large",
+ "db.influx.xlarge",
+ "db.influx.2xlarge",
+ "db.influx.4xlarge",
+ "db.influx.8xlarge",
+ "db.influx.12xlarge",
+ "db.influx.16xlarge"
+ ],
+ "type": "string"
+ },
+ "DbParameterGroupIdentifier": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "DbStorageType": {
+ "enum": [
+ "InfluxIOIncludedT1",
+ "InfluxIOIncludedT2",
+ "InfluxIOIncludedT3"
+ ],
+ "type": "string"
+ },
+ "DeploymentType": {
+ "enum": [
+ "SINGLE_AZ",
+ "WITH_MULTIAZ_STANDBY"
+ ],
+ "type": "string"
+ },
+ "Endpoint": {
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "InfluxAuthParametersSecretArn": {
+ "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*",
+ "type": "string"
+ },
+ "LogDeliveryConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "S3Configuration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketName": {
+ "maxLength": 63,
+ "minLength": 3,
+ "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enabled",
+ "BucketName"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "Name": {
+ "maxLength": 40,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$",
+ "type": "string"
+ },
+ "Organization": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Password": {
+ "maxLength": 64,
+ "minLength": 8,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "Port": {
+ "maximum": 65535,
+ "minimum": 1024,
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecondaryAvailabilityZone": {
+ "type": "string"
+ },
+ "Status": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "DELETING",
+ "MODIFYING",
+ "UPDATING",
+ "UPDATING_DEPLOYMENT_TYPE",
+ "UPDATING_INSTANCE_TYPE",
+ "DELETED",
+ "FAILED"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Username": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "VpcSecurityGroupIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ },
+ "VpcSubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Status",
+ "/properties/Arn",
+ "/properties/Id",
+ "/properties/AvailabilityZone",
+ "/properties/Endpoint",
+ "/properties/SecondaryAvailabilityZone",
+ "/properties/InfluxAuthParametersSecretArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Timestream::InfluxDBInstance",
+ "writeOnlyProperties": [
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json
new file mode 100644
index 0000000000..19c638ca23
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json
@@ -0,0 +1,158 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/PoolName"
+ ],
+ "definitions": {
+ "ApplicationSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SettingsGroup": {
+ "maxLength": 100,
+ "pattern": "^[A-Za-z0-9_./()!*'-]+$",
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/ApplicationSettingsStatus"
+ }
+ },
+ "required": [
+ "Status"
+ ],
+ "type": "object"
+ },
+ "ApplicationSettingsStatus": {
+ "enum": [
+ "DISABLED",
+ "ENABLED"
+ ],
+ "type": "string"
+ },
+ "Capacity": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredUserSessions": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredUserSessions"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TimeoutSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DisconnectTimeoutInSeconds": {
+ "maximum": 36000,
+ "minimum": 60,
+ "type": "integer"
+ },
+ "IdleDisconnectTimeoutInSeconds": {
+ "maximum": 36000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "MaxUserDurationInSeconds": {
+ "maximum": 432000,
+ "minimum": 600,
+ "type": "integer"
+ }
+ },
+ "required": [],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/PoolId"
+ ],
+ "properties": {
+ "ApplicationSettings": {
+ "$ref": "#/definitions/ApplicationSettings"
+ },
+ "BundleId": {
+ "pattern": "^wsb-[0-9a-z]{8,63}$",
+ "type": "string"
+ },
+ "Capacity": {
+ "$ref": "#/definitions/Capacity"
+ },
+ "CreatedAt": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_./() -]+$",
+ "type": "string"
+ },
+ "DirectoryId": {
+ "maxLength": 65,
+ "minLength": 10,
+ "pattern": "^wsd-[0-9a-z]{8,63}$",
+ "type": "string"
+ },
+ "PoolArn": {
+ "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$",
+ "type": "string"
+ },
+ "PoolId": {
+ "pattern": "^wspool-[0-9a-z]{9}$",
+ "type": "string"
+ },
+ "PoolName": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TimeoutSettings": {
+ "$ref": "#/definitions/TimeoutSettings"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/PoolId",
+ "/properties/PoolArn",
+ "/properties/CreatedAt"
+ ],
+ "required": [
+ "PoolName",
+ "BundleId",
+ "DirectoryId",
+ "Capacity"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": false,
+ "taggable": true
+ },
+ "typeName": "AWS::WorkSpaces::WorkspacesPool",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py
index 6a9cb673f5..b34ab2d0b5 100644
--- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py
@@ -415,6 +415,7 @@
"AWS::NetworkManager::CoreNetwork",
"AWS::NetworkManager::CustomerGatewayAssociation",
"AWS::NetworkManager::Device",
+ "AWS::NetworkManager::DirectConnectGatewayAttachment",
"AWS::NetworkManager::GlobalNetwork",
"AWS::NetworkManager::Link",
"AWS::NetworkManager::LinkAssociation",
@@ -685,7 +686,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -749,10 +749,8 @@
"aws-dms-instanceprofile.json",
"aws-dms-migrationproject.json",
"aws-dms-replicationconfig.json",
- "aws-dynamodb-globaltable.json",
"aws-ec2-capacityreservation.json",
"aws-ec2-capacityreservationfleet.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -943,12 +941,8 @@
"aws-logs-deliverydestination.json",
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-msk-batchscramsecret.json",
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
@@ -965,6 +959,7 @@
"aws-networkmanager-corenetwork.json",
"aws-networkmanager-customergatewayassociation.json",
"aws-networkmanager-device.json",
+ "aws-networkmanager-directconnectgatewayattachment.json",
"aws-networkmanager-globalnetwork.json",
"aws-networkmanager-link.json",
"aws-networkmanager-linkassociation.json",
@@ -983,12 +978,10 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-pcaconnectorscep-challenge.json",
"aws-pcaconnectorscep-connector.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-dynamodb-globaltable.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-dynamodb-globaltable.json
new file mode 100644
index 0000000000..7e68a07b47
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-dynamodb-globaltable.json
@@ -0,0 +1,622 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/Arn"
+ ],
+ [
+ "/properties/StreamArn"
+ ]
+ ],
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "if": {
+ "required": [
+ "LocalSecondaryIndexes"
+ ],
+ "type": "object"
+ },
+ "then": {
+ "properties": {
+ "AttributeDefinitions": {
+ "minItems": 2
+ },
+ "KeySchema": {
+ "minItems": 2
+ }
+ },
+ "type": "object"
+ }
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/LocalSecondaryIndexes",
+ "/properties/TableName",
+ "/properties/KeySchema"
+ ],
+ "definitions": {
+ "AttributeDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeType": {
+ "enum": [
+ "B",
+ "N",
+ "S"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeType"
+ ],
+ "type": "object"
+ },
+ "CapacityAutoScalingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "MaxCapacity": {
+ "minimum": 1,
+ "type": "integer"
+ },
+ "MinCapacity": {
+ "minimum": 1,
+ "type": "integer"
+ },
+ "SeedCapacity": {
+ "minimum": 1,
+ "type": "integer"
+ },
+ "TargetTrackingScalingPolicyConfiguration": {
+ "$ref": "#/definitions/TargetTrackingScalingPolicyConfiguration"
+ }
+ },
+ "required": [
+ "MinCapacity",
+ "MaxCapacity",
+ "TargetTrackingScalingPolicyConfiguration"
+ ],
+ "type": "object"
+ },
+ "ContributorInsightsSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "GlobalSecondaryIndex": {
+ "additionalProperties": false,
+ "properties": {
+ "IndexName": {
+ "maxLength": 255,
+ "minLength": 3,
+ "type": "string"
+ },
+ "KeySchema": {
+ "$ref": "#/definitions/KeySchema",
+ "maxItems": 2,
+ "minItems": 1
+ },
+ "Projection": {
+ "$ref": "#/definitions/Projection"
+ },
+ "WriteOnDemandThroughputSettings": {
+ "$ref": "#/definitions/WriteOnDemandThroughputSettings"
+ },
+ "WriteProvisionedThroughputSettings": {
+ "$ref": "#/definitions/WriteProvisionedThroughputSettings"
+ }
+ },
+ "required": [
+ "IndexName",
+ "Projection",
+ "KeySchema"
+ ],
+ "type": "object"
+ },
+ "KeySchema": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "HASH",
+ "RANGE"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType",
+ "AttributeName"
+ ],
+ "type": "object"
+ },
+ "prefixItems": [
+ {
+ "properties": {
+ "KeyType": {
+ "const": "HASH",
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "KeyType": {
+ "const": "RANGE",
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ }
+ ],
+ "type": "array",
+ "uniqueItems": true,
+ "uniqueKeys": [
+ "AttributeName"
+ ]
+ },
+ "KinesisStreamSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "ApproximateCreationDateTimePrecision": {
+ "enum": [
+ "MICROSECOND",
+ "MILLISECOND"
+ ],
+ "type": "string"
+ },
+ "StreamArn": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "StreamArn"
+ ],
+ "type": "object"
+ },
+ "LocalSecondaryIndex": {
+ "additionalProperties": false,
+ "properties": {
+ "IndexName": {
+ "maxLength": 255,
+ "minLength": 3,
+ "type": "string"
+ },
+ "KeySchema": {
+ "$ref": "#/definitions/KeySchema",
+ "maxItems": 2,
+ "minItems": 2
+ },
+ "Projection": {
+ "$ref": "#/definitions/Projection"
+ }
+ },
+ "required": [
+ "IndexName",
+ "Projection",
+ "KeySchema"
+ ],
+ "type": "object"
+ },
+ "PointInTimeRecoverySpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "PointInTimeRecoveryEnabled": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "Projection": {
+ "additionalProperties": false,
+ "properties": {
+ "NonKeyAttributes": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ProjectionType": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ReadOnDemandThroughputSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "MaxReadRequestUnits": {
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ReadProvisionedThroughputSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "ReadCapacityAutoScalingSettings": {
+ "$ref": "#/definitions/CapacityAutoScalingSettings"
+ },
+ "ReadCapacityUnits": {
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ReplicaGlobalSecondaryIndexSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "ContributorInsightsSpecification": {
+ "$ref": "#/definitions/ContributorInsightsSpecification"
+ },
+ "IndexName": {
+ "maxLength": 255,
+ "minLength": 3,
+ "type": "string"
+ },
+ "ReadOnDemandThroughputSettings": {
+ "$ref": "#/definitions/ReadOnDemandThroughputSettings"
+ },
+ "ReadProvisionedThroughputSettings": {
+ "$ref": "#/definitions/ReadProvisionedThroughputSettings"
+ }
+ },
+ "required": [
+ "IndexName"
+ ],
+ "type": "object"
+ },
+ "ReplicaSSESpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSMasterKeyId": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/KeyId",
+ "typeName": "AWS::KMS::Key"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/AliasName",
+ "typeName": "AWS::KMS::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KMSMasterKeyId"
+ ],
+ "type": "object"
+ },
+ "ReplicaSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "ContributorInsightsSpecification": {
+ "$ref": "#/definitions/ContributorInsightsSpecification"
+ },
+ "DeletionProtectionEnabled": {
+ "type": "boolean"
+ },
+ "GlobalSecondaryIndexes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicaGlobalSecondaryIndexSpecification"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "KinesisStreamSpecification": {
+ "$ref": "#/definitions/KinesisStreamSpecification"
+ },
+ "PointInTimeRecoverySpecification": {
+ "$ref": "#/definitions/PointInTimeRecoverySpecification"
+ },
+ "ReadOnDemandThroughputSettings": {
+ "$ref": "#/definitions/ReadOnDemandThroughputSettings"
+ },
+ "ReadProvisionedThroughputSettings": {
+ "$ref": "#/definitions/ReadProvisionedThroughputSettings"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "ReplicaStreamSpecification": {
+ "$ref": "#/definitions/ReplicaStreamSpecification"
+ },
+ "ResourcePolicy": {
+ "$ref": "#/definitions/ResourcePolicy"
+ },
+ "SSESpecification": {
+ "$ref": "#/definitions/ReplicaSSESpecification"
+ },
+ "TableClass": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "Region"
+ ],
+ "type": "object"
+ },
+ "ReplicaStreamSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "ResourcePolicy": {
+ "$ref": "#/definitions/ResourcePolicy"
+ }
+ },
+ "required": [
+ "ResourcePolicy"
+ ],
+ "type": "object"
+ },
+ "ResourcePolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "PolicyDocument": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "required": [
+ "PolicyDocument"
+ ],
+ "type": "object"
+ },
+ "SSESpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "SSEEnabled": {
+ "type": "boolean"
+ },
+ "SSEType": {
+ "enum": [
+ "AES256",
+ "KMS"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "SSEEnabled"
+ ],
+ "type": "object"
+ },
+ "StreamSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "StreamViewType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "StreamViewType"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TargetTrackingScalingPolicyConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "DisableScaleIn": {
+ "type": "boolean"
+ },
+ "ScaleInCooldown": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "ScaleOutCooldown": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "TargetValue": {
+ "format": "double",
+ "type": "number"
+ }
+ },
+ "required": [
+ "TargetValue"
+ ],
+ "type": "object"
+ },
+ "TimeToLiveSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "WriteOnDemandThroughputSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "MaxWriteRequestUnits": {
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "WriteProvisionedThroughputSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "WriteCapacityAutoScalingSettings": {
+ "$ref": "#/definitions/CapacityAutoScalingSettings"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/TableName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "AttributeDefinitions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AttributeDefinition"
+ },
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true,
+ "uniqueKeys": [
+ "AttributeName"
+ ]
+ },
+ "BillingMode": {
+ "type": "string"
+ },
+ "GlobalSecondaryIndexes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/GlobalSecondaryIndex"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "KeySchema": {
+ "$ref": "#/definitions/KeySchema",
+ "maxItems": 2,
+ "minItems": 1
+ },
+ "LocalSecondaryIndexes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LocalSecondaryIndex"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Replicas": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicaSpecification"
+ },
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SSESpecification": {
+ "$ref": "#/definitions/SSESpecification"
+ },
+ "StreamArn": {
+ "type": "string"
+ },
+ "StreamSpecification": {
+ "$ref": "#/definitions/StreamSpecification"
+ },
+ "TableId": {
+ "type": "string"
+ },
+ "TableName": {
+ "type": "string"
+ },
+ "TimeToLiveSpecification": {
+ "$ref": "#/definitions/TimeToLiveSpecification"
+ },
+ "WriteOnDemandThroughputSettings": {
+ "$ref": "#/definitions/WriteOnDemandThroughputSettings"
+ },
+ "WriteProvisionedThroughputSettings": {
+ "$ref": "#/definitions/WriteProvisionedThroughputSettings"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/StreamArn",
+ "/properties/TableId"
+ ],
+ "required": [
+ "KeySchema",
+ "AttributeDefinitions",
+ "Replicas"
+ ],
+ "typeName": "AWS::DynamoDB::GlobalTable",
+ "writeOnlyProperties": [
+ "/properties/Replicas/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity",
+ "/properties/Replicas/*/GlobalSecondaryIndexes/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity",
+ "/properties/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity",
+ "/properties/GlobalSecondaryIndexes/*/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-dynamodb-table.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-dynamodb-table.json
index 76224c63e2..9e1125534b 100644
--- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-dynamodb-table.json
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-dynamodb-table.json
@@ -131,9 +131,6 @@
},
"ProvisionedThroughput": {
"$ref": "#/definitions/ProvisionedThroughput"
- },
- "WarmThroughput": {
- "$ref": "#/definitions/WarmThroughput"
}
},
"required": [
@@ -452,32 +449,6 @@
"Enabled"
],
"type": "object"
- },
- "WarmThroughput": {
- "additionalProperties": false,
- "anyOf": [
- {
- "required": [
- "ReadUnitsPerSecond"
- ]
- },
- {
- "required": [
- "WriteUnitsPerSecond"
- ]
- }
- ],
- "properties": {
- "ReadUnitsPerSecond": {
- "minimum": 1,
- "type": "integer"
- },
- "WriteUnitsPerSecond": {
- "minimum": 1,
- "type": "integer"
- }
- },
- "type": "object"
}
},
"primaryIdentifier": [
@@ -578,9 +549,6 @@
},
"TimeToLiveSpecification": {
"$ref": "#/definitions/TimeToLiveSpecification"
- },
- "WarmThroughput": {
- "$ref": "#/definitions/WarmThroughput"
}
},
"propertyTransform": {
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py
index 935aee295f..afa7258553 100644
--- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py
@@ -414,6 +414,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -559,6 +560,7 @@
"AWS::RDS::GlobalCluster",
"AWS::RDS::Integration",
"AWS::RDS::OptionGroup",
+ "AWS::Rbin::Rule",
"AWS::Redshift::Cluster",
"AWS::Redshift::ClusterParameterGroup",
"AWS::Redshift::ClusterSecurityGroup",
@@ -804,7 +806,6 @@
"aws-backup-backupselection.json",
"aws-backup-backupvault.json",
"aws-batch-computeenvironment.json",
- "aws-batch-jobdefinition.json",
"aws-batch-jobqueue.json",
"aws-batch-schedulingpolicy.json",
"aws-budgets-budget.json",
@@ -830,7 +831,6 @@
"aws-cloudformation-waitcondition.json",
"aws-cloudformation-waitconditionhandle.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-publickey.json",
"aws-cloudfront-responseheaderspolicy.json",
@@ -1024,7 +1024,9 @@
"aws-fsx-snapshot.json",
"aws-fsx-storagevirtualmachine.json",
"aws-fsx-volume.json",
+ "aws-gamelift-alias.json",
"aws-gamelift-build.json",
+ "aws-gamelift-fleet.json",
"aws-gamelift-gameservergroup.json",
"aws-gamelift-gamesessionqueue.json",
"aws-gamelift-matchmakingconfiguration.json",
@@ -1103,6 +1105,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1171,12 +1174,8 @@
"aws-logs-deliverydestination.json",
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-msk-batchscramsecret.json",
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
@@ -1221,7 +1220,7 @@
"aws-quicksight-theme.json",
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
+ "aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-batch-jobdefinition.json
new file mode 100644
index 0000000000..c62e41456c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-batch-jobdefinition.json
@@ -0,0 +1,771 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Tags",
+ "/properties/JobDefinitionName"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "Iam": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "FargatePlatformConfiguration": {
+ "$ref": "#/definitions/FargatePlatformConfiguration"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EfsVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EksContainer": {
+ "additionalProperties": false,
+ "properties": {
+ "Args": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Env": {
+ "items": {
+ "$ref": "#/definitions/EksContainerEnvironmentVariable"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImagePullPolicy": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Resources": {
+ "$ref": "#/definitions/EksContainerResourceRequirements"
+ },
+ "SecurityContext": {
+ "$ref": "#/definitions/EksContainerSecurityContext"
+ },
+ "VolumeMounts": {
+ "items": {
+ "$ref": "#/definitions/EksContainerVolumeMount"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "EksContainerEnvironmentVariable": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "EksContainerResourceRequirements": {
+ "additionalProperties": false,
+ "properties": {
+ "Limits": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Requests": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerSecurityContext": {
+ "additionalProperties": false,
+ "properties": {
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadOnlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RunAsGroup": {
+ "type": "integer"
+ },
+ "RunAsNonRoot": {
+ "type": "boolean"
+ },
+ "RunAsUser": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerVolumeMount": {
+ "additionalProperties": false,
+ "properties": {
+ "MountPath": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "EksEmptyDir": {
+ "additionalProperties": false,
+ "properties": {
+ "Medium": {
+ "type": "string"
+ },
+ "SizeLimit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksHostPath": {
+ "additionalProperties": false,
+ "properties": {
+ "Path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "PodProperties": {
+ "$ref": "#/definitions/PodProperties"
+ }
+ },
+ "type": "object"
+ },
+ "EksSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Optional": {
+ "type": "boolean"
+ },
+ "SecretName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "SecretName"
+ ],
+ "type": "object"
+ },
+ "EksVolume": {
+ "additionalProperties": false,
+ "properties": {
+ "EmptyDir": {
+ "$ref": "#/definitions/EksEmptyDir"
+ },
+ "HostPath": {
+ "$ref": "#/definitions/EksHostPath"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Secret": {
+ "$ref": "#/definitions/EksSecret"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Environment": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SizeInGiB"
+ ],
+ "type": "object"
+ },
+ "EvaluateOnExit": {
+ "additionalProperties": false,
+ "properties": {
+ "Action": {
+ "type": "string"
+ },
+ "OnExitCode": {
+ "type": "string"
+ },
+ "OnReason": {
+ "type": "string"
+ },
+ "OnStatusReason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Action"
+ ],
+ "type": "object"
+ },
+ "FargatePlatformConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PlatformVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Devices": {
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "type": "string"
+ },
+ "Options": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretOptions": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "Metadata": {
+ "additionalProperties": false,
+ "properties": {
+ "Labels": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "MountPoints": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AssignPublicIp": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NodeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "MainNode": {
+ "type": "integer"
+ },
+ "NodeRangeProperties": {
+ "items": {
+ "$ref": "#/definitions/NodeRangeProperty"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NumNodes": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "MainNode",
+ "NodeRangeProperties",
+ "NumNodes"
+ ],
+ "type": "object"
+ },
+ "NodeRangeProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "Container": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "TargetNodes": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetNodes"
+ ],
+ "type": "object"
+ },
+ "PodProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsPolicy": {
+ "type": "string"
+ },
+ "HostNetwork": {
+ "type": "boolean"
+ },
+ "Metadata": {
+ "$ref": "#/definitions/Metadata"
+ },
+ "ServiceAccountName": {
+ "type": "string"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/EksVolume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RetryStrategy": {
+ "additionalProperties": false,
+ "properties": {
+ "Attempts": {
+ "type": "integer"
+ },
+ "EvaluateOnExit": {
+ "items": {
+ "$ref": "#/definitions/EvaluateOnExit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ValueFrom",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Timeout": {
+ "additionalProperties": false,
+ "properties": {
+ "AttemptDurationSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size",
+ "ContainerPath"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SoftLimit",
+ "HardLimit",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Volumes": {
+ "additionalProperties": false,
+ "properties": {
+ "EfsVolumeConfiguration": {
+ "$ref": "#/definitions/EfsVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/VolumesHost"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumesHost": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ContainerProperties": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "JobDefinitionName": {
+ "type": "string"
+ },
+ "NodeProperties": {
+ "$ref": "#/definitions/NodeProperties"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "PlatformCapabilities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PropagateTags": {
+ "type": "boolean"
+ },
+ "RetryStrategy": {
+ "$ref": "#/definitions/RetryStrategy"
+ },
+ "SchedulingPriority": {
+ "type": "integer"
+ },
+ "Tags": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Timeout": {
+ "$ref": "#/definitions/Timeout"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Type"
+ ],
+ "typeName": "AWS::Batch::JobDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-gamelift-alias.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-gamelift-alias.json
deleted file mode 100644
index 8fc0c45024..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-gamelift-alias.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "RoutingStrategy": {
- "additionalProperties": false,
- "anyOf": [
- {
- "required": [
- "FleetId"
- ]
- },
- {
- "required": [
- "Message"
- ]
- }
- ],
- "properties": {
- "FleetId": {
- "pattern": "^fleet-\\S+",
- "type": "string"
- },
- "Message": {
- "type": "string"
- },
- "Type": {
- "enum": [
- "SIMPLE",
- "TERMINAL"
- ],
- "type": "string"
- }
- },
- "required": [
- "Type"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/AliasId"
- ],
- "properties": {
- "AliasId": {
- "type": "string"
- },
- "Description": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": ".*\\S.*",
- "type": "string"
- },
- "RoutingStrategy": {
- "$ref": "#/definitions/RoutingStrategy"
- }
- },
- "readOnlyProperties": [
- "/properties/AliasId"
- ],
- "required": [
- "Name",
- "RoutingStrategy"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git",
- "taggable": true,
- "typeName": "AWS::GameLift::Alias"
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-gamelift-fleet.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-gamelift-fleet.json
deleted file mode 100644
index c9f996a779..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-gamelift-fleet.json
+++ /dev/null
@@ -1,540 +0,0 @@
-{
- "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ApplyCapacity",
- "/properties/BuildId",
- "/properties/CertificateConfiguration",
- "/properties/ContainerGroupsConfiguration",
- "/properties/EC2InstanceType",
- "/properties/FleetType",
- "/properties/InstanceRoleARN",
- "/properties/InstanceRoleCredentialsProvider",
- "/properties/LogPaths",
- "/properties/PeerVpcAwsAccountId",
- "/properties/PeerVpcId",
- "/properties/ScriptId",
- "/properties/ServerLaunchParameters",
- "/properties/ServerLaunchPath",
- "/properties/ComputeType"
- ],
- "definitions": {
- "AnywhereConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Cost": {
- "maxLength": 11,
- "minLength": 1,
- "pattern": "^\\d{1,5}(?:\\.\\d{1,5})?$",
- "type": "string"
- }
- },
- "required": [
- "Cost"
- ]
- },
- "CertificateConfiguration": {
- "additionalProperties": false,
- "properties": {
- "CertificateType": {
- "enum": [
- "DISABLED",
- "GENERATED"
- ],
- "type": "string"
- }
- },
- "required": [
- "CertificateType"
- ],
- "type": "object"
- },
- "ConnectionPortRange": {
- "additionalProperties": false,
- "properties": {
- "FromPort": {
- "maximum": 60000,
- "minimum": 1,
- "type": "integer"
- },
- "ToPort": {
- "maximum": 60000,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "FromPort",
- "ToPort"
- ],
- "type": "object"
- },
- "ContainerGroupsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ConnectionPortRange": {
- "$ref": "#/definitions/ConnectionPortRange"
- },
- "ContainerGroupDefinitionNames": {
- "insertionOrder": false,
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[a-zA-Z0-9\\-]+$",
- "type": "string"
- },
- "maxItems": 2,
- "minItems": 1,
- "type": "array"
- },
- "ContainerGroupsPerInstance": {
- "$ref": "#/definitions/ContainerGroupsPerInstance"
- }
- },
- "required": [
- "ContainerGroupDefinitionNames",
- "ConnectionPortRange"
- ],
- "type": "object"
- },
- "ContainerGroupsPerInstance": {
- "additionalProperties": false,
- "properties": {
- "DesiredReplicaContainerGroupsPerInstance": {
- "maximum": 5000,
- "minimum": 1,
- "type": "integer"
- },
- "MaxReplicaContainerGroupsPerInstance": {
- "maximum": 5000,
- "minimum": 1,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "IpPermission": {
- "additionalProperties": false,
- "properties": {
- "FromPort": {
- "maximum": 60000,
- "minimum": 1,
- "type": "integer"
- },
- "IpRange": {
- "pattern": "(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/([0-9]|[1-2][0-9]|3[0-2]))$)",
- "type": "string"
- },
- "Protocol": {
- "enum": [
- "TCP",
- "UDP"
- ],
- "type": "string"
- },
- "ToPort": {
- "maximum": 60000,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "FromPort",
- "IpRange",
- "Protocol",
- "ToPort"
- ],
- "type": "object"
- },
- "Location": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9\\-]+",
- "type": "string"
- },
- "LocationCapacity": {
- "additionalProperties": false,
- "properties": {
- "DesiredEC2Instances": {
- "minimum": 0,
- "type": "integer"
- },
- "MaxSize": {
- "minimum": 0,
- "type": "integer"
- },
- "MinSize": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "DesiredEC2Instances",
- "MinSize",
- "MaxSize"
- ],
- "type": "object"
- },
- "LocationConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Location": {
- "$ref": "#/definitions/Location"
- },
- "LocationCapacity": {
- "$ref": "#/definitions/LocationCapacity"
- }
- },
- "required": [
- "Location"
- ],
- "type": "object"
- },
- "ResourceCreationLimitPolicy": {
- "additionalProperties": false,
- "properties": {
- "NewGameSessionsPerCreator": {
- "minimum": 0,
- "type": "integer"
- },
- "PolicyPeriodInMinutes": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "RuntimeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "GameSessionActivationTimeoutSeconds": {
- "maximum": 600,
- "minimum": 1,
- "type": "integer"
- },
- "MaxConcurrentGameSessionActivations": {
- "maximum": 2147483647,
- "minimum": 1,
- "type": "integer"
- },
- "ServerProcesses": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/ServerProcess"
- },
- "maxItems": 50,
- "type": "array"
- }
- },
- "type": "object"
- },
- "ScalingPolicy": {
- "additionalProperties": false,
- "properties": {
- "ComparisonOperator": {
- "enum": [
- "GreaterThanOrEqualToThreshold",
- "GreaterThanThreshold",
- "LessThanThreshold",
- "LessThanOrEqualToThreshold"
- ],
- "type": "string"
- },
- "EvaluationPeriods": {
- "minimum": 1,
- "type": "integer"
- },
- "Location": {
- "$ref": "#/definitions/Location"
- },
- "MetricName": {
- "enum": [
- "ActivatingGameSessions",
- "ActiveGameSessions",
- "ActiveInstances",
- "AvailableGameSessions",
- "AvailablePlayerSessions",
- "CurrentPlayerSessions",
- "IdleInstances",
- "PercentAvailableGameSessions",
- "PercentIdleInstances",
- "QueueDepth",
- "WaitTime",
- "ConcurrentActivatableGameSessions"
- ],
- "type": "string"
- },
- "Name": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "PolicyType": {
- "enum": [
- "RuleBased",
- "TargetBased"
- ],
- "type": "string"
- },
- "ScalingAdjustment": {
- "type": "integer"
- },
- "ScalingAdjustmentType": {
- "enum": [
- "ChangeInCapacity",
- "ExactCapacity",
- "PercentChangeInCapacity"
- ],
- "type": "string"
- },
- "Status": {
- "enum": [
- "ACTIVE",
- "UPDATE_REQUESTED",
- "UPDATING",
- "DELETE_REQUESTED",
- "DELETING",
- "DELETED",
- "ERROR"
- ],
- "type": "string"
- },
- "TargetConfiguration": {
- "$ref": "#/definitions/TargetConfiguration"
- },
- "Threshold": {
- "type": "number"
- },
- "UpdateStatus": {
- "enum": [
- "PENDING_UPDATE"
- ],
- "type": "string"
- }
- },
- "required": [
- "MetricName",
- "Name"
- ],
- "type": "object"
- },
- "ServerProcess": {
- "additionalProperties": false,
- "properties": {
- "ConcurrentExecutions": {
- "minimum": 1,
- "type": "integer"
- },
- "LaunchPath": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": "^([Cc]:\\\\game\\S+|/local/game/\\S+)",
- "type": "string"
- },
- "Parameters": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": "[A-Za-z0-9_:.+\\/\\\\\\- =@;{},?'\\[\\]\"]+",
- "type": "string"
- }
- },
- "required": [
- "ConcurrentExecutions",
- "LaunchPath"
- ],
- "type": "object"
- },
- "TargetConfiguration": {
- "additionalProperties": false,
- "properties": {
- "TargetValue": {
- "type": "number"
- }
- },
- "required": [
- "TargetValue"
- ],
- "type": "object"
- }
- },
- "deprecatedProperties": [
- "/properties/LogPaths",
- "/properties/ServerLaunchParameters",
- "/properties/ServerLaunchPath"
- ],
- "primaryIdentifier": [
- "/properties/FleetId"
- ],
- "properties": {
- "AnywhereConfiguration": {
- "$ref": "#/definitions/AnywhereConfiguration"
- },
- "ApplyCapacity": {
- "enum": [
- "ON_UPDATE",
- "ON_CREATE_AND_UPDATE"
- ],
- "type": "string"
- },
- "BuildId": {
- "pattern": "^build-\\S+|^arn:.*:build/build-\\S+",
- "type": "string"
- },
- "CertificateConfiguration": {
- "$ref": "#/definitions/CertificateConfiguration"
- },
- "ComputeType": {
- "enum": [
- "EC2",
- "ANYWHERE",
- "CONTAINER"
- ],
- "type": "string"
- },
- "ContainerGroupsConfiguration": {
- "$ref": "#/definitions/ContainerGroupsConfiguration"
- },
- "Description": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "DesiredEC2Instances": {
- "minimum": 0,
- "type": "integer"
- },
- "EC2InboundPermissions": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/IpPermission"
- },
- "maxItems": 50,
- "type": "array"
- },
- "EC2InstanceType": {
- "pattern": "^.*..*$",
- "type": "string"
- },
- "FleetId": {
- "pattern": "^fleet-\\S+",
- "type": "string"
- },
- "FleetType": {
- "enum": [
- "ON_DEMAND",
- "SPOT"
- ],
- "type": "string"
- },
- "InstanceRoleARN": {
- "minLength": 1,
- "pattern": "^arn:aws(-.*)?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$",
- "type": "string"
- },
- "InstanceRoleCredentialsProvider": {
- "enum": [
- "SHARED_CREDENTIAL_FILE"
- ],
- "type": "string"
- },
- "Locations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LocationConfiguration"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array"
- },
- "LogPaths": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "MaxSize": {
- "minimum": 0,
- "type": "integer"
- },
- "MetricGroups": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "maxItems": 1,
- "type": "array"
- },
- "MinSize": {
- "minimum": 0,
- "type": "integer"
- },
- "Name": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "NewGameSessionProtectionPolicy": {
- "enum": [
- "FullProtection",
- "NoProtection"
- ],
- "type": "string"
- },
- "PeerVpcAwsAccountId": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": "^[0-9]{12}$",
- "type": "string"
- },
- "PeerVpcId": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": "^vpc-\\S+",
- "type": "string"
- },
- "ResourceCreationLimitPolicy": {
- "$ref": "#/definitions/ResourceCreationLimitPolicy"
- },
- "RuntimeConfiguration": {
- "$ref": "#/definitions/RuntimeConfiguration"
- },
- "ScalingPolicies": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/ScalingPolicy"
- },
- "maxItems": 50,
- "type": "array"
- },
- "ScriptId": {
- "pattern": "^script-\\S+|^arn:.*:script/script-\\S+",
- "type": "string"
- },
- "ServerLaunchParameters": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": "[A-Za-z0-9_:.+\\/\\\\\\- =@;{},?'\\[\\]\"]+",
- "type": "string"
- },
- "ServerLaunchPath": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": "[A-Za-z0-9_:.+\\/\\\\\\- ]+",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/ContainerGroupsConfiguration/ContainerGroupsPerInstance/MaxReplicaContainerGroupsPerInstance",
- "/properties/FleetId"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git",
- "taggable": true,
- "typeName": "AWS::GameLift::Fleet",
- "writeOnlyProperties": [
- "/properties/ApplyCapacity"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py
index 3120fdc649..09954d61af 100644
--- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py
@@ -403,6 +403,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -516,6 +517,7 @@
"AWS::RDS::GlobalCluster",
"AWS::RDS::Integration",
"AWS::RDS::OptionGroup",
+ "AWS::Rbin::Rule",
"AWS::Redshift::Cluster",
"AWS::Redshift::ClusterParameterGroup",
"AWS::Redshift::ClusterSecurityGroup",
@@ -788,7 +790,6 @@
"aws-cloudformation-waitcondition.json",
"aws-cloudformation-waitconditionhandle.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-publickey.json",
"aws-cloudfront-responseheaderspolicy.json",
@@ -926,7 +927,6 @@
"aws-ecs-clustercapacityproviderassociations.json",
"aws-ecs-primarytaskset.json",
"aws-ecs-service.json",
- "aws-ecs-taskdefinition.json",
"aws-ecs-taskset.json",
"aws-efs-accesspoint.json",
"aws-efs-filesystem.json",
@@ -963,7 +963,6 @@
"aws-emr-securityconfiguration.json",
"aws-emr-step.json",
"aws-emr-studio.json",
- "aws-emrserverless-application.json",
"aws-events-archive.json",
"aws-events-eventbus.json",
"aws-events-eventbuspolicy.json",
@@ -978,7 +977,9 @@
"aws-fsx-snapshot.json",
"aws-fsx-storagevirtualmachine.json",
"aws-fsx-volume.json",
+ "aws-gamelift-alias.json",
"aws-gamelift-build.json",
+ "aws-gamelift-fleet.json",
"aws-gamelift-gameservergroup.json",
"aws-gamelift-gamesessionqueue.json",
"aws-gamelift-matchmakingconfiguration.json",
@@ -1039,6 +1040,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1087,12 +1089,8 @@
"aws-logs-deliverydestination.json",
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-mediaconvert-jobtemplate.json",
"aws-mediaconvert-preset.json",
"aws-mediaconvert-queue.json",
@@ -1121,11 +1119,10 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-pipes-pipe.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
+ "aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
@@ -1151,7 +1148,6 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
- "aws-redshiftserverless-workgroup.json",
"aws-resourcegroups-group.json",
"aws-rolesanywhere-crl.json",
"aws-rolesanywhere-profile.json",
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-taskdefinition.json
new file mode 100644
index 0000000000..35c2b1ed93
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-taskdefinition.json
@@ -0,0 +1,1044 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Family",
+ "/properties/ContainerDefinitions",
+ "/properties/Cpu",
+ "/properties/ExecutionRoleArn",
+ "/properties/InferenceAccelerators",
+ "/properties/Memory",
+ "/properties/NetworkMode",
+ "/properties/PlacementConstraints",
+ "/properties/ProxyConfiguration",
+ "/properties/RequiresCompatibilities",
+ "/properties/RuntimePlatform",
+ "/properties/TaskRoleArn",
+ "/properties/Volumes",
+ "/properties/PidMode",
+ "/properties/IpcMode",
+ "/properties/EphemeralStorage"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "IAM": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Cpu": {
+ "type": "integer"
+ },
+ "CredentialSpecs": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "DependsOn": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ContainerDependency"
+ },
+ "type": "array"
+ },
+ "DisableNetworking": {
+ "type": "boolean"
+ },
+ "DnsSearchDomains": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "DnsServers": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "DockerLabels": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSecurityOptions": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "EntryPoint": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Environment": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true,
+ "uniqueKeys": [
+ "Name"
+ ]
+ },
+ "EnvironmentFiles": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/EnvironmentFile"
+ },
+ "type": "array"
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "ExtraHosts": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/HostEntry"
+ },
+ "type": "array"
+ },
+ "FirelensConfiguration": {
+ "$ref": "#/definitions/FirelensConfiguration"
+ },
+ "HealthCheck": {
+ "$ref": "#/definitions/HealthCheck"
+ },
+ "Hostname": {
+ "type": "string"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "Interactive": {
+ "type": "boolean"
+ },
+ "Links": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MemoryReservation": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/MountPoint"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PortMappings": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/PortMapping"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "PseudoTerminal": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array"
+ },
+ "RestartPolicy": {
+ "$ref": "#/definitions/RestartPolicy"
+ },
+ "Secrets": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array"
+ },
+ "StartTimeout": {
+ "type": "integer"
+ },
+ "StopTimeout": {
+ "type": "integer"
+ },
+ "SystemControls": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SystemControl"
+ },
+ "type": "array"
+ },
+ "Ulimits": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array"
+ },
+ "User": {
+ "type": "string"
+ },
+ "VersionConsistency": {
+ "default": "enabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string"
+ },
+ "VolumesFrom": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/VolumeFrom"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "WorkingDirectory": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name",
+ "Image"
+ ],
+ "type": "object"
+ },
+ "ContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "enum": [
+ "COMPLETE",
+ "HEALTHY",
+ "START",
+ "SUCCESS"
+ ],
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "insertionOrder": false,
+ "items": {
+ "enum": [
+ "mknod",
+ "read",
+ "write"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "DockerVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Autoprovision": {
+ "type": "boolean"
+ },
+ "Driver": {
+ "type": "string"
+ },
+ "DriverOpts": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Labels": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Scope": {
+ "enum": [
+ "shared",
+ "task"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EFSVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FilesystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FilesystemId"
+ ],
+ "type": "object"
+ },
+ "EnvironmentFile": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "enum": [
+ "s3"
+ ],
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "FSxAuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ },
+ "Domain": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter",
+ "Domain"
+ ],
+ "type": "object"
+ },
+ "FSxWindowsFileServerVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/FSxAuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "RootDirectory"
+ ],
+ "type": "object"
+ },
+ "FirelensConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Options": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Type": {
+ "enum": [
+ "fluentbit",
+ "fluentd"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "HealthCheck": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Interval": {
+ "type": "integer"
+ },
+ "Retries": {
+ "type": "integer"
+ },
+ "StartPeriod": {
+ "type": "integer"
+ },
+ "Timeout": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "HostEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "Hostname": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "HostVolumeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InferenceAccelerator": {
+ "additionalProperties": false,
+ "properties": {
+ "DeviceName": {
+ "type": "string"
+ },
+ "DeviceType": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "KernelCapabilities": {
+ "additionalProperties": false,
+ "properties": {
+ "Add": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Drop": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "KeyValuePair": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Capabilities": {
+ "$ref": "#/definitions/KernelCapabilities"
+ },
+ "Devices": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array"
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "enum": [
+ "awsfirelens",
+ "awslogs",
+ "fluentd",
+ "gelf",
+ "journald",
+ "json-file",
+ "splunk",
+ "syslog"
+ ],
+ "type": "string"
+ },
+ "Options": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretOptions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "MountPoint": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PortMapping": {
+ "additionalProperties": false,
+ "properties": {
+ "AppProtocol": {
+ "enum": [
+ "http",
+ "http2",
+ "grpc"
+ ],
+ "type": "string"
+ },
+ "ContainerPort": {
+ "type": "integer"
+ },
+ "ContainerPortRange": {
+ "type": "string"
+ },
+ "HostPort": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Protocol": {
+ "enum": [
+ "tcp",
+ "udp"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProxyConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerName": {
+ "type": "string"
+ },
+ "ProxyConfigurationProperties": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "APPMESH"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ContainerName"
+ ],
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "enum": [
+ "GPU",
+ "InferenceAccelerator"
+ ],
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "RestartPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "IgnoredExitCodes": {
+ "insertionOrder": false,
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "RestartAttemptPeriod": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "enum": [
+ "ARM64",
+ "X86_64"
+ ],
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "enum": [
+ "LINUX",
+ "WINDOWS_SERVER_2004_CORE",
+ "WINDOWS_SERVER_2016_FULL",
+ "WINDOWS_SERVER_2019_CORE",
+ "WINDOWS_SERVER_2019_FULL",
+ "WINDOWS_SERVER_2022_CORE",
+ "WINDOWS_SERVER_2022_FULL",
+ "WINDOWS_SERVER_20H2_CORE"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name",
+ "ValueFrom"
+ ],
+ "type": "object"
+ },
+ "SystemControl": {
+ "additionalProperties": false,
+ "properties": {
+ "Namespace": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TaskDefinitionPlacementConstraint": {
+ "additionalProperties": false,
+ "properties": {
+ "Expression": {
+ "type": "string"
+ },
+ "Type": {
+ "enum": [
+ "memberOf"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "enum": [
+ "core",
+ "cpu",
+ "data",
+ "fsize",
+ "locks",
+ "memlock",
+ "msgqueue",
+ "nice",
+ "nofile",
+ "nproc",
+ "rss",
+ "rtprio",
+ "rttime",
+ "sigpending",
+ "stack"
+ ],
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "HardLimit",
+ "Name",
+ "SoftLimit"
+ ],
+ "type": "object"
+ },
+ "Volume": {
+ "additionalProperties": false,
+ "properties": {
+ "ConfiguredAtLaunch": {
+ "type": "boolean"
+ },
+ "DockerVolumeConfiguration": {
+ "$ref": "#/definitions/DockerVolumeConfiguration"
+ },
+ "EFSVolumeConfiguration": {
+ "$ref": "#/definitions/EFSVolumeConfiguration"
+ },
+ "FSxWindowsFileServerVolumeConfiguration": {
+ "$ref": "#/definitions/FSxWindowsFileServerVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/HostVolumeProperties"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumeFrom": {
+ "additionalProperties": false,
+ "properties": {
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceContainer": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/TaskDefinitionArn"
+ ],
+ "properties": {
+ "ContainerDefinitions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Cpu": {
+ "type": "string"
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Family": {
+ "type": "string"
+ },
+ "InferenceAccelerators": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/InferenceAccelerator"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "IpcMode": {
+ "enum": [
+ "host",
+ "none",
+ "task"
+ ],
+ "type": "string"
+ },
+ "Memory": {
+ "type": "string"
+ },
+ "NetworkMode": {
+ "enum": [
+ "awsvpc",
+ "bridge",
+ "host",
+ "none"
+ ],
+ "type": "string"
+ },
+ "PidMode": {
+ "enum": [
+ "host",
+ "task"
+ ],
+ "type": "string"
+ },
+ "PlacementConstraints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/TaskDefinitionPlacementConstraint"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ProxyConfiguration": {
+ "$ref": "#/definitions/ProxyConfiguration"
+ },
+ "RequiresCompatibilities": {
+ "insertionOrder": false,
+ "items": {
+ "enum": [
+ "EC2",
+ "EXTERNAL",
+ "FARGATE"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ },
+ "TaskDefinitionArn": {
+ "type": "string"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "propertyTransform": {
+ "/properties/TaskRoleArn": "TaskRoleArn $OR $split(TaskRoleArn, \"role/\")[-1]"
+ },
+ "readOnlyProperties": [
+ "/properties/TaskDefinitionArn"
+ ],
+ "sourceUrl": "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::ECS::TaskDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-emrserverless-application.json
new file mode 100644
index 0000000000..1a44823941
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-emrserverless-application.json
@@ -0,0 +1,539 @@
+{
+ "additionalProperties": false,
+ "conditionalCreateOnlyProperties": [
+ "/properties/Architecture",
+ "/properties/ReleaseLabel",
+ "/properties/WorkerTypeSpecifications",
+ "/properties/MaximumCapacity",
+ "/properties/InitialCapacity",
+ "/properties/AutoStartConfiguration",
+ "/properties/AutoStopConfiguration",
+ "/properties/NetworkConfiguration",
+ "/properties/ImageConfiguration",
+ "/properties/MonitoringConfiguration",
+ "/properties/RuntimeConfiguration",
+ "/properties/InteractiveConfiguration"
+ ],
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Architecture": {
+ "enum": [
+ "ARM64",
+ "X86_64"
+ ],
+ "type": "string"
+ },
+ "AutoStartConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "AutoStopConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "IdleTimeoutMinutes": {
+ "type": "integer"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "Classification": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "CloudWatchLoggingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ },
+ "LogGroupName": {
+ "$ref": "#/definitions/LogGroupName"
+ },
+ "LogStreamNamePrefix": {
+ "$ref": "#/definitions/LogStreamNamePrefix"
+ },
+ "LogTypeMap": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogTypeMapKeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ },
+ "ConfigurationList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigurationObject"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConfigurationObject": {
+ "additionalProperties": false,
+ "properties": {
+ "Classification": {
+ "$ref": "#/definitions/Classification"
+ },
+ "Configurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigurationObject"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Properties": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": {
+ "$ref": "#/definitions/SensitivePropertiesMap"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "Classification"
+ ],
+ "type": "object"
+ },
+ "CpuSize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$",
+ "type": "string"
+ },
+ "DiskSize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$",
+ "type": "string"
+ },
+ "DiskType": {
+ "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$",
+ "type": "string"
+ },
+ "EncryptionKeyArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "ImageConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "ImageUri": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InitialCapacityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "WorkerConfiguration": {
+ "$ref": "#/definitions/WorkerConfiguration"
+ },
+ "WorkerCount": {
+ "format": "int64",
+ "maximum": 1000000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "WorkerCount",
+ "WorkerConfiguration"
+ ],
+ "type": "object"
+ },
+ "InitialCapacityConfigKeyValuePair": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ },
+ "Value": {
+ "$ref": "#/definitions/InitialCapacityConfig"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "InitialCapacityConfigMap": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/InitialCapacityConfigKeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "InteractiveConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LivyEndpointEnabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "StudioEnabled": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
+ "type": "string"
+ },
+ "LogStreamNamePrefix": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]*$",
+ "type": "string"
+ },
+ "LogTypeList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogTypeString"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "LogTypeMapKeyValuePair": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "$ref": "#/definitions/WorkerTypeString"
+ },
+ "Value": {
+ "$ref": "#/definitions/LogTypeList"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "LogTypeString": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ },
+ "ManagedPersistenceMonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ }
+ }
+ },
+ "MaximumAllowedResources": {
+ "additionalProperties": false,
+ "properties": {
+ "Cpu": {
+ "$ref": "#/definitions/CpuSize"
+ },
+ "Disk": {
+ "$ref": "#/definitions/DiskSize"
+ },
+ "Memory": {
+ "$ref": "#/definitions/MemorySize"
+ }
+ },
+ "required": [
+ "Cpu",
+ "Memory"
+ ],
+ "type": "object"
+ },
+ "MemorySize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$",
+ "type": "string"
+ },
+ "MonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingConfiguration": {
+ "$ref": "#/definitions/CloudWatchLoggingConfiguration"
+ },
+ "ManagedPersistenceMonitoringConfiguration": {
+ "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration"
+ },
+ "S3MonitoringConfiguration": {
+ "$ref": "#/definitions/S3MonitoringConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SecurityGroupId"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SubnetId"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "S3MonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ },
+ "LogUri": {
+ "$ref": "#/definitions/UriString"
+ }
+ }
+ },
+ "SecurityGroupId": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "minLength": 1,
+ "pattern": "[-0-9a-zA-Z]+.*",
+ "type": "string"
+ },
+ "SensitivePropertiesKeyValuePair": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "SensitivePropertiesMap": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "SubnetId": {
+ "maxLength": 32,
+ "minLength": 1,
+ "pattern": "[-0-9a-zA-Z]+.*",
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9 /_.:=+@-]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[A-Za-z0-9 /_.:=+@-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UriString": {
+ "maxLength": 10280,
+ "minLength": 1,
+ "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*",
+ "type": "string"
+ },
+ "WorkerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Cpu": {
+ "$ref": "#/definitions/CpuSize"
+ },
+ "Disk": {
+ "$ref": "#/definitions/DiskSize"
+ },
+ "DiskType": {
+ "$ref": "#/definitions/DiskType"
+ },
+ "Memory": {
+ "$ref": "#/definitions/MemorySize"
+ }
+ },
+ "required": [
+ "Cpu",
+ "Memory"
+ ],
+ "type": "object"
+ },
+ "WorkerTypeSpecificationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "ImageConfiguration": {
+ "$ref": "#/definitions/ImageConfigurationInput"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerTypeSpecificationInputMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[a-zA-Z]+[-_]*[a-zA-Z]+$": {
+ "$ref": "#/definitions/WorkerTypeSpecificationInput"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerTypeString": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ApplicationId"
+ ],
+ "properties": {
+ "ApplicationId": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Architecture": {
+ "$ref": "#/definitions/Architecture"
+ },
+ "Arn": {
+ "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$",
+ "type": "string"
+ },
+ "AutoStartConfiguration": {
+ "$ref": "#/definitions/AutoStartConfiguration"
+ },
+ "AutoStopConfiguration": {
+ "$ref": "#/definitions/AutoStopConfiguration"
+ },
+ "ImageConfiguration": {
+ "$ref": "#/definitions/ImageConfigurationInput"
+ },
+ "InitialCapacity": {
+ "$ref": "#/definitions/InitialCapacityConfigMap"
+ },
+ "InteractiveConfiguration": {
+ "$ref": "#/definitions/InteractiveConfiguration"
+ },
+ "MaximumCapacity": {
+ "$ref": "#/definitions/MaximumAllowedResources"
+ },
+ "MonitoringConfiguration": {
+ "$ref": "#/definitions/MonitoringConfiguration"
+ },
+ "Name": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9._\\/#-]+$",
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "ReleaseLabel": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9._/-]+$",
+ "type": "string"
+ },
+ "RuntimeConfiguration": {
+ "$ref": "#/definitions/ConfigurationList"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "type": "string"
+ },
+ "WorkerTypeSpecifications": {
+ "$ref": "#/definitions/WorkerTypeSpecificationInputMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/ApplicationId"
+ ],
+ "required": [
+ "ReleaseLabel",
+ "Type"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EMRServerless::Application"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-gamelift-alias.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-gamelift-alias.json
deleted file mode 100644
index 8fc0c45024..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-gamelift-alias.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "RoutingStrategy": {
- "additionalProperties": false,
- "anyOf": [
- {
- "required": [
- "FleetId"
- ]
- },
- {
- "required": [
- "Message"
- ]
- }
- ],
- "properties": {
- "FleetId": {
- "pattern": "^fleet-\\S+",
- "type": "string"
- },
- "Message": {
- "type": "string"
- },
- "Type": {
- "enum": [
- "SIMPLE",
- "TERMINAL"
- ],
- "type": "string"
- }
- },
- "required": [
- "Type"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/AliasId"
- ],
- "properties": {
- "AliasId": {
- "type": "string"
- },
- "Description": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": ".*\\S.*",
- "type": "string"
- },
- "RoutingStrategy": {
- "$ref": "#/definitions/RoutingStrategy"
- }
- },
- "readOnlyProperties": [
- "/properties/AliasId"
- ],
- "required": [
- "Name",
- "RoutingStrategy"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git",
- "taggable": true,
- "typeName": "AWS::GameLift::Alias"
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-gamelift-fleet.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-gamelift-fleet.json
deleted file mode 100644
index c9f996a779..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-gamelift-fleet.json
+++ /dev/null
@@ -1,540 +0,0 @@
-{
- "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ApplyCapacity",
- "/properties/BuildId",
- "/properties/CertificateConfiguration",
- "/properties/ContainerGroupsConfiguration",
- "/properties/EC2InstanceType",
- "/properties/FleetType",
- "/properties/InstanceRoleARN",
- "/properties/InstanceRoleCredentialsProvider",
- "/properties/LogPaths",
- "/properties/PeerVpcAwsAccountId",
- "/properties/PeerVpcId",
- "/properties/ScriptId",
- "/properties/ServerLaunchParameters",
- "/properties/ServerLaunchPath",
- "/properties/ComputeType"
- ],
- "definitions": {
- "AnywhereConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Cost": {
- "maxLength": 11,
- "minLength": 1,
- "pattern": "^\\d{1,5}(?:\\.\\d{1,5})?$",
- "type": "string"
- }
- },
- "required": [
- "Cost"
- ]
- },
- "CertificateConfiguration": {
- "additionalProperties": false,
- "properties": {
- "CertificateType": {
- "enum": [
- "DISABLED",
- "GENERATED"
- ],
- "type": "string"
- }
- },
- "required": [
- "CertificateType"
- ],
- "type": "object"
- },
- "ConnectionPortRange": {
- "additionalProperties": false,
- "properties": {
- "FromPort": {
- "maximum": 60000,
- "minimum": 1,
- "type": "integer"
- },
- "ToPort": {
- "maximum": 60000,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "FromPort",
- "ToPort"
- ],
- "type": "object"
- },
- "ContainerGroupsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ConnectionPortRange": {
- "$ref": "#/definitions/ConnectionPortRange"
- },
- "ContainerGroupDefinitionNames": {
- "insertionOrder": false,
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[a-zA-Z0-9\\-]+$",
- "type": "string"
- },
- "maxItems": 2,
- "minItems": 1,
- "type": "array"
- },
- "ContainerGroupsPerInstance": {
- "$ref": "#/definitions/ContainerGroupsPerInstance"
- }
- },
- "required": [
- "ContainerGroupDefinitionNames",
- "ConnectionPortRange"
- ],
- "type": "object"
- },
- "ContainerGroupsPerInstance": {
- "additionalProperties": false,
- "properties": {
- "DesiredReplicaContainerGroupsPerInstance": {
- "maximum": 5000,
- "minimum": 1,
- "type": "integer"
- },
- "MaxReplicaContainerGroupsPerInstance": {
- "maximum": 5000,
- "minimum": 1,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "IpPermission": {
- "additionalProperties": false,
- "properties": {
- "FromPort": {
- "maximum": 60000,
- "minimum": 1,
- "type": "integer"
- },
- "IpRange": {
- "pattern": "(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/([0-9]|[1-2][0-9]|3[0-2]))$)",
- "type": "string"
- },
- "Protocol": {
- "enum": [
- "TCP",
- "UDP"
- ],
- "type": "string"
- },
- "ToPort": {
- "maximum": 60000,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "FromPort",
- "IpRange",
- "Protocol",
- "ToPort"
- ],
- "type": "object"
- },
- "Location": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9\\-]+",
- "type": "string"
- },
- "LocationCapacity": {
- "additionalProperties": false,
- "properties": {
- "DesiredEC2Instances": {
- "minimum": 0,
- "type": "integer"
- },
- "MaxSize": {
- "minimum": 0,
- "type": "integer"
- },
- "MinSize": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "DesiredEC2Instances",
- "MinSize",
- "MaxSize"
- ],
- "type": "object"
- },
- "LocationConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Location": {
- "$ref": "#/definitions/Location"
- },
- "LocationCapacity": {
- "$ref": "#/definitions/LocationCapacity"
- }
- },
- "required": [
- "Location"
- ],
- "type": "object"
- },
- "ResourceCreationLimitPolicy": {
- "additionalProperties": false,
- "properties": {
- "NewGameSessionsPerCreator": {
- "minimum": 0,
- "type": "integer"
- },
- "PolicyPeriodInMinutes": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "RuntimeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "GameSessionActivationTimeoutSeconds": {
- "maximum": 600,
- "minimum": 1,
- "type": "integer"
- },
- "MaxConcurrentGameSessionActivations": {
- "maximum": 2147483647,
- "minimum": 1,
- "type": "integer"
- },
- "ServerProcesses": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/ServerProcess"
- },
- "maxItems": 50,
- "type": "array"
- }
- },
- "type": "object"
- },
- "ScalingPolicy": {
- "additionalProperties": false,
- "properties": {
- "ComparisonOperator": {
- "enum": [
- "GreaterThanOrEqualToThreshold",
- "GreaterThanThreshold",
- "LessThanThreshold",
- "LessThanOrEqualToThreshold"
- ],
- "type": "string"
- },
- "EvaluationPeriods": {
- "minimum": 1,
- "type": "integer"
- },
- "Location": {
- "$ref": "#/definitions/Location"
- },
- "MetricName": {
- "enum": [
- "ActivatingGameSessions",
- "ActiveGameSessions",
- "ActiveInstances",
- "AvailableGameSessions",
- "AvailablePlayerSessions",
- "CurrentPlayerSessions",
- "IdleInstances",
- "PercentAvailableGameSessions",
- "PercentIdleInstances",
- "QueueDepth",
- "WaitTime",
- "ConcurrentActivatableGameSessions"
- ],
- "type": "string"
- },
- "Name": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "PolicyType": {
- "enum": [
- "RuleBased",
- "TargetBased"
- ],
- "type": "string"
- },
- "ScalingAdjustment": {
- "type": "integer"
- },
- "ScalingAdjustmentType": {
- "enum": [
- "ChangeInCapacity",
- "ExactCapacity",
- "PercentChangeInCapacity"
- ],
- "type": "string"
- },
- "Status": {
- "enum": [
- "ACTIVE",
- "UPDATE_REQUESTED",
- "UPDATING",
- "DELETE_REQUESTED",
- "DELETING",
- "DELETED",
- "ERROR"
- ],
- "type": "string"
- },
- "TargetConfiguration": {
- "$ref": "#/definitions/TargetConfiguration"
- },
- "Threshold": {
- "type": "number"
- },
- "UpdateStatus": {
- "enum": [
- "PENDING_UPDATE"
- ],
- "type": "string"
- }
- },
- "required": [
- "MetricName",
- "Name"
- ],
- "type": "object"
- },
- "ServerProcess": {
- "additionalProperties": false,
- "properties": {
- "ConcurrentExecutions": {
- "minimum": 1,
- "type": "integer"
- },
- "LaunchPath": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": "^([Cc]:\\\\game\\S+|/local/game/\\S+)",
- "type": "string"
- },
- "Parameters": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": "[A-Za-z0-9_:.+\\/\\\\\\- =@;{},?'\\[\\]\"]+",
- "type": "string"
- }
- },
- "required": [
- "ConcurrentExecutions",
- "LaunchPath"
- ],
- "type": "object"
- },
- "TargetConfiguration": {
- "additionalProperties": false,
- "properties": {
- "TargetValue": {
- "type": "number"
- }
- },
- "required": [
- "TargetValue"
- ],
- "type": "object"
- }
- },
- "deprecatedProperties": [
- "/properties/LogPaths",
- "/properties/ServerLaunchParameters",
- "/properties/ServerLaunchPath"
- ],
- "primaryIdentifier": [
- "/properties/FleetId"
- ],
- "properties": {
- "AnywhereConfiguration": {
- "$ref": "#/definitions/AnywhereConfiguration"
- },
- "ApplyCapacity": {
- "enum": [
- "ON_UPDATE",
- "ON_CREATE_AND_UPDATE"
- ],
- "type": "string"
- },
- "BuildId": {
- "pattern": "^build-\\S+|^arn:.*:build/build-\\S+",
- "type": "string"
- },
- "CertificateConfiguration": {
- "$ref": "#/definitions/CertificateConfiguration"
- },
- "ComputeType": {
- "enum": [
- "EC2",
- "ANYWHERE",
- "CONTAINER"
- ],
- "type": "string"
- },
- "ContainerGroupsConfiguration": {
- "$ref": "#/definitions/ContainerGroupsConfiguration"
- },
- "Description": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "DesiredEC2Instances": {
- "minimum": 0,
- "type": "integer"
- },
- "EC2InboundPermissions": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/IpPermission"
- },
- "maxItems": 50,
- "type": "array"
- },
- "EC2InstanceType": {
- "pattern": "^.*..*$",
- "type": "string"
- },
- "FleetId": {
- "pattern": "^fleet-\\S+",
- "type": "string"
- },
- "FleetType": {
- "enum": [
- "ON_DEMAND",
- "SPOT"
- ],
- "type": "string"
- },
- "InstanceRoleARN": {
- "minLength": 1,
- "pattern": "^arn:aws(-.*)?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$",
- "type": "string"
- },
- "InstanceRoleCredentialsProvider": {
- "enum": [
- "SHARED_CREDENTIAL_FILE"
- ],
- "type": "string"
- },
- "Locations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LocationConfiguration"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array"
- },
- "LogPaths": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "MaxSize": {
- "minimum": 0,
- "type": "integer"
- },
- "MetricGroups": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "maxItems": 1,
- "type": "array"
- },
- "MinSize": {
- "minimum": 0,
- "type": "integer"
- },
- "Name": {
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
- },
- "NewGameSessionProtectionPolicy": {
- "enum": [
- "FullProtection",
- "NoProtection"
- ],
- "type": "string"
- },
- "PeerVpcAwsAccountId": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": "^[0-9]{12}$",
- "type": "string"
- },
- "PeerVpcId": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": "^vpc-\\S+",
- "type": "string"
- },
- "ResourceCreationLimitPolicy": {
- "$ref": "#/definitions/ResourceCreationLimitPolicy"
- },
- "RuntimeConfiguration": {
- "$ref": "#/definitions/RuntimeConfiguration"
- },
- "ScalingPolicies": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/ScalingPolicy"
- },
- "maxItems": 50,
- "type": "array"
- },
- "ScriptId": {
- "pattern": "^script-\\S+|^arn:.*:script/script-\\S+",
- "type": "string"
- },
- "ServerLaunchParameters": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": "[A-Za-z0-9_:.+\\/\\\\\\- =@;{},?'\\[\\]\"]+",
- "type": "string"
- },
- "ServerLaunchPath": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": "[A-Za-z0-9_:.+\\/\\\\\\- ]+",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/ContainerGroupsConfiguration/ContainerGroupsPerInstance/MaxReplicaContainerGroupsPerInstance",
- "/properties/FleetId"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git",
- "taggable": true,
- "typeName": "AWS::GameLift::Fleet",
- "writeOnlyProperties": [
- "/properties/ApplyCapacity"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-redshiftserverless-workgroup.json
new file mode 100644
index 0000000000..60a6356907
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-redshiftserverless-workgroup.json
@@ -0,0 +1,312 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/WorkgroupName",
+ "/properties/NamespaceName"
+ ],
+ "definitions": {
+ "ConfigParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterKey": {
+ "maxLength": 255,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ParameterValue": {
+ "maxLength": 15000,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "VpcEndpoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/VpcEndpoint"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkInterface": {
+ "additionalProperties": false,
+ "properties": {
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ },
+ "SubnetId": {
+ "format": "AWS::EC2::Subnet.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "VpcEndpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkInterfaces": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "type": "array"
+ },
+ "VpcEndpointId": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Workgroup": {
+ "additionalProperties": false,
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CreationDate": {
+ "type": "string"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "EnhancedVpcRouting": {
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]+$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "$ref": "#/definitions/WorkgroupStatus"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "WorkgroupArn": {
+ "type": "string"
+ },
+ "WorkgroupId": {
+ "type": "string"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]*$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "WorkgroupStatus": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "MODIFYING",
+ "DELETING"
+ ],
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/WorkgroupName"
+ ],
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "EnhancedVpcRouting": {
+ "default": false,
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array"
+ },
+ "Workgroup": {
+ "$ref": "#/definitions/Workgroup"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Workgroup",
+ "/properties/Workgroup/WorkgroupId",
+ "/properties/Workgroup/WorkgroupArn",
+ "/properties/Workgroup/WorkgroupName",
+ "/properties/Workgroup/NamespaceName",
+ "/properties/Workgroup/BaseCapacity",
+ "/properties/Workgroup/MaxCapacity",
+ "/properties/Workgroup/EnhancedVpcRouting",
+ "/properties/Workgroup/ConfigParameters/*/ParameterKey",
+ "/properties/Workgroup/ConfigParameters/*/ParameterValue",
+ "/properties/Workgroup/SecurityGroupIds",
+ "/properties/Workgroup/SubnetIds",
+ "/properties/Workgroup/Status",
+ "/properties/Workgroup/Endpoint/Address",
+ "/properties/Workgroup/Endpoint/Port",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone",
+ "/properties/Workgroup/PubliclyAccessible",
+ "/properties/Workgroup/CreationDate"
+ ],
+ "required": [
+ "WorkgroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RedshiftServerless::Workgroup",
+ "writeOnlyProperties": [
+ "/properties/BaseCapacity",
+ "/properties/MaxCapacity",
+ "/properties/ConfigParameters",
+ "/properties/SecurityGroupIds",
+ "/properties/SubnetIds"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py
index 751316f163..aff1c0947d 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py
@@ -677,6 +677,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -808,6 +809,7 @@
"AWS::Logs::QueryDefinition",
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
+ "AWS::Logs::Transformer",
"AWS::LookoutMetrics::Alert",
"AWS::LookoutMetrics::AnomalyDetector",
"AWS::LookoutVision::Project",
@@ -895,6 +897,7 @@
"AWS::NetworkManager::CoreNetwork",
"AWS::NetworkManager::CustomerGatewayAssociation",
"AWS::NetworkManager::Device",
+ "AWS::NetworkManager::DirectConnectGatewayAttachment",
"AWS::NetworkManager::GlobalNetwork",
"AWS::NetworkManager::Link",
"AWS::NetworkManager::LinkAssociation",
@@ -1240,10 +1243,13 @@
"AWS::VpcLattice::AccessLogSubscription",
"AWS::VpcLattice::AuthPolicy",
"AWS::VpcLattice::Listener",
+ "AWS::VpcLattice::ResourceConfiguration",
+ "AWS::VpcLattice::ResourceGateway",
"AWS::VpcLattice::ResourcePolicy",
"AWS::VpcLattice::Rule",
"AWS::VpcLattice::Service",
"AWS::VpcLattice::ServiceNetwork",
+ "AWS::VpcLattice::ServiceNetworkResourceAssociation",
"AWS::VpcLattice::ServiceNetworkServiceAssociation",
"AWS::VpcLattice::ServiceNetworkVpcAssociation",
"AWS::VpcLattice::TargetGroup",
@@ -1331,6 +1337,7 @@
"aws-apigateway-documentationversion.json",
"aws-apigateway-domainname.json",
"aws-apigateway-domainnameaccessassociation.json",
+ "aws-apigateway-domainnamev2.json",
"aws-apigateway-gatewayresponse.json",
"aws-apigateway-method.json",
"aws-apigateway-model.json",
@@ -1583,6 +1590,7 @@
"aws-connect-rule.json",
"aws-connect-securitykey.json",
"aws-connect-securityprofile.json",
+ "aws-connect-tasktemplate.json",
"aws-connect-trafficdistributiongroup.json",
"aws-connect-user.json",
"aws-connect-userhierarchygroup.json",
@@ -1677,6 +1685,7 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
+ "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1755,7 +1764,6 @@
"aws-ec2-vpcblockpublicaccessoptions.json",
"aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
- "aws-ec2-vpcendpoint.json",
"aws-ec2-vpcendpointconnectionnotification.json",
"aws-ec2-vpcendpointservice.json",
"aws-ec2-vpcendpointservicepermissions.json",
@@ -1774,7 +1782,7 @@
"aws-ecs-cluster.json",
"aws-ecs-clustercapacityproviderassociations.json",
"aws-ecs-primarytaskset.json",
- "aws-ecs-service.json",
+ "aws-ecs-taskdefinition.json",
"aws-ecs-taskset.json",
"aws-efs-accesspoint.json",
"aws-efs-filesystem.json",
@@ -1956,6 +1964,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1971,7 +1980,6 @@
"aws-iot-scheduledaudit.json",
"aws-iot-securityprofile.json",
"aws-iot-softwarepackage.json",
- "aws-iot-softwarepackageversion.json",
"aws-iot-thing.json",
"aws-iot-thinggroup.json",
"aws-iot-thingprincipalattachment.json",
@@ -2098,6 +2106,7 @@
"aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
"aws-logs-subscriptionfilter.json",
+ "aws-logs-transformer.json",
"aws-lookoutmetrics-alert.json",
"aws-lookoutmetrics-anomalydetector.json",
"aws-lookoutvision-project.json",
@@ -2182,6 +2191,7 @@
"aws-networkmanager-corenetwork.json",
"aws-networkmanager-customergatewayassociation.json",
"aws-networkmanager-device.json",
+ "aws-networkmanager-directconnectgatewayattachment.json",
"aws-networkmanager-globalnetwork.json",
"aws-networkmanager-link.json",
"aws-networkmanager-linkassociation.json",
@@ -2218,6 +2228,7 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
+ "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-osis-pipeline.json",
"aws-paymentcryptography-alias.json",
@@ -2264,7 +2275,6 @@
"aws-qldb-stream.json",
"aws-quicksight-analysis.json",
"aws-quicksight-dashboard.json",
- "aws-quicksight-dataset.json",
"aws-quicksight-datasource.json",
"aws-quicksight-folder.json",
"aws-quicksight-refreshschedule.json",
@@ -2275,7 +2285,7 @@
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
"aws-rbin-rule.json",
- "aws-rds-dbcluster.json",
+ "aws-rds-customdbengineversion.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbparametergroup.json",
"aws-rds-dbproxy.json",
@@ -2300,6 +2310,7 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
+ "aws-redshiftserverless-workgroup.json",
"aws-refactorspaces-application.json",
"aws-refactorspaces-environment.json",
"aws-refactorspaces-route.json",
@@ -2509,7 +2520,6 @@
"aws-transfer-certificate.json",
"aws-transfer-connector.json",
"aws-transfer-profile.json",
- "aws-transfer-server.json",
"aws-transfer-user.json",
"aws-transfer-workflow.json",
"aws-verifiedpermissions-identitysource.json",
@@ -2520,10 +2530,13 @@
"aws-vpclattice-accesslogsubscription.json",
"aws-vpclattice-authpolicy.json",
"aws-vpclattice-listener.json",
+ "aws-vpclattice-resourceconfiguration.json",
+ "aws-vpclattice-resourcegateway.json",
"aws-vpclattice-resourcepolicy.json",
"aws-vpclattice-rule.json",
"aws-vpclattice-service.json",
"aws-vpclattice-servicenetwork.json",
+ "aws-vpclattice-servicenetworkresourceassociation.json",
"aws-vpclattice-servicenetworkserviceassociation.json",
"aws-vpclattice-servicenetworkvpcassociation.json",
"aws-vpclattice-targetgroup.json",
@@ -2564,7 +2577,6 @@
"aws-wisdom-messagetemplateversion.json",
"aws-workspaces-connectionalias.json",
"aws-workspaces-workspace.json",
- "aws-workspaces-workspacespool.json",
"aws-workspacesthinclient-environment.json",
"aws-workspacesweb-browsersettings.json",
"aws-workspacesweb-dataprotectionsettings.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-apigateway-domainnamev2.json
deleted file mode 100644
index 04d35d51f4..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-apigateway-domainnamev2.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DomainName",
- "/properties/SecurityPolicy",
- "/properties/EndpointConfiguration"
- ],
- "definitions": {
- "EndpointConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Types": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/DomainNameArn"
- ],
- "properties": {
- "CertificateArn": {
- "type": "string"
- },
- "DomainName": {
- "type": "string"
- },
- "DomainNameArn": {
- "type": "string"
- },
- "DomainNameId": {
- "type": "string"
- },
- "EndpointConfiguration": {
- "$ref": "#/definitions/EndpointConfiguration"
- },
- "ManagementPolicy": {
- "type": [
- "object",
- "string"
- ]
- },
- "Policy": {
- "type": [
- "object",
- "string"
- ]
- },
- "SecurityPolicy": {
- "type": "string"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/DomainNameId",
- "/properties/DomainNameArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ApiGateway::DomainNameV2"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-batch-jobdefinition.json
index c62e41456c..2444dac742 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-batch-jobdefinition.json
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-batch-jobdefinition.json
@@ -1,26 +1,14 @@
{
"additionalProperties": false,
"createOnlyProperties": [
- "/properties/Tags",
"/properties/JobDefinitionName"
],
"definitions": {
- "AuthorizationConfig": {
- "additionalProperties": false,
- "properties": {
- "AccessPointId": {
- "type": "string"
- },
- "Iam": {
- "type": "string"
- }
- },
- "type": "object"
- },
"ContainerProperties": {
"additionalProperties": false,
"properties": {
"Command": {
+ "insertionOrder": true,
"items": {
"type": "string"
},
@@ -28,6 +16,7 @@
"uniqueItems": false
},
"Environment": {
+ "insertionOrder": true,
"items": {
"$ref": "#/definitions/Environment"
},
@@ -41,14 +30,17 @@
"type": "string"
},
"FargatePlatformConfiguration": {
- "$ref": "#/definitions/FargatePlatformConfiguration"
+ "additionalProperties": false,
+ "properties": {
+ "PlatformVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
"Image": {
"type": "string"
},
- "InstanceType": {
- "type": "string"
- },
"JobRoleArn": {
"type": "string"
},
@@ -62,8 +54,9 @@
"type": "integer"
},
"MountPoints": {
+ "insertionOrder": false,
"items": {
- "$ref": "#/definitions/MountPoints"
+ "$ref": "#/definitions/MountPoint"
},
"type": "array",
"uniqueItems": false
@@ -77,7 +70,11 @@
"ReadonlyRootFilesystem": {
"type": "boolean"
},
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
"ResourceRequirements": {
+ "insertionOrder": false,
"items": {
"$ref": "#/definitions/ResourceRequirement"
},
@@ -88,6 +85,7 @@
"$ref": "#/definitions/RuntimePlatform"
},
"Secrets": {
+ "insertionOrder": false,
"items": {
"$ref": "#/definitions/Secret"
},
@@ -95,6 +93,7 @@
"uniqueItems": false
},
"Ulimits": {
+ "insertionOrder": false,
"items": {
"$ref": "#/definitions/Ulimit"
},
@@ -108,8 +107,9 @@
"type": "integer"
},
"Volumes": {
+ "insertionOrder": false,
"items": {
- "$ref": "#/definitions/Volumes"
+ "$ref": "#/definitions/Volume"
},
"type": "array",
"uniqueItems": false
@@ -130,6 +130,7 @@
"type": "string"
},
"Permissions": {
+ "insertionOrder": false,
"items": {
"type": "string"
},
@@ -139,11 +140,23 @@
},
"type": "object"
},
- "EfsVolumeConfiguration": {
+ "EFSAuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "Iam": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EFSVolumeConfiguration": {
"additionalProperties": false,
"properties": {
"AuthorizationConfig": {
- "$ref": "#/definitions/AuthorizationConfig"
+ "$ref": "#/definitions/EFSAuthorizationConfig"
},
"FileSystemId": {
"type": "string"
@@ -163,10 +176,74 @@
],
"type": "object"
},
+ "EcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/EcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "EcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "PlatformVersion": {
+ "type": "string"
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
"EksContainer": {
"additionalProperties": false,
"properties": {
"Args": {
+ "insertionOrder": true,
"items": {
"type": "string"
},
@@ -174,6 +251,7 @@
"uniqueItems": false
},
"Command": {
+ "insertionOrder": true,
"items": {
"type": "string"
},
@@ -181,6 +259,7 @@
"uniqueItems": false
},
"Env": {
+ "insertionOrder": false,
"items": {
"$ref": "#/definitions/EksContainerEnvironmentVariable"
},
@@ -203,6 +282,7 @@
"$ref": "#/definitions/EksContainerSecurityContext"
},
"VolumeMounts": {
+ "insertionOrder": false,
"items": {
"$ref": "#/definitions/EksContainerVolumeMount"
},
@@ -234,18 +314,22 @@
"additionalProperties": false,
"properties": {
"Limits": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
+ "additionalProperties": false,
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
"Requests": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
+ "additionalProperties": false,
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ },
+ "type": "object"
}
},
"type": "object"
@@ -253,6 +337,9 @@
"EksContainerSecurityContext": {
"additionalProperties": false,
"properties": {
+ "AllowPrivilegeEscalation": {
+ "type": "boolean"
+ },
"Privileged": {
"type": "boolean"
},
@@ -307,11 +394,79 @@
},
"type": "object"
},
+ "EksMetadata": {
+ "additionalProperties": false,
+ "properties": {
+ "Labels": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "EksPodProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsPolicy": {
+ "type": "string"
+ },
+ "HostNetwork": {
+ "type": "boolean"
+ },
+ "ImagePullSecrets": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ImagePullSecret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitContainers": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Metadata": {
+ "$ref": "#/definitions/EksMetadata"
+ },
+ "ServiceAccountName": {
+ "type": "string"
+ },
+ "ShareProcessNamespace": {
+ "type": "boolean"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/EksVolume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
"EksProperties": {
"additionalProperties": false,
"properties": {
"PodProperties": {
- "$ref": "#/definitions/PodProperties"
+ "$ref": "#/definitions/EksPodProperties"
}
},
"type": "object"
@@ -397,19 +552,38 @@
],
"type": "object"
},
- "FargatePlatformConfiguration": {
+ "Host": {
"additionalProperties": false,
"properties": {
- "PlatformVersion": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ImagePullSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
"type": "string"
}
},
"type": "object"
},
+ "JobTimeout": {
+ "additionalProperties": false,
+ "properties": {
+ "AttemptDurationSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
"LinuxParameters": {
"additionalProperties": false,
"properties": {
"Devices": {
+ "insertionOrder": false,
"items": {
"$ref": "#/definitions/Device"
},
@@ -429,6 +603,7 @@
"type": "integer"
},
"Tmpfs": {
+ "insertionOrder": false,
"items": {
"$ref": "#/definitions/Tmpfs"
},
@@ -445,13 +620,16 @@
"type": "string"
},
"Options": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
+ "additionalProperties": false,
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
"SecretOptions": {
+ "insertionOrder": false,
"items": {
"$ref": "#/definitions/Secret"
},
@@ -464,30 +642,175 @@
],
"type": "object"
},
- "Metadata": {
+ "MountPoint": {
"additionalProperties": false,
"properties": {
- "Labels": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
}
},
"type": "object"
},
- "MountPoints": {
+ "MultiNodeContainerProperties": {
"additionalProperties": false,
"properties": {
- "ContainerPath": {
+ "Command": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
"type": "string"
},
- "ReadOnly": {
+ "Image": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MountPoint"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Privileged": {
"type": "boolean"
},
- "SourceVolume": {
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "MultiNodeEcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MultiNodeEcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "MultiNodeEcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "TaskRoleArn": {
"type": "string"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "type": "array",
+ "uniqueItems": false
}
},
"type": "object"
@@ -508,6 +831,7 @@
"type": "integer"
},
"NodeRangeProperties": {
+ "insertionOrder": false,
"items": {
"$ref": "#/definitions/NodeRangeProperty"
},
@@ -519,9 +843,9 @@
}
},
"required": [
+ "NumNodes",
"MainNode",
- "NodeRangeProperties",
- "NumNodes"
+ "NodeRangeProperties"
],
"type": "object"
},
@@ -529,7 +853,21 @@
"additionalProperties": false,
"properties": {
"Container": {
- "$ref": "#/definitions/ContainerProperties"
+ "$ref": "#/definitions/MultiNodeContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/MultiNodeEcsProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "InstanceTypes": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
},
"TargetNodes": {
"type": "string"
@@ -540,36 +878,16 @@
],
"type": "object"
},
- "PodProperties": {
+ "RepositoryCredentials": {
"additionalProperties": false,
"properties": {
- "Containers": {
- "items": {
- "$ref": "#/definitions/EksContainer"
- },
- "type": "array",
- "uniqueItems": false
- },
- "DnsPolicy": {
- "type": "string"
- },
- "HostNetwork": {
- "type": "boolean"
- },
- "Metadata": {
- "$ref": "#/definitions/Metadata"
- },
- "ServiceAccountName": {
+ "CredentialsParameter": {
"type": "string"
- },
- "Volumes": {
- "items": {
- "$ref": "#/definitions/EksVolume"
- },
- "type": "array",
- "uniqueItems": false
}
},
+ "required": [
+ "CredentialsParameter"
+ ],
"type": "object"
},
"ResourceRequirement": {
@@ -591,6 +909,7 @@
"type": "integer"
},
"EvaluateOnExit": {
+ "insertionOrder": false,
"items": {
"$ref": "#/definitions/EvaluateOnExit"
},
@@ -623,18 +942,117 @@
}
},
"required": [
- "ValueFrom",
- "Name"
+ "Name",
+ "ValueFrom"
],
"type": "object"
},
- "Timeout": {
+ "TaskContainerDependency": {
"additionalProperties": false,
"properties": {
- "AttemptDurationSeconds": {
- "type": "integer"
+ "Condition": {
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
}
},
+ "required": [
+ "ContainerName",
+ "Condition"
+ ],
+ "type": "object"
+ },
+ "TaskContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DependsOn": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/TaskContainerDependency"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "MountPoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MountPoint"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Secrets": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Image"
+ ],
"type": "object"
},
"Tmpfs": {
@@ -644,6 +1062,7 @@
"type": "string"
},
"MountOptions": {
+ "insertionOrder": false,
"items": {
"type": "string"
},
@@ -655,8 +1074,8 @@
}
},
"required": [
- "Size",
- "ContainerPath"
+ "ContainerPath",
+ "Size"
],
"type": "object"
},
@@ -674,64 +1093,59 @@
}
},
"required": [
- "SoftLimit",
"HardLimit",
- "Name"
+ "Name",
+ "SoftLimit"
],
"type": "object"
},
- "Volumes": {
+ "Volume": {
"additionalProperties": false,
"properties": {
"EfsVolumeConfiguration": {
- "$ref": "#/definitions/EfsVolumeConfiguration"
+ "$ref": "#/definitions/EFSVolumeConfiguration"
},
"Host": {
- "$ref": "#/definitions/VolumesHost"
+ "$ref": "#/definitions/Host"
},
"Name": {
"type": "string"
}
},
"type": "object"
- },
- "VolumesHost": {
- "additionalProperties": false,
- "properties": {
- "SourcePath": {
- "type": "string"
- }
- },
- "type": "object"
}
},
"primaryIdentifier": [
- "/properties/Id"
+ "/properties/JobDefinitionName"
],
"properties": {
"ContainerProperties": {
"$ref": "#/definitions/ContainerProperties"
},
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
"EksProperties": {
"$ref": "#/definitions/EksProperties"
},
- "Id": {
- "type": "string"
- },
"JobDefinitionName": {
+ "maxLength": 128,
"type": "string"
},
"NodeProperties": {
"$ref": "#/definitions/NodeProperties"
},
"Parameters": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
+ "additionalProperties": false,
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
"PlatformCapabilities": {
+ "insertionOrder": true,
"items": {
"type": "string"
},
@@ -748,24 +1162,31 @@
"type": "integer"
},
"Tags": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
+ "additionalProperties": false,
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
"Timeout": {
- "$ref": "#/definitions/Timeout"
+ "$ref": "#/definitions/JobTimeout"
},
"Type": {
"type": "string"
}
},
- "readOnlyProperties": [
- "/properties/Id"
- ],
"required": [
"Type"
],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
"typeName": "AWS::Batch::JobDefinition"
}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-connect-tasktemplate.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-connect-tasktemplate.json
deleted file mode 100644
index 97d8288921..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-connect-tasktemplate.json
+++ /dev/null
@@ -1,271 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "ClientToken": {
- "pattern": "^$|[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
- "type": "string"
- },
- "DefaultFieldValue": {
- "additionalProperties": false,
- "properties": {
- "DefaultValue": {
- "$ref": "#/definitions/FieldValue"
- },
- "Id": {
- "$ref": "#/definitions/FieldIdentifier"
- }
- },
- "required": [
- "Id",
- "DefaultValue"
- ],
- "type": "object"
- },
- "Field": {
- "additionalProperties": false,
- "properties": {
- "Description": {
- "maxLength": 255,
- "minLength": 0,
- "type": "string"
- },
- "Id": {
- "$ref": "#/definitions/FieldIdentifier"
- },
- "SingleSelectOptions": {
- "items": {
- "$ref": "#/definitions/FieldOption"
- },
- "maxItems": 50,
- "type": "array"
- },
- "Type": {
- "$ref": "#/definitions/FieldType"
- }
- },
- "required": [
- "Id",
- "Type"
- ],
- "type": "object"
- },
- "FieldIdentifier": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Name"
- ],
- "type": "object"
- },
- "FieldOption": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9_.,\\s-]*[A-Za-z0-9_.,-])?$",
- "type": "string"
- },
- "FieldType": {
- "enum": [
- "NAME",
- "DESCRIPTION",
- "SCHEDULED_TIME",
- "QUICK_CONNECT",
- "URL",
- "NUMBER",
- "TEXT",
- "TEXT_AREA",
- "DATE_TIME",
- "BOOLEAN",
- "SINGLE_SELECT",
- "EMAIL",
- "EXPIRY_DURATION",
- "SELF_ASSIGN"
- ],
- "type": "string"
- },
- "FieldValue": {
- "maxLength": 4096,
- "minLength": 1,
- "type": "string"
- },
- "InvisibleFieldInfo": {
- "additionalProperties": false,
- "properties": {
- "Id": {
- "$ref": "#/definitions/FieldIdentifier"
- }
- },
- "required": [
- "Id"
- ],
- "type": "object"
- },
- "InvisibleTaskTemplateFields": {
- "items": {
- "$ref": "#/definitions/InvisibleFieldInfo"
- },
- "maxItems": 50,
- "type": "array"
- },
- "ReadOnlyFieldInfo": {
- "additionalProperties": false,
- "properties": {
- "Id": {
- "$ref": "#/definitions/FieldIdentifier"
- }
- },
- "required": [
- "Id"
- ],
- "type": "object"
- },
- "ReadOnlyTaskTemplateFields": {
- "items": {
- "$ref": "#/definitions/ReadOnlyFieldInfo"
- },
- "maxItems": 50,
- "type": "array"
- },
- "RequiredFieldInfo": {
- "additionalProperties": false,
- "properties": {
- "Id": {
- "$ref": "#/definitions/FieldIdentifier"
- }
- },
- "required": [
- "Id"
- ],
- "type": "object"
- },
- "RequiredTaskTemplateFields": {
- "items": {
- "$ref": "#/definitions/RequiredFieldInfo"
- },
- "maxItems": 50,
- "type": "array"
- },
- "Status": {
- "enum": [
- "ACTIVE",
- "INACTIVE"
- ],
- "type": "string"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/task-template/[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$",
- "type": "string"
- },
- "ClientToken": {
- "$ref": "#/definitions/ClientToken"
- },
- "Constraints": {
- "additionalProperties": false,
- "properties": {
- "InvisibleFields": {
- "$ref": "#/definitions/InvisibleTaskTemplateFields"
- },
- "ReadOnlyFields": {
- "$ref": "#/definitions/ReadOnlyTaskTemplateFields"
- },
- "RequiredFields": {
- "$ref": "#/definitions/RequiredTaskTemplateFields"
- }
- },
- "type": "object"
- },
- "ContactFlowArn": {
- "pattern": "^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "Defaults": {
- "items": {
- "$ref": "#/definitions/DefaultFieldValue"
- },
- "maxItems": 50,
- "type": "array"
- },
- "Description": {
- "maxLength": 255,
- "minLength": 0,
- "type": "string"
- },
- "Fields": {
- "items": {
- "$ref": "#/definitions/Field"
- },
- "maxItems": 50,
- "type": "array"
- },
- "InstanceArn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "Name": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "SelfAssignContactFlowArn": {
- "pattern": "^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "Status": {
- "$ref": "#/definitions/Status"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "InstanceArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": false,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Connect::TaskTemplate"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpcendpoint.json
new file mode 100644
index 0000000000..069e16e3c5
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpcendpoint.json
@@ -0,0 +1,177 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ServiceName",
+ "/properties/VpcEndpointType",
+ "/properties/VpcId",
+ "/properties/ServiceNetworkArn",
+ "/properties/ResourceConfigurationArn"
+ ],
+ "definitions": {
+ "DnsOptionsSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "DnsRecordIpType": {
+ "enum": [
+ "ipv4",
+ "ipv6",
+ "dualstack",
+ "service-defined",
+ "not-specified"
+ ],
+ "type": "string"
+ },
+ "PrivateDnsOnlyForInboundResolverEndpoint": {
+ "enum": [
+ "OnlyInboundResolver",
+ "AllResolvers",
+ "NotSpecified"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CreationTimestamp": {
+ "type": "string"
+ },
+ "DnsEntries": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsOptions": {
+ "$ref": "#/definitions/DnsOptionsSpecification"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "IpAddressType": {
+ "enum": [
+ "ipv4",
+ "ipv6",
+ "dualstack",
+ "not-specified"
+ ],
+ "type": "string"
+ },
+ "NetworkInterfaceIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PolicyDocument": {
+ "type": [
+ "string",
+ "object"
+ ]
+ },
+ "PrivateDnsEnabled": {
+ "type": "boolean"
+ },
+ "ResourceConfigurationArn": {
+ "type": "string"
+ },
+ "RouteTableIds": {
+ "insertionOrder": false,
+ "items": {
+ "relationshipRef": {
+ "propertyPath": "/properties/RouteTableId",
+ "typeName": "AWS::EC2::RouteTable"
+ },
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::EC2::SecurityGroup"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/DefaultSecurityGroup",
+ "typeName": "AWS::EC2::VPC"
+ }
+ }
+ ],
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ServiceName": {
+ "type": "string"
+ },
+ "ServiceNetworkArn": {
+ "type": "string"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "VpcEndpointType": {
+ "enum": [
+ "Interface",
+ "Gateway",
+ "GatewayLoadBalancer",
+ "ServiceNetwork",
+ "Resource"
+ ],
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/NetworkInterfaceIds",
+ "/properties/CreationTimestamp",
+ "/properties/DnsEntries",
+ "/properties/Id"
+ ],
+ "required": [
+ "VpcId"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::EC2::VPCEndpoint"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-service.json
new file mode 100644
index 0000000000..2160921812
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-service.json
@@ -0,0 +1,646 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Cluster",
+ "/properties/DeploymentController",
+ "/properties/LaunchType",
+ "/properties/Role",
+ "/properties/SchedulingStrategy",
+ "/properties/ServiceName"
+ ],
+ "definitions": {
+ "AwsVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AssignPublicIp": {
+ "enum": [
+ "DISABLED",
+ "ENABLED"
+ ],
+ "type": "string"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Subnets": {
+ "format": "AWS::EC2::Subnet.Ids",
+ "items": {
+ "format": "AWS::EC2::Subnet.Id",
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "CapacityProviderStrategyItem": {
+ "additionalProperties": false,
+ "properties": {
+ "Base": {
+ "type": "integer"
+ },
+ "CapacityProvider": {
+ "type": "string"
+ },
+ "Weight": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "DeploymentAlarms": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Enable": {
+ "type": "boolean"
+ },
+ "Rollback": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "AlarmNames",
+ "Rollback",
+ "Enable"
+ ],
+ "type": "object"
+ },
+ "DeploymentCircuitBreaker": {
+ "additionalProperties": false,
+ "properties": {
+ "Enable": {
+ "type": "boolean"
+ },
+ "Rollback": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enable",
+ "Rollback"
+ ],
+ "type": "object"
+ },
+ "DeploymentConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Alarms": {
+ "$ref": "#/definitions/DeploymentAlarms"
+ },
+ "DeploymentCircuitBreaker": {
+ "$ref": "#/definitions/DeploymentCircuitBreaker"
+ },
+ "MaximumPercent": {
+ "type": "integer"
+ },
+ "MinimumHealthyPercent": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "DeploymentController": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "enum": [
+ "CODE_DEPLOY",
+ "ECS",
+ "EXTERNAL"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EBSTagSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "PropagateTags": {
+ "enum": [
+ "SERVICE",
+ "TASK_DEFINITION"
+ ],
+ "type": "string"
+ },
+ "ResourceType": {
+ "enum": [
+ "volume"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "ResourceType"
+ ],
+ "type": "object"
+ },
+ "LoadBalancer": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerName": {
+ "type": "string"
+ },
+ "ContainerPort": {
+ "type": "integer"
+ },
+ "LoadBalancerName": {
+ "type": "string"
+ },
+ "TargetGroupArn": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "enum": [
+ "awsfirelens",
+ "awslogs",
+ "fluentd",
+ "gelf",
+ "journald",
+ "json-file",
+ "splunk",
+ "syslog"
+ ],
+ "type": "string"
+ },
+ "Options": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretOptions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AwsvpcConfiguration": {
+ "$ref": "#/definitions/AwsVpcConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "PlacementConstraint": {
+ "additionalProperties": false,
+ "properties": {
+ "Expression": {
+ "type": "string"
+ },
+ "Type": {
+ "enum": [
+ "distinctInstance",
+ "memberOf"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "PlacementStrategy": {
+ "additionalProperties": false,
+ "properties": {
+ "Field": {
+ "type": "string"
+ },
+ "Type": {
+ "enum": [
+ "binpack",
+ "random",
+ "spread"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name",
+ "ValueFrom"
+ ],
+ "type": "object"
+ },
+ "ServiceConnectClientAlias": {
+ "additionalProperties": false,
+ "properties": {
+ "DnsName": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Port"
+ ],
+ "type": "object"
+ },
+ "ServiceConnectConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Namespace": {
+ "type": "string"
+ },
+ "Services": {
+ "items": {
+ "$ref": "#/definitions/ServiceConnectService"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "ServiceConnectService": {
+ "additionalProperties": false,
+ "properties": {
+ "ClientAliases": {
+ "items": {
+ "$ref": "#/definitions/ServiceConnectClientAlias"
+ },
+ "type": "array"
+ },
+ "DiscoveryName": {
+ "type": "string"
+ },
+ "IngressPortOverride": {
+ "type": "integer"
+ },
+ "PortName": {
+ "type": "string"
+ },
+ "Timeout": {
+ "$ref": "#/definitions/TimeoutConfiguration"
+ },
+ "Tls": {
+ "$ref": "#/definitions/ServiceConnectTlsConfiguration"
+ }
+ },
+ "required": [
+ "PortName"
+ ],
+ "type": "object"
+ },
+ "ServiceConnectTlsCertificateAuthority": {
+ "additionalProperties": false,
+ "properties": {
+ "AwsPcaAuthorityArn": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ServiceConnectTlsConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "IssuerCertificateAuthority": {
+ "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority"
+ },
+ "KmsKey": {
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "IssuerCertificateAuthority"
+ ],
+ "type": "object"
+ },
+ "ServiceManagedEBSVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Encrypted": {
+ "type": "boolean"
+ },
+ "FilesystemType": {
+ "enum": [
+ "ext3",
+ "ext4",
+ "ntfs",
+ "xfs"
+ ],
+ "type": "string"
+ },
+ "Iops": {
+ "type": "integer"
+ },
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ },
+ "SizeInGiB": {
+ "type": "integer"
+ },
+ "SnapshotId": {
+ "type": "string"
+ },
+ "TagSpecifications": {
+ "items": {
+ "$ref": "#/definitions/EBSTagSpecification"
+ },
+ "type": "array"
+ },
+ "Throughput": {
+ "type": "integer"
+ },
+ "VolumeType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleArn"
+ ],
+ "type": "object"
+ },
+ "ServiceRegistry": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerName": {
+ "type": "string"
+ },
+ "ContainerPort": {
+ "type": "integer"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "RegistryArn": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ServiceVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "ManagedEBSVolume": {
+ "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TimeoutConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "IdleTimeoutSeconds": {
+ "type": "integer"
+ },
+ "PerRequestTimeoutSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "VpcLatticeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PortName": {
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ },
+ "TargetGroupArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleArn",
+ "TargetGroupArn",
+ "PortName"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ServiceArn",
+ "/properties/Cluster"
+ ],
+ "properties": {
+ "AvailabilityZoneRebalancing": {
+ "default": "DISABLED",
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "CapacityProviderStrategy": {
+ "items": {
+ "$ref": "#/definitions/CapacityProviderStrategyItem"
+ },
+ "type": "array"
+ },
+ "Cluster": {
+ "type": "string"
+ },
+ "DeploymentConfiguration": {
+ "$ref": "#/definitions/DeploymentConfiguration"
+ },
+ "DeploymentController": {
+ "$ref": "#/definitions/DeploymentController"
+ },
+ "DesiredCount": {
+ "type": "integer"
+ },
+ "EnableECSManagedTags": {
+ "type": "boolean"
+ },
+ "EnableExecuteCommand": {
+ "type": "boolean"
+ },
+ "HealthCheckGracePeriodSeconds": {
+ "type": "integer"
+ },
+ "LaunchType": {
+ "enum": [
+ "EC2",
+ "FARGATE",
+ "EXTERNAL"
+ ],
+ "type": "string"
+ },
+ "LoadBalancers": {
+ "items": {
+ "$ref": "#/definitions/LoadBalancer"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "PlacementConstraints": {
+ "items": {
+ "$ref": "#/definitions/PlacementConstraint"
+ },
+ "type": "array"
+ },
+ "PlacementStrategies": {
+ "items": {
+ "$ref": "#/definitions/PlacementStrategy"
+ },
+ "type": "array"
+ },
+ "PlatformVersion": {
+ "default": "LATEST",
+ "type": "string"
+ },
+ "PropagateTags": {
+ "enum": [
+ "SERVICE",
+ "TASK_DEFINITION"
+ ],
+ "type": "string"
+ },
+ "Role": {
+ "type": "string"
+ },
+ "SchedulingStrategy": {
+ "enum": [
+ "DAEMON",
+ "REPLICA"
+ ],
+ "type": "string"
+ },
+ "ServiceArn": {
+ "type": "string"
+ },
+ "ServiceConnectConfiguration": {
+ "$ref": "#/definitions/ServiceConnectConfiguration"
+ },
+ "ServiceName": {
+ "type": "string"
+ },
+ "ServiceRegistries": {
+ "items": {
+ "$ref": "#/definitions/ServiceRegistry"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ },
+ "TaskDefinition": {
+ "type": "string"
+ },
+ "VolumeConfigurations": {
+ "items": {
+ "$ref": "#/definitions/ServiceVolumeConfiguration"
+ },
+ "type": "array"
+ },
+ "VpcLatticeConfigurations": {
+ "items": {
+ "$ref": "#/definitions/VpcLatticeConfiguration"
+ },
+ "type": "array"
+ }
+ },
+ "propertyTransform": {
+ "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])",
+ "/properties/TaskDefinition": "TaskDefinition $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:ecs:[a-z0-9-]+:[0-9]{12}:task-definition/\", $contains(TaskDefinition,\":\")?TaskDefinition:$join([TaskDefinition, \":[0-9]+\"])])"
+ },
+ "readOnlyProperties": [
+ "/properties/ServiceArn",
+ "/properties/Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::ECS::Service",
+ "writeOnlyProperties": [
+ "/properties/ServiceConnectConfiguration",
+ "/properties/VolumeConfigurations"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-iot-softwarepackageversion.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-iot-softwarepackageversion.json
new file mode 100644
index 0000000000..48ddfbd4c0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-iot-softwarepackageversion.json
@@ -0,0 +1,111 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/PackageName",
+ "/properties/VersionName"
+ ],
+ "definitions": {
+ "PackageVersionStatus": {
+ "enum": [
+ "DRAFT",
+ "PUBLISHED",
+ "DEPRECATED"
+ ],
+ "type": "string"
+ },
+ "ResourceAttributes": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[a-zA-Z0-9:_-]+$": {
+ "minLength": 1,
+ "pattern": "^[^\\p{C}]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/PackageName",
+ "/properties/VersionName"
+ ],
+ "properties": {
+ "Attributes": {
+ "$ref": "#/definitions/ResourceAttributes"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "pattern": "^[^\\p{C}]+$",
+ "type": "string"
+ },
+ "ErrorReason": {
+ "type": "string"
+ },
+ "PackageName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-_.]+$",
+ "type": "string"
+ },
+ "PackageVersionArn": {
+ "pattern": "^arn:[!-~]+$",
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/PackageVersionStatus"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "VersionName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-_.]+$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ErrorReason",
+ "/properties/PackageVersionArn",
+ "/properties/Status"
+ ],
+ "required": [
+ "PackageName"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::IoT::SoftwarePackageVersion"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json
new file mode 100644
index 0000000000..ba48a3b834
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json
@@ -0,0 +1,1392 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AwsAccountId",
+ "/properties/DataSetId"
+ ],
+ "definitions": {
+ "CalculatedColumn": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnId": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Expression": {
+ "maxLength": 250000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ColumnId",
+ "ColumnName",
+ "Expression"
+ ],
+ "type": "object"
+ },
+ "CastColumnTypeOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Format": {
+ "maxLength": 32,
+ "minLength": 0,
+ "type": "string"
+ },
+ "NewColumnType": {
+ "$ref": "#/definitions/ColumnDataType"
+ },
+ "SubType": {
+ "$ref": "#/definitions/ColumnDataSubType"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "NewColumnType"
+ ],
+ "type": "object"
+ },
+ "ColumnDataSubType": {
+ "enum": [
+ "FLOAT",
+ "FIXED"
+ ],
+ "type": "string"
+ },
+ "ColumnDataType": {
+ "enum": [
+ "STRING",
+ "INTEGER",
+ "DECIMAL",
+ "DATETIME"
+ ],
+ "type": "string"
+ },
+ "ColumnDescription": {
+ "additionalProperties": false,
+ "properties": {
+ "Text": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ColumnGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoSpatialColumnGroup": {
+ "$ref": "#/definitions/GeoSpatialColumnGroup"
+ }
+ },
+ "type": "object"
+ },
+ "ColumnLevelPermissionRule": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnNames": {
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ColumnTag": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnDescription": {
+ "$ref": "#/definitions/ColumnDescription"
+ },
+ "ColumnGeographicRole": {
+ "$ref": "#/definitions/GeoSpatialDataRole"
+ }
+ },
+ "type": "object"
+ },
+ "ColumnTagName": {
+ "enum": [
+ "COLUMN_GEOGRAPHIC_ROLE",
+ "COLUMN_DESCRIPTION"
+ ],
+ "type": "string"
+ },
+ "CreateColumnsOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "Columns": {
+ "items": {
+ "$ref": "#/definitions/CalculatedColumn"
+ },
+ "maxItems": 128,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Columns"
+ ],
+ "type": "object"
+ },
+ "CustomSql": {
+ "additionalProperties": false,
+ "properties": {
+ "Columns": {
+ "items": {
+ "$ref": "#/definitions/InputColumn"
+ },
+ "maxItems": 2048,
+ "minItems": 1,
+ "type": "array"
+ },
+ "DataSourceArn": {
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SqlQuery": {
+ "maxLength": 168000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataSourceArn",
+ "Name",
+ "SqlQuery"
+ ],
+ "type": "object"
+ },
+ "DataSetImportMode": {
+ "enum": [
+ "SPICE",
+ "DIRECT_QUERY"
+ ],
+ "type": "string"
+ },
+ "DataSetRefreshProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "RefreshConfiguration": {
+ "$ref": "#/definitions/RefreshConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DataSetUsageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "DisableUseAsDirectQuerySource": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DisableUseAsImportedSource": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "DatasetParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "DateTimeDatasetParameter": {
+ "$ref": "#/definitions/DateTimeDatasetParameter"
+ },
+ "DecimalDatasetParameter": {
+ "$ref": "#/definitions/DecimalDatasetParameter"
+ },
+ "IntegerDatasetParameter": {
+ "$ref": "#/definitions/IntegerDatasetParameter"
+ },
+ "StringDatasetParameter": {
+ "$ref": "#/definitions/StringDatasetParameter"
+ }
+ },
+ "type": "object"
+ },
+ "DatasetParameterValueType": {
+ "enum": [
+ "MULTI_VALUED",
+ "SINGLE_VALUED"
+ ],
+ "type": "string"
+ },
+ "DateTimeDatasetParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValues": {
+ "$ref": "#/definitions/DateTimeDatasetParameterDefaultValues"
+ },
+ "Id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "TimeGranularity": {
+ "$ref": "#/definitions/TimeGranularity"
+ },
+ "ValueType": {
+ "$ref": "#/definitions/DatasetParameterValueType"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "ValueType"
+ ],
+ "type": "object"
+ },
+ "DateTimeDatasetParameterDefaultValues": {
+ "additionalProperties": false,
+ "properties": {
+ "StaticValues": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "DecimalDatasetParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValues": {
+ "$ref": "#/definitions/DecimalDatasetParameterDefaultValues"
+ },
+ "Id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "ValueType": {
+ "$ref": "#/definitions/DatasetParameterValueType"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "ValueType"
+ ],
+ "type": "object"
+ },
+ "DecimalDatasetParameterDefaultValues": {
+ "additionalProperties": false,
+ "properties": {
+ "StaticValues": {
+ "items": {
+ "default": 0,
+ "type": "number"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "FieldFolder": {
+ "additionalProperties": false,
+ "properties": {
+ "Columns": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5000,
+ "minItems": 0,
+ "type": "array"
+ },
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "FieldFolderMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".+": {
+ "$ref": "#/definitions/FieldFolder"
+ }
+ },
+ "type": "object"
+ },
+ "FileFormat": {
+ "enum": [
+ "CSV",
+ "TSV",
+ "CLF",
+ "ELF",
+ "XLSX",
+ "JSON"
+ ],
+ "type": "string"
+ },
+ "FilterOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "ConditionExpression": {
+ "maxLength": 4096,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ConditionExpression"
+ ],
+ "type": "object"
+ },
+ "GeoSpatialColumnGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "Columns": {
+ "items": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array"
+ },
+ "CountryCode": {
+ "$ref": "#/definitions/GeoSpatialCountryCode"
+ },
+ "Name": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Columns",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "GeoSpatialCountryCode": {
+ "enum": [
+ "US"
+ ],
+ "type": "string"
+ },
+ "GeoSpatialDataRole": {
+ "enum": [
+ "COUNTRY",
+ "STATE",
+ "COUNTY",
+ "CITY",
+ "POSTCODE",
+ "LONGITUDE",
+ "LATITUDE",
+ "POLITICAL1",
+ "CENSUS_TRACT",
+ "CENSUS_BLOCK_GROUP",
+ "CENSUS_BLOCK"
+ ],
+ "type": "string"
+ },
+ "IncrementalRefresh": {
+ "additionalProperties": false,
+ "properties": {
+ "LookbackWindow": {
+ "$ref": "#/definitions/LookbackWindow"
+ }
+ },
+ "required": [
+ "LookbackWindow"
+ ],
+ "type": "object"
+ },
+ "IngestionWaitPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "IngestionWaitTimeInHours": {
+ "default": 36,
+ "maximum": 36,
+ "minimum": 1,
+ "type": "number"
+ },
+ "WaitForSpiceIngestion": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "InputColumn": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SubType": {
+ "$ref": "#/definitions/ColumnDataSubType"
+ },
+ "Type": {
+ "$ref": "#/definitions/InputColumnDataType"
+ }
+ },
+ "required": [
+ "Name",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "InputColumnDataType": {
+ "enum": [
+ "STRING",
+ "INTEGER",
+ "DECIMAL",
+ "DATETIME",
+ "BIT",
+ "BOOLEAN",
+ "JSON"
+ ],
+ "type": "string"
+ },
+ "IntegerDatasetParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValues": {
+ "$ref": "#/definitions/IntegerDatasetParameterDefaultValues"
+ },
+ "Id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "ValueType": {
+ "$ref": "#/definitions/DatasetParameterValueType"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "ValueType"
+ ],
+ "type": "object"
+ },
+ "IntegerDatasetParameterDefaultValues": {
+ "additionalProperties": false,
+ "properties": {
+ "StaticValues": {
+ "items": {
+ "default": 0,
+ "type": "number"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "JoinInstruction": {
+ "additionalProperties": false,
+ "properties": {
+ "LeftJoinKeyProperties": {
+ "$ref": "#/definitions/JoinKeyProperties"
+ },
+ "LeftOperand": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z-]*$",
+ "type": "string"
+ },
+ "OnClause": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "RightJoinKeyProperties": {
+ "$ref": "#/definitions/JoinKeyProperties"
+ },
+ "RightOperand": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z-]*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/JoinType"
+ }
+ },
+ "required": [
+ "LeftOperand",
+ "OnClause",
+ "RightOperand",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "JoinKeyProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "UniqueKey": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "JoinType": {
+ "enum": [
+ "INNER",
+ "OUTER",
+ "LEFT",
+ "RIGHT"
+ ],
+ "type": "string"
+ },
+ "LogicalTable": {
+ "additionalProperties": false,
+ "properties": {
+ "Alias": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataTransforms": {
+ "items": {
+ "$ref": "#/definitions/TransformOperation"
+ },
+ "maxItems": 2048,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Source": {
+ "$ref": "#/definitions/LogicalTableSource"
+ }
+ },
+ "required": [
+ "Alias"
+ ],
+ "type": "object"
+ },
+ "LogicalTableMap": {
+ "additionalProperties": false,
+ "maxProperties": 64,
+ "minProperties": 1,
+ "patternProperties": {
+ "^[0-9a-zA-Z-]*$": {
+ "$ref": "#/definitions/LogicalTable"
+ }
+ },
+ "type": "object"
+ },
+ "LogicalTableSource": {
+ "additionalProperties": false,
+ "properties": {
+ "DataSetArn": {
+ "type": "string"
+ },
+ "JoinInstruction": {
+ "$ref": "#/definitions/JoinInstruction"
+ },
+ "PhysicalTableId": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z-]*$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LookbackWindow": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "type": "string"
+ },
+ "Size": {
+ "default": 0,
+ "minimum": 1,
+ "type": "number"
+ },
+ "SizeUnit": {
+ "$ref": "#/definitions/LookbackWindowSizeUnit"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "Size",
+ "SizeUnit"
+ ],
+ "type": "object"
+ },
+ "LookbackWindowSizeUnit": {
+ "enum": [
+ "HOUR",
+ "DAY",
+ "WEEK"
+ ],
+ "type": "string"
+ },
+ "NewDefaultValues": {
+ "additionalProperties": false,
+ "properties": {
+ "DateTimeStaticValues": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ },
+ "DecimalStaticValues": {
+ "items": {
+ "default": 0,
+ "type": "number"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ },
+ "IntegerStaticValues": {
+ "items": {
+ "default": 0,
+ "type": "number"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ },
+ "StringStaticValues": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 0,
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "OutputColumn": {
+ "additionalProperties": false,
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SubType": {
+ "$ref": "#/definitions/ColumnDataSubType"
+ },
+ "Type": {
+ "$ref": "#/definitions/ColumnDataType"
+ }
+ },
+ "type": "object"
+ },
+ "OverrideDatasetParameterOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "NewDefaultValues": {
+ "$ref": "#/definitions/NewDefaultValues"
+ },
+ "NewParameterName": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "ParameterName": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "PerformanceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "UniqueKeys": {
+ "items": {
+ "$ref": "#/definitions/UniqueKey"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "PhysicalTable": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomSql": {
+ "$ref": "#/definitions/CustomSql"
+ },
+ "RelationalTable": {
+ "$ref": "#/definitions/RelationalTable"
+ },
+ "S3Source": {
+ "$ref": "#/definitions/S3Source"
+ }
+ },
+ "type": "object"
+ },
+ "PhysicalTableMap": {
+ "additionalProperties": false,
+ "maxProperties": 32,
+ "minProperties": 0,
+ "patternProperties": {
+ "^[0-9a-zA-Z-]*$": {
+ "$ref": "#/definitions/PhysicalTable"
+ }
+ },
+ "type": "object"
+ },
+ "ProjectOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "ProjectedColumns": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 2000,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "ProjectedColumns"
+ ],
+ "type": "object"
+ },
+ "RefreshConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "IncrementalRefresh": {
+ "$ref": "#/definitions/IncrementalRefresh"
+ }
+ },
+ "required": [
+ "IncrementalRefresh"
+ ],
+ "type": "object"
+ },
+ "RelationalTable": {
+ "additionalProperties": false,
+ "properties": {
+ "Catalog": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataSourceArn": {
+ "type": "string"
+ },
+ "InputColumns": {
+ "items": {
+ "$ref": "#/definitions/InputColumn"
+ },
+ "maxItems": 2048,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Schema": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataSourceArn",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "RenameColumnOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NewColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "NewColumnName"
+ ],
+ "type": "object"
+ },
+ "ResourcePermission": {
+ "additionalProperties": false,
+ "properties": {
+ "Actions": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Principal": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Actions",
+ "Principal"
+ ],
+ "type": "object"
+ },
+ "RowLevelPermissionDataSet": {
+ "additionalProperties": false,
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "FormatVersion": {
+ "$ref": "#/definitions/RowLevelPermissionFormatVersion"
+ },
+ "Namespace": {
+ "maxLength": 64,
+ "minLength": 0,
+ "pattern": "^[a-zA-Z0-9._-]*$",
+ "type": "string"
+ },
+ "PermissionPolicy": {
+ "$ref": "#/definitions/RowLevelPermissionPolicy"
+ },
+ "Status": {
+ "$ref": "#/definitions/Status"
+ }
+ },
+ "required": [
+ "Arn",
+ "PermissionPolicy"
+ ],
+ "type": "object"
+ },
+ "RowLevelPermissionFormatVersion": {
+ "enum": [
+ "VERSION_1",
+ "VERSION_2"
+ ],
+ "type": "string"
+ },
+ "RowLevelPermissionPolicy": {
+ "enum": [
+ "GRANT_ACCESS",
+ "DENY_ACCESS"
+ ],
+ "type": "string"
+ },
+ "RowLevelPermissionTagConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Status": {
+ "$ref": "#/definitions/Status"
+ },
+ "TagRuleConfigurations": {
+ "items": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ },
+ "TagRules": {
+ "items": {
+ "$ref": "#/definitions/RowLevelPermissionTagRule"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "TagRules"
+ ],
+ "type": "object"
+ },
+ "RowLevelPermissionTagRule": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "type": "string"
+ },
+ "MatchAllValue": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "TagKey": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "TagMultiValueDelimiter": {
+ "maxLength": 10,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "TagKey"
+ ],
+ "type": "object"
+ },
+ "S3Source": {
+ "additionalProperties": false,
+ "properties": {
+ "DataSourceArn": {
+ "type": "string"
+ },
+ "InputColumns": {
+ "items": {
+ "$ref": "#/definitions/InputColumn"
+ },
+ "maxItems": 2048,
+ "minItems": 1,
+ "type": "array"
+ },
+ "UploadSettings": {
+ "$ref": "#/definitions/UploadSettings"
+ }
+ },
+ "required": [
+ "DataSourceArn",
+ "InputColumns"
+ ],
+ "type": "object"
+ },
+ "Status": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StringDatasetParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValues": {
+ "$ref": "#/definitions/StringDatasetParameterDefaultValues"
+ },
+ "Id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "ValueType": {
+ "$ref": "#/definitions/DatasetParameterValueType"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "ValueType"
+ ],
+ "type": "object"
+ },
+ "StringDatasetParameterDefaultValues": {
+ "additionalProperties": false,
+ "properties": {
+ "StaticValues": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 0,
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TagColumnOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/ColumnTag"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "Tags"
+ ],
+ "type": "object"
+ },
+ "TextQualifier": {
+ "enum": [
+ "DOUBLE_QUOTE",
+ "SINGLE_QUOTE"
+ ],
+ "type": "string"
+ },
+ "TimeGranularity": {
+ "enum": [
+ "YEAR",
+ "QUARTER",
+ "MONTH",
+ "WEEK",
+ "DAY",
+ "HOUR",
+ "MINUTE",
+ "SECOND",
+ "MILLISECOND"
+ ],
+ "type": "string"
+ },
+ "TransformOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "CastColumnTypeOperation": {
+ "$ref": "#/definitions/CastColumnTypeOperation"
+ },
+ "CreateColumnsOperation": {
+ "$ref": "#/definitions/CreateColumnsOperation"
+ },
+ "FilterOperation": {
+ "$ref": "#/definitions/FilterOperation"
+ },
+ "OverrideDatasetParameterOperation": {
+ "$ref": "#/definitions/OverrideDatasetParameterOperation"
+ },
+ "ProjectOperation": {
+ "$ref": "#/definitions/ProjectOperation"
+ },
+ "RenameColumnOperation": {
+ "$ref": "#/definitions/RenameColumnOperation"
+ },
+ "TagColumnOperation": {
+ "$ref": "#/definitions/TagColumnOperation"
+ },
+ "UntagColumnOperation": {
+ "$ref": "#/definitions/UntagColumnOperation"
+ }
+ },
+ "type": "object"
+ },
+ "UniqueKey": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnNames": {
+ "items": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "ColumnNames"
+ ],
+ "type": "object"
+ },
+ "UntagColumnOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "TagNames": {
+ "items": {
+ "$ref": "#/definitions/ColumnTagName"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "TagNames"
+ ],
+ "type": "object"
+ },
+ "UploadSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainsHeader": {
+ "type": "boolean"
+ },
+ "Delimiter": {
+ "maxLength": 1,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Format": {
+ "$ref": "#/definitions/FileFormat"
+ },
+ "StartFromRow": {
+ "minimum": 1,
+ "type": "number"
+ },
+ "TextQualifier": {
+ "$ref": "#/definitions/TextQualifier"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AwsAccountId",
+ "/properties/DataSetId"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "AwsAccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^[0-9]{12}$",
+ "type": "string"
+ },
+ "ColumnGroups": {
+ "items": {
+ "$ref": "#/definitions/ColumnGroup"
+ },
+ "maxItems": 8,
+ "minItems": 1,
+ "type": "array"
+ },
+ "ColumnLevelPermissionRules": {
+ "items": {
+ "$ref": "#/definitions/ColumnLevelPermissionRule"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "ConsumedSpiceCapacityInBytes": {
+ "default": 0,
+ "type": "number"
+ },
+ "CreatedTime": {
+ "format": "string",
+ "type": "string"
+ },
+ "DataSetId": {
+ "type": "string"
+ },
+ "DataSetRefreshProperties": {
+ "$ref": "#/definitions/DataSetRefreshProperties"
+ },
+ "DataSetUsageConfiguration": {
+ "$ref": "#/definitions/DataSetUsageConfiguration"
+ },
+ "DatasetParameters": {
+ "items": {
+ "$ref": "#/definitions/DatasetParameter"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ },
+ "FieldFolders": {
+ "$ref": "#/definitions/FieldFolderMap"
+ },
+ "FolderArns": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 10,
+ "minItems": 0,
+ "type": "array"
+ },
+ "ImportMode": {
+ "$ref": "#/definitions/DataSetImportMode"
+ },
+ "IngestionWaitPolicy": {
+ "$ref": "#/definitions/IngestionWaitPolicy"
+ },
+ "LastUpdatedTime": {
+ "format": "string",
+ "type": "string"
+ },
+ "LogicalTableMap": {
+ "$ref": "#/definitions/LogicalTableMap"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "OutputColumns": {
+ "items": {
+ "$ref": "#/definitions/OutputColumn"
+ },
+ "type": "array"
+ },
+ "PerformanceConfiguration": {
+ "$ref": "#/definitions/PerformanceConfiguration"
+ },
+ "Permissions": {
+ "items": {
+ "$ref": "#/definitions/ResourcePermission"
+ },
+ "maxItems": 64,
+ "minItems": 1,
+ "type": "array"
+ },
+ "PhysicalTableMap": {
+ "$ref": "#/definitions/PhysicalTableMap"
+ },
+ "RowLevelPermissionDataSet": {
+ "$ref": "#/definitions/RowLevelPermissionDataSet"
+ },
+ "RowLevelPermissionTagConfiguration": {
+ "$ref": "#/definitions/RowLevelPermissionTagConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/ConsumedSpiceCapacityInBytes",
+ "/properties/CreatedTime",
+ "/properties/LastUpdatedTime",
+ "/properties/OutputColumns"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::QuickSight::DataSet",
+ "writeOnlyProperties": [
+ "/properties/FieldFolders",
+ "/properties/IngestionWaitPolicy",
+ "/properties/FolderArns"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json
new file mode 100644
index 0000000000..8372362d6b
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json
@@ -0,0 +1,409 @@
+{
+ "additionalProperties": false,
+ "conditionalCreateOnlyProperties": [
+ "/properties/Engine",
+ "/properties/GlobalClusterIdentifier",
+ "/properties/MasterUsername"
+ ],
+ "createOnlyProperties": [
+ "/properties/AvailabilityZones",
+ "/properties/ClusterScalabilityType",
+ "/properties/DBClusterIdentifier",
+ "/properties/DBSubnetGroupName",
+ "/properties/DBSystemId",
+ "/properties/DatabaseName",
+ "/properties/EngineMode",
+ "/properties/KmsKeyId",
+ "/properties/PubliclyAccessible",
+ "/properties/RestoreToTime",
+ "/properties/RestoreType",
+ "/properties/SnapshotIdentifier",
+ "/properties/SourceDBClusterIdentifier",
+ "/properties/SourceRegion",
+ "/properties/StorageEncrypted",
+ "/properties/UseLatestRestorableTime"
+ ],
+ "definitions": {
+ "DBClusterRole": {
+ "additionalProperties": false,
+ "properties": {
+ "FeatureName": {
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleArn"
+ ],
+ "type": "object"
+ },
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "MasterUserSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "SecretArn": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ReadEndpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ScalingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AutoPause": {
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "MinCapacity": {
+ "type": "integer"
+ },
+ "SecondsBeforeTimeout": {
+ "type": "integer"
+ },
+ "SecondsUntilAutoPause": {
+ "type": "integer"
+ },
+ "TimeoutAction": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ServerlessV2ScalingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "MaxCapacity": {
+ "type": "number"
+ },
+ "MinCapacity": {
+ "type": "number"
+ },
+ "SecondsUntilAutoPause": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DBClusterIdentifier"
+ ],
+ "properties": {
+ "AllocatedStorage": {
+ "type": "integer"
+ },
+ "AssociatedRoles": {
+ "items": {
+ "$ref": "#/definitions/DBClusterRole"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "AutoMinorVersionUpgrade": {
+ "type": "boolean"
+ },
+ "AvailabilityZones": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BacktrackWindow": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "BackupRetentionPeriod": {
+ "default": 1,
+ "maximum": 35,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "ClusterScalabilityType": {
+ "enum": [
+ "limitless",
+ "standard"
+ ],
+ "type": "string"
+ },
+ "CopyTagsToSnapshot": {
+ "type": "boolean"
+ },
+ "DBClusterArn": {
+ "type": "string"
+ },
+ "DBClusterIdentifier": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "DBClusterInstanceClass": {
+ "type": "string"
+ },
+ "DBClusterParameterGroupName": {
+ "type": "string"
+ },
+ "DBClusterResourceId": {
+ "type": "string"
+ },
+ "DBInstanceParameterGroupName": {
+ "type": "string"
+ },
+ "DBSubnetGroupName": {
+ "type": "string"
+ },
+ "DBSystemId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "DeletionProtection": {
+ "type": "boolean"
+ },
+ "Domain": {
+ "type": "string"
+ },
+ "DomainIAMRoleName": {
+ "type": "string"
+ },
+ "EnableCloudwatchLogsExports": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "EnableGlobalWriteForwarding": {
+ "type": "boolean"
+ },
+ "EnableHttpEndpoint": {
+ "type": "boolean"
+ },
+ "EnableIAMDatabaseAuthentication": {
+ "type": "boolean"
+ },
+ "EnableLocalWriteForwarding": {
+ "type": "boolean"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "Engine": {
+ "type": "string"
+ },
+ "EngineLifecycleSupport": {
+ "type": "string"
+ },
+ "EngineMode": {
+ "type": "string"
+ },
+ "EngineVersion": {
+ "type": "string"
+ },
+ "GlobalClusterIdentifier": {
+ "maxLength": 63,
+ "minLength": 0,
+ "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "Iops": {
+ "type": "integer"
+ },
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "ManageMasterUserPassword": {
+ "type": "boolean"
+ },
+ "MasterUserPassword": {
+ "type": "string"
+ },
+ "MasterUserSecret": {
+ "$ref": "#/definitions/MasterUserSecret"
+ },
+ "MasterUsername": {
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$",
+ "type": "string"
+ },
+ "MonitoringInterval": {
+ "type": "integer"
+ },
+ "MonitoringRoleArn": {
+ "type": "string"
+ },
+ "NetworkType": {
+ "type": "string"
+ },
+ "PerformanceInsightsEnabled": {
+ "type": "boolean"
+ },
+ "PerformanceInsightsKmsKeyId": {
+ "type": "string"
+ },
+ "PerformanceInsightsRetentionPeriod": {
+ "type": "integer"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "PreferredBackupWindow": {
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "ReadEndpoint": {
+ "$ref": "#/definitions/ReadEndpoint"
+ },
+ "ReplicationSourceIdentifier": {
+ "type": "string"
+ },
+ "RestoreToTime": {
+ "type": "string"
+ },
+ "RestoreType": {
+ "type": "string"
+ },
+ "ScalingConfiguration": {
+ "$ref": "#/definitions/ScalingConfiguration"
+ },
+ "ServerlessV2ScalingConfiguration": {
+ "$ref": "#/definitions/ServerlessV2ScalingConfiguration"
+ },
+ "SnapshotIdentifier": {
+ "type": "string"
+ },
+ "SourceDBClusterIdentifier": {
+ "type": "string"
+ },
+ "SourceRegion": {
+ "type": "string"
+ },
+ "StorageEncrypted": {
+ "type": "boolean"
+ },
+ "StorageThroughput": {
+ "type": "integer"
+ },
+ "StorageType": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "UseLatestRestorableTime": {
+ "type": "boolean"
+ },
+ "VpcSecurityGroupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "propertyTransform": {
+ "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
+ "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
+ "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
+ "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )",
+ "/properties/Engine": "$lowercase(Engine)",
+ "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])",
+ "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])",
+ "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])",
+ "/properties/NetworkType": "$lowercase(NetworkType)",
+ "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", PerformanceInsightsKmsKeyId])",
+ "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)",
+ "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
+ "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)",
+ "/properties/StorageType": "$lowercase(StorageType)"
+ },
+ "readOnlyProperties": [
+ "/properties/DBClusterArn",
+ "/properties/DBClusterResourceId",
+ "/properties/Endpoint",
+ "/properties/Endpoint/Address",
+ "/properties/Endpoint/Port",
+ "/properties/ReadEndpoint/Address",
+ "/properties/MasterUserSecret/SecretArn",
+ "/properties/StorageThroughput"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RDS::DBCluster",
+ "writeOnlyProperties": [
+ "/properties/ClusterScalabilityType",
+ "/properties/DBInstanceParameterGroupName",
+ "/properties/MasterUserPassword",
+ "/properties/RestoreToTime",
+ "/properties/RestoreType",
+ "/properties/SnapshotIdentifier",
+ "/properties/SourceDBClusterIdentifier",
+ "/properties/SourceRegion",
+ "/properties/UseLatestRestorableTime"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-transfer-server.json
new file mode 100644
index 0000000000..8fcb89e247
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-transfer-server.json
@@ -0,0 +1,403 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ServerId"
+ ]
+ ],
+ "additionalProperties": false,
+ "conditionalCreateOnlyProperties": [
+ "/properties/EndpointDetails",
+ "/properties/EndpointDetails/AddressAllocationIds"
+ ],
+ "createOnlyProperties": [
+ "/properties/Domain",
+ "/properties/IdentityProviderType"
+ ],
+ "definitions": {
+ "As2Transport": {
+ "enum": [
+ "HTTP"
+ ],
+ "type": "string"
+ },
+ "DirectoryListingOptimization": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "Domain": {
+ "enum": [
+ "S3",
+ "EFS"
+ ],
+ "type": "string"
+ },
+ "EndpointDetails": {
+ "additionalProperties": false,
+ "properties": {
+ "AddressAllocationIds": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 20,
+ "minLength": 11,
+ "pattern": "sg-[0-9a-f]{8,17}",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "VpcEndpointId": {
+ "maxLength": 22,
+ "minLength": 22,
+ "pattern": "^vpce-[0-9a-f]{17}$",
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EndpointType": {
+ "enum": [
+ "PUBLIC",
+ "VPC",
+ "VPC_ENDPOINT"
+ ],
+ "type": "string"
+ },
+ "IdentityProviderDetails": {
+ "additionalProperties": false,
+ "properties": {
+ "DirectoryId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^d-[0-9a-f]{10}$",
+ "type": "string"
+ },
+ "Function": {
+ "maxLength": 170,
+ "minLength": 1,
+ "pattern": "^arn:[a-z-]+:lambda:.*$",
+ "type": "string"
+ },
+ "InvocationRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:.*role/\\S+$",
+ "type": "string"
+ },
+ "SftpAuthenticationMethods": {
+ "$ref": "#/definitions/SftpAuthenticationMethods"
+ },
+ "Url": {
+ "maxLength": 255,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "IdentityProviderType": {
+ "enum": [
+ "SERVICE_MANAGED",
+ "API_GATEWAY",
+ "AWS_DIRECTORY_SERVICE",
+ "AWS_LAMBDA"
+ ],
+ "type": "string"
+ },
+ "Protocol": {
+ "enum": [
+ "AS2",
+ "FTP",
+ "FTPS",
+ "SFTP"
+ ],
+ "type": "string"
+ },
+ "ProtocolDetails": {
+ "additionalProperties": false,
+ "properties": {
+ "As2Transports": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/As2Transport"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "PassiveIp": {
+ "maxLength": 15,
+ "minLength": 0,
+ "type": "string"
+ },
+ "SetStatOption": {
+ "$ref": "#/definitions/SetStatOption"
+ },
+ "TlsSessionResumptionMode": {
+ "$ref": "#/definitions/TlsSessionResumptionMode"
+ }
+ },
+ "type": "object"
+ },
+ "S3StorageOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DirectoryListingOptimization": {
+ "$ref": "#/definitions/DirectoryListingOptimization"
+ }
+ },
+ "type": "object"
+ },
+ "SetStatOption": {
+ "enum": [
+ "DEFAULT",
+ "ENABLE_NO_OP"
+ ],
+ "type": "string"
+ },
+ "SftpAuthenticationMethods": {
+ "enum": [
+ "PASSWORD",
+ "PUBLIC_KEY",
+ "PUBLIC_KEY_OR_PASSWORD",
+ "PUBLIC_KEY_AND_PASSWORD"
+ ],
+ "type": "string"
+ },
+ "State": {
+ "enum": [
+ "OFFLINE",
+ "ONLINE",
+ "STARTING",
+ "STOPPING",
+ "START_FAILED",
+ "STOP_FAILED"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TlsSessionResumptionMode": {
+ "enum": [
+ "DISABLED",
+ "ENABLED",
+ "ENFORCED"
+ ],
+ "type": "string"
+ },
+ "WorkflowDetail": {
+ "additionalProperties": false,
+ "properties": {
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:.*role/\\S+$",
+ "type": "string"
+ },
+ "WorkflowId": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^w-([a-z0-9]{17})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "ExecutionRole",
+ "WorkflowId"
+ ],
+ "type": "object"
+ },
+ "WorkflowDetails": {
+ "additionalProperties": false,
+ "properties": {
+ "OnPartialUpload": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/WorkflowDetail"
+ },
+ "maxItems": 1,
+ "minItems": 0,
+ "type": "array"
+ },
+ "OnUpload": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/WorkflowDetail"
+ },
+ "maxItems": 1,
+ "minItems": 0,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 1600,
+ "minLength": 20,
+ "pattern": "^arn:\\S+$",
+ "type": "string"
+ },
+ "As2ServiceManagedEgressIpAddresses": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Certificate": {
+ "maxLength": 1600,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Domain": {
+ "$ref": "#/definitions/Domain"
+ },
+ "EndpointDetails": {
+ "$ref": "#/definitions/EndpointDetails"
+ },
+ "EndpointType": {
+ "$ref": "#/definitions/EndpointType"
+ },
+ "IdentityProviderDetails": {
+ "$ref": "#/definitions/IdentityProviderDetails"
+ },
+ "IdentityProviderType": {
+ "$ref": "#/definitions/IdentityProviderType"
+ },
+ "LoggingRole": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "pattern": "^(|arn:.*role/\\S+)$",
+ "type": "string"
+ },
+ "PostAuthenticationLoginBanner": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$",
+ "type": "string"
+ },
+ "PreAuthenticationLoginBanner": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$",
+ "type": "string"
+ },
+ "ProtocolDetails": {
+ "$ref": "#/definitions/ProtocolDetails"
+ },
+ "Protocols": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Protocol"
+ },
+ "maxItems": 4,
+ "minItems": 1,
+ "type": "array"
+ },
+ "S3StorageOptions": {
+ "$ref": "#/definitions/S3StorageOptions"
+ },
+ "SecurityPolicyName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "pattern": "^TransferSecurityPolicy-.+$",
+ "type": "string"
+ },
+ "ServerId": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^s-([0-9a-f]{17})$",
+ "type": "string"
+ },
+ "State": {
+ "$ref": "#/definitions/State"
+ },
+ "StructuredLogDestinations": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 1600,
+ "minLength": 20,
+ "pattern": "arn:\\S+",
+ "type": "string"
+ },
+ "maxItems": 1,
+ "minItems": 0,
+ "type": "array"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ },
+ "WorkflowDetails": {
+ "$ref": "#/definitions/WorkflowDetails"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/As2ServiceManagedEgressIpAddresses",
+ "/properties/ServerId",
+ "/properties/State"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Transfer::Server",
+ "writeOnlyProperties": [
+ "/properties/IdentityProviderType"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-workspaces-workspacespool.json
new file mode 100644
index 0000000000..19c638ca23
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-workspaces-workspacespool.json
@@ -0,0 +1,158 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/PoolName"
+ ],
+ "definitions": {
+ "ApplicationSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SettingsGroup": {
+ "maxLength": 100,
+ "pattern": "^[A-Za-z0-9_./()!*'-]+$",
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/ApplicationSettingsStatus"
+ }
+ },
+ "required": [
+ "Status"
+ ],
+ "type": "object"
+ },
+ "ApplicationSettingsStatus": {
+ "enum": [
+ "DISABLED",
+ "ENABLED"
+ ],
+ "type": "string"
+ },
+ "Capacity": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredUserSessions": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredUserSessions"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TimeoutSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DisconnectTimeoutInSeconds": {
+ "maximum": 36000,
+ "minimum": 60,
+ "type": "integer"
+ },
+ "IdleDisconnectTimeoutInSeconds": {
+ "maximum": 36000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "MaxUserDurationInSeconds": {
+ "maximum": 432000,
+ "minimum": 600,
+ "type": "integer"
+ }
+ },
+ "required": [],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/PoolId"
+ ],
+ "properties": {
+ "ApplicationSettings": {
+ "$ref": "#/definitions/ApplicationSettings"
+ },
+ "BundleId": {
+ "pattern": "^wsb-[0-9a-z]{8,63}$",
+ "type": "string"
+ },
+ "Capacity": {
+ "$ref": "#/definitions/Capacity"
+ },
+ "CreatedAt": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_./() -]+$",
+ "type": "string"
+ },
+ "DirectoryId": {
+ "maxLength": 65,
+ "minLength": 10,
+ "pattern": "^wsd-[0-9a-z]{8,63}$",
+ "type": "string"
+ },
+ "PoolArn": {
+ "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$",
+ "type": "string"
+ },
+ "PoolId": {
+ "pattern": "^wspool-[0-9a-z]{9}$",
+ "type": "string"
+ },
+ "PoolName": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TimeoutSettings": {
+ "$ref": "#/definitions/TimeoutSettings"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/PoolId",
+ "/properties/PoolArn",
+ "/properties/CreatedAt"
+ ],
+ "required": [
+ "PoolName",
+ "BundleId",
+ "DirectoryId",
+ "Capacity"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": false,
+ "taggable": true
+ },
+ "typeName": "AWS::WorkSpaces::WorkspacesPool",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py
index 3e74ac39b4..b8864feffc 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py
@@ -756,6 +756,7 @@
"aws-appconfig-extensionassociation.json",
"aws-appconfig-hostedconfigurationversion.json",
"aws-applicationautoscaling-scalabletarget.json",
+ "aws-applicationautoscaling-scalingpolicy.json",
"aws-applicationinsights-application.json",
"aws-applicationsignals-servicelevelobjective.json",
"aws-appmesh-gatewayroute.json",
@@ -827,7 +828,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -906,7 +906,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -974,6 +973,7 @@
"aws-ec2-vpcendpointservicepermissions.json",
"aws-ec2-vpcgatewayattachment.json",
"aws-ec2-vpcpeeringconnection.json",
+ "aws-ec2-vpnconnection.json",
"aws-ec2-vpnconnectionroute.json",
"aws-ec2-vpngateway.json",
"aws-ecr-pullthroughcacherule.json",
@@ -986,7 +986,6 @@
"aws-ecs-clustercapacityproviderassociations.json",
"aws-ecs-primarytaskset.json",
"aws-ecs-service.json",
- "aws-ecs-taskdefinition.json",
"aws-ecs-taskset.json",
"aws-efs-accesspoint.json",
"aws-efs-filesystem.json",
@@ -1121,12 +1120,8 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-msk-batchscramsecret.json",
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
@@ -1166,7 +1161,6 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-pcaconnectorad-serviceprincipalname.json",
"aws-pcaconnectorad-templategroupaccesscontrolentry.json",
@@ -1183,7 +1177,6 @@
"aws-quicksight-theme.json",
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
@@ -1210,7 +1203,6 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
- "aws-redshiftserverless-workgroup.json",
"aws-resourceexplorer2-defaultviewassociation.json",
"aws-resourceexplorer2-index.json",
"aws-resourceexplorer2-view.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-applicationautoscaling-scalingpolicy.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-applicationautoscaling-scalingpolicy.json
deleted file mode 100644
index 9d56587785..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-applicationautoscaling-scalingpolicy.json
+++ /dev/null
@@ -1,372 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/PolicyName",
- "/properties/ServiceNamespace",
- "/properties/ResourceId",
- "/properties/ScalableDimension",
- "/properties/ScalingTargetId"
- ],
- "definitions": {
- "CustomizedMetricSpecification": {
- "additionalProperties": false,
- "properties": {
- "Dimensions": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/MetricDimension"
- },
- "type": "array",
- "uniqueItems": false
- },
- "MetricName": {
- "type": "string"
- },
- "Metrics": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TargetTrackingMetricDataQuery"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Namespace": {
- "type": "string"
- },
- "Statistic": {
- "enum": [
- "Average",
- "Maximum",
- "Minimum",
- "SampleCount",
- "Sum"
- ],
- "type": "string"
- },
- "Unit": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "MetricDimension": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Name"
- ],
- "type": "object"
- },
- "PredefinedMetricSpecification": {
- "additionalProperties": false,
- "properties": {
- "PredefinedMetricType": {
- "enum": [
- "ALBRequestCountPerTarget",
- "AppStreamAverageCapacityUtilization",
- "CassandraReadCapacityUtilization",
- "CassandraWriteCapacityUtilization",
- "ComprehendInferenceUtilization",
- "DynamoDBReadCapacityUtilization",
- "DynamoDBWriteCapacityUtilization",
- "EC2SpotFleetRequestAverageCPUUtilization",
- "EC2SpotFleetRequestAverageNetworkIn",
- "EC2SpotFleetRequestAverageNetworkOut",
- "ECSServiceAverageCPUUtilization",
- "ECSServiceAverageMemoryUtilization",
- "ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage",
- "ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage",
- "ElastiCachePrimaryEngineCPUUtilization",
- "ElastiCacheReplicaEngineCPUUtilization",
- "KafkaBrokerStorageUtilization",
- "LambdaProvisionedConcurrencyUtilization",
- "NeptuneReaderAverageCPUUtilization",
- "RDSReaderAverageCPUUtilization",
- "RDSReaderAverageDatabaseConnections",
- "SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution",
- "SageMakerInferenceComponentInvocationsPerCopy",
- "SageMakerVariantConcurrentRequestsPerModelHighResolution",
- "SageMakerVariantInvocationsPerInstance",
- "SageMakerVariantProvisionedConcurrencyUtilization",
- "WorkSpacesAverageUserSessionsCapacityUtilization"
- ],
- "type": "string"
- },
- "ResourceLabel": {
- "type": "string"
- }
- },
- "required": [
- "PredefinedMetricType"
- ],
- "type": "object"
- },
- "StepAdjustment": {
- "additionalProperties": false,
- "properties": {
- "MetricIntervalLowerBound": {
- "type": "number"
- },
- "MetricIntervalUpperBound": {
- "type": "number"
- },
- "ScalingAdjustment": {
- "type": "integer"
- }
- },
- "required": [
- "ScalingAdjustment"
- ],
- "type": "object"
- },
- "StepScalingPolicyConfiguration": {
- "additionalProperties": false,
- "properties": {
- "AdjustmentType": {
- "enum": [
- "ChangeInCapacity",
- "ExactCapacity",
- "PercentChangeInCapacity"
- ],
- "type": "string"
- },
- "Cooldown": {
- "type": "integer"
- },
- "MetricAggregationType": {
- "enum": [
- "Average",
- "Maximum",
- "Minimum"
- ],
- "type": "string"
- },
- "MinAdjustmentMagnitude": {
- "type": "integer"
- },
- "StepAdjustments": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/StepAdjustment"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "TargetTrackingMetric": {
- "additionalProperties": false,
- "properties": {
- "Dimensions": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TargetTrackingMetricDimension"
- },
- "type": "array",
- "uniqueItems": false
- },
- "MetricName": {
- "type": "string"
- },
- "Namespace": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "TargetTrackingMetricDataQuery": {
- "additionalProperties": false,
- "properties": {
- "Expression": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Label": {
- "type": "string"
- },
- "MetricStat": {
- "$ref": "#/definitions/TargetTrackingMetricStat"
- },
- "ReturnData": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "TargetTrackingMetricDimension": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "TargetTrackingMetricStat": {
- "additionalProperties": false,
- "properties": {
- "Metric": {
- "$ref": "#/definitions/TargetTrackingMetric"
- },
- "Stat": {
- "type": "string"
- },
- "Unit": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "TargetTrackingScalingPolicyConfiguration": {
- "additionalProperties": false,
- "properties": {
- "CustomizedMetricSpecification": {
- "$ref": "#/definitions/CustomizedMetricSpecification"
- },
- "DisableScaleIn": {
- "type": "boolean"
- },
- "PredefinedMetricSpecification": {
- "$ref": "#/definitions/PredefinedMetricSpecification"
- },
- "ScaleInCooldown": {
- "type": "integer"
- },
- "ScaleOutCooldown": {
- "type": "integer"
- },
- "TargetValue": {
- "type": "number"
- }
- },
- "required": [
- "TargetValue"
- ],
- "type": "object"
- }
- },
- "dependentRequired": {
- "ResourceId": [
- "ScalableDimension",
- "ServiceNamespace"
- ]
- },
- "primaryIdentifier": [
- "/properties/Arn",
- "/properties/ScalableDimension"
- ],
- "properties": {
- "Arn": {
- "type": "string"
- },
- "PolicyName": {
- "pattern": "\\p{Print}+",
- "type": "string"
- },
- "PolicyType": {
- "enum": [
- "PredictiveScaling",
- "StepScaling",
- "TargetTrackingScaling"
- ],
- "type": "string"
- },
- "ResourceId": {
- "type": "string"
- },
- "ScalableDimension": {
- "enum": [
- "appstream:fleet:DesiredCapacity",
- "cassandra:table:ReadCapacityUnits",
- "cassandra:table:WriteCapacityUnits",
- "comprehend:document-classifier-endpoint:DesiredInferenceUnits",
- "comprehend:entity-recognizer-endpoint:DesiredInferenceUnits",
- "custom-resource:ResourceType:Property",
- "dynamodb:index:ReadCapacityUnits",
- "dynamodb:index:WriteCapacityUnits",
- "dynamodb:table:ReadCapacityUnits",
- "dynamodb:table:WriteCapacityUnits",
- "ec2:spot-fleet-request:TargetCapacity",
- "ecs:service:DesiredCount",
- "elasticache:replication-group:NodeGroups",
- "elasticache:replication-group:Replicas",
- "elasticmapreduce:instancegroup:InstanceCount",
- "kafka:broker-storage:VolumeSize",
- "lambda:function:ProvisionedConcurrency",
- "neptune:cluster:ReadReplicaCount",
- "rds:cluster:ReadReplicaCount",
- "sagemaker:inference-component:DesiredCopyCount",
- "sagemaker:variant:DesiredInstanceCount",
- "sagemaker:variant:DesiredProvisionedConcurrency",
- "workspaces:workspacespool:DesiredUserSessions"
- ],
- "type": "string"
- },
- "ScalingTargetId": {
- "type": "string"
- },
- "ServiceNamespace": {
- "enum": [
- "appstream",
- "cassandra",
- "comprehend",
- "custom-resource",
- "dynamodb",
- "ec2",
- "ecs",
- "elasticache",
- "elasticmapreduce",
- "kafka",
- "lambda",
- "neptune",
- "rds",
- "sagemaker",
- "workspaces"
- ],
- "type": "string"
- },
- "StepScalingPolicyConfiguration": {
- "$ref": "#/definitions/StepScalingPolicyConfiguration"
- },
- "TargetTrackingScalingPolicyConfiguration": {
- "$ref": "#/definitions/TargetTrackingScalingPolicyConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "PolicyName",
- "PolicyType"
- ],
- "requiredXor": [
- "ScalingTargetId",
- "ResourceId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::ApplicationAutoScaling::ScalingPolicy",
- "writeOnlyProperties": [
- "/properties/TargetTrackingScalingPolicyConfiguration/PredefinedMetricSpecification/ResourceLabel",
- "/properties/ScalingTargetId"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-vpnconnection.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-vpnconnection.json
deleted file mode 100644
index a9d5be394d..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-vpnconnection.json
+++ /dev/null
@@ -1,383 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Type",
- "/properties/CustomerGatewayId",
- "/properties/VpnGatewayId",
- "/properties/TransitGatewayId",
- "/properties/EnableAcceleration",
- "/properties/LocalIpv4NetworkCidr",
- "/properties/LocalIpv6NetworkCidr",
- "/properties/OutsideIpAddressType",
- "/properties/RemoteIpv4NetworkCidr",
- "/properties/RemoteIpv6NetworkCidr",
- "/properties/StaticRoutesOnly",
- "/properties/TransportTransitGatewayAttachmentId",
- "/properties/TunnelInsideIpVersion",
- "/properties/VpnTunnelOptionsSpecifications"
- ],
- "definitions": {
- "CloudwatchLogOptionsSpecification": {
- "additionalProperties": false,
- "properties": {
- "LogEnabled": {
- "type": "boolean"
- },
- "LogGroupArn": {
- "type": "string"
- },
- "LogOutputFormat": {
- "enum": [
- "json",
- "text"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "IKEVersionsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "ikev1",
- "ikev2"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Phase1DHGroupNumbersRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- 2,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24
- ],
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Phase1EncryptionAlgorithmsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "AES128",
- "AES256",
- "AES128-GCM-16",
- "AES256-GCM-16"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Phase1IntegrityAlgorithmsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "SHA1",
- "SHA2-256",
- "SHA2-384",
- "SHA2-512"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Phase2DHGroupNumbersRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- 2,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24
- ],
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Phase2EncryptionAlgorithmsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "AES128",
- "AES256",
- "AES128-GCM-16",
- "AES256-GCM-16"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Phase2IntegrityAlgorithmsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "SHA1",
- "SHA2-256",
- "SHA2-384",
- "SHA2-512"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- },
- "VpnTunnelLogOptionsSpecification": {
- "additionalProperties": false,
- "properties": {
- "CloudwatchLogOptions": {
- "$ref": "#/definitions/CloudwatchLogOptionsSpecification"
- }
- },
- "type": "object"
- },
- "VpnTunnelOptionsSpecification": {
- "additionalProperties": false,
- "properties": {
- "DPDTimeoutAction": {
- "enum": [
- "clear",
- "none",
- "restart"
- ],
- "type": "string"
- },
- "DPDTimeoutSeconds": {
- "minimum": 30,
- "type": "integer"
- },
- "EnableTunnelLifecycleControl": {
- "type": "boolean"
- },
- "IKEVersions": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/IKEVersionsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "LogOptions": {
- "$ref": "#/definitions/VpnTunnelLogOptionsSpecification"
- },
- "Phase1DHGroupNumbers": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase1DHGroupNumbersRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase1EncryptionAlgorithms": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase1EncryptionAlgorithmsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase1IntegrityAlgorithms": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase1IntegrityAlgorithmsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase1LifetimeSeconds": {
- "maximum": 28800,
- "minimum": 900,
- "type": "integer"
- },
- "Phase2DHGroupNumbers": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase2DHGroupNumbersRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase2EncryptionAlgorithms": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase2EncryptionAlgorithmsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase2IntegrityAlgorithms": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase2IntegrityAlgorithmsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase2LifetimeSeconds": {
- "maximum": 3600,
- "minimum": 900,
- "type": "integer"
- },
- "PreSharedKey": {
- "type": "string"
- },
- "RekeyFuzzPercentage": {
- "maximum": 100,
- "minimum": 0,
- "type": "integer"
- },
- "RekeyMarginTimeSeconds": {
- "minimum": 60,
- "type": "integer"
- },
- "ReplayWindowSize": {
- "maximum": 2048,
- "minimum": 64,
- "type": "integer"
- },
- "StartupAction": {
- "enum": [
- "add",
- "start"
- ],
- "type": "string"
- },
- "TunnelInsideCidr": {
- "type": "string"
- },
- "TunnelInsideIpv6Cidr": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/VpnConnectionId"
- ],
- "properties": {
- "CustomerGatewayId": {
- "type": "string"
- },
- "EnableAcceleration": {
- "type": "boolean"
- },
- "LocalIpv4NetworkCidr": {
- "type": "string"
- },
- "LocalIpv6NetworkCidr": {
- "type": "string"
- },
- "OutsideIpAddressType": {
- "type": "string"
- },
- "RemoteIpv4NetworkCidr": {
- "type": "string"
- },
- "RemoteIpv6NetworkCidr": {
- "type": "string"
- },
- "StaticRoutesOnly": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TransitGatewayId": {
- "type": "string"
- },
- "TransportTransitGatewayAttachmentId": {
- "type": "string"
- },
- "TunnelInsideIpVersion": {
- "type": "string"
- },
- "Type": {
- "type": "string"
- },
- "VpnConnectionId": {
- "type": "string"
- },
- "VpnGatewayId": {
- "type": "string"
- },
- "VpnTunnelOptionsSpecifications": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/VpnTunnelOptionsSpecification"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/VpnConnectionId"
- ],
- "required": [
- "Type",
- "CustomerGatewayId"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::EC2::VPNConnection"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-taskdefinition.json
new file mode 100644
index 0000000000..35c2b1ed93
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-taskdefinition.json
@@ -0,0 +1,1044 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Family",
+ "/properties/ContainerDefinitions",
+ "/properties/Cpu",
+ "/properties/ExecutionRoleArn",
+ "/properties/InferenceAccelerators",
+ "/properties/Memory",
+ "/properties/NetworkMode",
+ "/properties/PlacementConstraints",
+ "/properties/ProxyConfiguration",
+ "/properties/RequiresCompatibilities",
+ "/properties/RuntimePlatform",
+ "/properties/TaskRoleArn",
+ "/properties/Volumes",
+ "/properties/PidMode",
+ "/properties/IpcMode",
+ "/properties/EphemeralStorage"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "IAM": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Cpu": {
+ "type": "integer"
+ },
+ "CredentialSpecs": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "DependsOn": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ContainerDependency"
+ },
+ "type": "array"
+ },
+ "DisableNetworking": {
+ "type": "boolean"
+ },
+ "DnsSearchDomains": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "DnsServers": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "DockerLabels": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSecurityOptions": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "EntryPoint": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Environment": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true,
+ "uniqueKeys": [
+ "Name"
+ ]
+ },
+ "EnvironmentFiles": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/EnvironmentFile"
+ },
+ "type": "array"
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "ExtraHosts": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/HostEntry"
+ },
+ "type": "array"
+ },
+ "FirelensConfiguration": {
+ "$ref": "#/definitions/FirelensConfiguration"
+ },
+ "HealthCheck": {
+ "$ref": "#/definitions/HealthCheck"
+ },
+ "Hostname": {
+ "type": "string"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "Interactive": {
+ "type": "boolean"
+ },
+ "Links": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MemoryReservation": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/MountPoint"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PortMappings": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/PortMapping"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "PseudoTerminal": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array"
+ },
+ "RestartPolicy": {
+ "$ref": "#/definitions/RestartPolicy"
+ },
+ "Secrets": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array"
+ },
+ "StartTimeout": {
+ "type": "integer"
+ },
+ "StopTimeout": {
+ "type": "integer"
+ },
+ "SystemControls": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SystemControl"
+ },
+ "type": "array"
+ },
+ "Ulimits": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array"
+ },
+ "User": {
+ "type": "string"
+ },
+ "VersionConsistency": {
+ "default": "enabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string"
+ },
+ "VolumesFrom": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/VolumeFrom"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "WorkingDirectory": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name",
+ "Image"
+ ],
+ "type": "object"
+ },
+ "ContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "enum": [
+ "COMPLETE",
+ "HEALTHY",
+ "START",
+ "SUCCESS"
+ ],
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "insertionOrder": false,
+ "items": {
+ "enum": [
+ "mknod",
+ "read",
+ "write"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "DockerVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Autoprovision": {
+ "type": "boolean"
+ },
+ "Driver": {
+ "type": "string"
+ },
+ "DriverOpts": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Labels": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Scope": {
+ "enum": [
+ "shared",
+ "task"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EFSVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FilesystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FilesystemId"
+ ],
+ "type": "object"
+ },
+ "EnvironmentFile": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "enum": [
+ "s3"
+ ],
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "FSxAuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ },
+ "Domain": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter",
+ "Domain"
+ ],
+ "type": "object"
+ },
+ "FSxWindowsFileServerVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/FSxAuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "RootDirectory"
+ ],
+ "type": "object"
+ },
+ "FirelensConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Options": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Type": {
+ "enum": [
+ "fluentbit",
+ "fluentd"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "HealthCheck": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Interval": {
+ "type": "integer"
+ },
+ "Retries": {
+ "type": "integer"
+ },
+ "StartPeriod": {
+ "type": "integer"
+ },
+ "Timeout": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "HostEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "Hostname": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "HostVolumeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InferenceAccelerator": {
+ "additionalProperties": false,
+ "properties": {
+ "DeviceName": {
+ "type": "string"
+ },
+ "DeviceType": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "KernelCapabilities": {
+ "additionalProperties": false,
+ "properties": {
+ "Add": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Drop": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "KeyValuePair": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Capabilities": {
+ "$ref": "#/definitions/KernelCapabilities"
+ },
+ "Devices": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array"
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "enum": [
+ "awsfirelens",
+ "awslogs",
+ "fluentd",
+ "gelf",
+ "journald",
+ "json-file",
+ "splunk",
+ "syslog"
+ ],
+ "type": "string"
+ },
+ "Options": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretOptions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "MountPoint": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PortMapping": {
+ "additionalProperties": false,
+ "properties": {
+ "AppProtocol": {
+ "enum": [
+ "http",
+ "http2",
+ "grpc"
+ ],
+ "type": "string"
+ },
+ "ContainerPort": {
+ "type": "integer"
+ },
+ "ContainerPortRange": {
+ "type": "string"
+ },
+ "HostPort": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Protocol": {
+ "enum": [
+ "tcp",
+ "udp"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProxyConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerName": {
+ "type": "string"
+ },
+ "ProxyConfigurationProperties": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "APPMESH"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ContainerName"
+ ],
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "enum": [
+ "GPU",
+ "InferenceAccelerator"
+ ],
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "RestartPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "IgnoredExitCodes": {
+ "insertionOrder": false,
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "RestartAttemptPeriod": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "enum": [
+ "ARM64",
+ "X86_64"
+ ],
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "enum": [
+ "LINUX",
+ "WINDOWS_SERVER_2004_CORE",
+ "WINDOWS_SERVER_2016_FULL",
+ "WINDOWS_SERVER_2019_CORE",
+ "WINDOWS_SERVER_2019_FULL",
+ "WINDOWS_SERVER_2022_CORE",
+ "WINDOWS_SERVER_2022_FULL",
+ "WINDOWS_SERVER_20H2_CORE"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name",
+ "ValueFrom"
+ ],
+ "type": "object"
+ },
+ "SystemControl": {
+ "additionalProperties": false,
+ "properties": {
+ "Namespace": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TaskDefinitionPlacementConstraint": {
+ "additionalProperties": false,
+ "properties": {
+ "Expression": {
+ "type": "string"
+ },
+ "Type": {
+ "enum": [
+ "memberOf"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "enum": [
+ "core",
+ "cpu",
+ "data",
+ "fsize",
+ "locks",
+ "memlock",
+ "msgqueue",
+ "nice",
+ "nofile",
+ "nproc",
+ "rss",
+ "rtprio",
+ "rttime",
+ "sigpending",
+ "stack"
+ ],
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "HardLimit",
+ "Name",
+ "SoftLimit"
+ ],
+ "type": "object"
+ },
+ "Volume": {
+ "additionalProperties": false,
+ "properties": {
+ "ConfiguredAtLaunch": {
+ "type": "boolean"
+ },
+ "DockerVolumeConfiguration": {
+ "$ref": "#/definitions/DockerVolumeConfiguration"
+ },
+ "EFSVolumeConfiguration": {
+ "$ref": "#/definitions/EFSVolumeConfiguration"
+ },
+ "FSxWindowsFileServerVolumeConfiguration": {
+ "$ref": "#/definitions/FSxWindowsFileServerVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/HostVolumeProperties"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumeFrom": {
+ "additionalProperties": false,
+ "properties": {
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceContainer": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/TaskDefinitionArn"
+ ],
+ "properties": {
+ "ContainerDefinitions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Cpu": {
+ "type": "string"
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Family": {
+ "type": "string"
+ },
+ "InferenceAccelerators": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/InferenceAccelerator"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "IpcMode": {
+ "enum": [
+ "host",
+ "none",
+ "task"
+ ],
+ "type": "string"
+ },
+ "Memory": {
+ "type": "string"
+ },
+ "NetworkMode": {
+ "enum": [
+ "awsvpc",
+ "bridge",
+ "host",
+ "none"
+ ],
+ "type": "string"
+ },
+ "PidMode": {
+ "enum": [
+ "host",
+ "task"
+ ],
+ "type": "string"
+ },
+ "PlacementConstraints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/TaskDefinitionPlacementConstraint"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ProxyConfiguration": {
+ "$ref": "#/definitions/ProxyConfiguration"
+ },
+ "RequiresCompatibilities": {
+ "insertionOrder": false,
+ "items": {
+ "enum": [
+ "EC2",
+ "EXTERNAL",
+ "FARGATE"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ },
+ "TaskDefinitionArn": {
+ "type": "string"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "propertyTransform": {
+ "/properties/TaskRoleArn": "TaskRoleArn $OR $split(TaskRoleArn, \"role/\")[-1]"
+ },
+ "readOnlyProperties": [
+ "/properties/TaskDefinitionArn"
+ ],
+ "sourceUrl": "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::ECS::TaskDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-redshiftserverless-workgroup.json
new file mode 100644
index 0000000000..60a6356907
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-redshiftserverless-workgroup.json
@@ -0,0 +1,312 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/WorkgroupName",
+ "/properties/NamespaceName"
+ ],
+ "definitions": {
+ "ConfigParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterKey": {
+ "maxLength": 255,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ParameterValue": {
+ "maxLength": 15000,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "VpcEndpoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/VpcEndpoint"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkInterface": {
+ "additionalProperties": false,
+ "properties": {
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ },
+ "SubnetId": {
+ "format": "AWS::EC2::Subnet.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "VpcEndpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkInterfaces": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "type": "array"
+ },
+ "VpcEndpointId": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Workgroup": {
+ "additionalProperties": false,
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CreationDate": {
+ "type": "string"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "EnhancedVpcRouting": {
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]+$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "$ref": "#/definitions/WorkgroupStatus"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "WorkgroupArn": {
+ "type": "string"
+ },
+ "WorkgroupId": {
+ "type": "string"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]*$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "WorkgroupStatus": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "MODIFYING",
+ "DELETING"
+ ],
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/WorkgroupName"
+ ],
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "EnhancedVpcRouting": {
+ "default": false,
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array"
+ },
+ "Workgroup": {
+ "$ref": "#/definitions/Workgroup"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Workgroup",
+ "/properties/Workgroup/WorkgroupId",
+ "/properties/Workgroup/WorkgroupArn",
+ "/properties/Workgroup/WorkgroupName",
+ "/properties/Workgroup/NamespaceName",
+ "/properties/Workgroup/BaseCapacity",
+ "/properties/Workgroup/MaxCapacity",
+ "/properties/Workgroup/EnhancedVpcRouting",
+ "/properties/Workgroup/ConfigParameters/*/ParameterKey",
+ "/properties/Workgroup/ConfigParameters/*/ParameterValue",
+ "/properties/Workgroup/SecurityGroupIds",
+ "/properties/Workgroup/SubnetIds",
+ "/properties/Workgroup/Status",
+ "/properties/Workgroup/Endpoint/Address",
+ "/properties/Workgroup/Endpoint/Port",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone",
+ "/properties/Workgroup/PubliclyAccessible",
+ "/properties/Workgroup/CreationDate"
+ ],
+ "required": [
+ "WorkgroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RedshiftServerless::Workgroup",
+ "writeOnlyProperties": [
+ "/properties/BaseCapacity",
+ "/properties/MaxCapacity",
+ "/properties/ConfigParameters",
+ "/properties/SecurityGroupIds",
+ "/properties/SubnetIds"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py
index e4e918547e..0ffaa4162b 100644
--- a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py
@@ -531,6 +531,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -623,6 +624,7 @@
"AWS::LookoutMetrics::Alert",
"AWS::LookoutMetrics::AnomalyDetector",
"AWS::M2::Application",
+ "AWS::M2::Deployment",
"AWS::M2::Environment",
"AWS::MSK::BatchScramSecret",
"AWS::MSK::Cluster",
@@ -699,6 +701,7 @@
"AWS::NetworkManager::CoreNetwork",
"AWS::NetworkManager::CustomerGatewayAssociation",
"AWS::NetworkManager::Device",
+ "AWS::NetworkManager::DirectConnectGatewayAttachment",
"AWS::NetworkManager::GlobalNetwork",
"AWS::NetworkManager::Link",
"AWS::NetworkManager::LinkAssociation",
@@ -1160,7 +1163,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -1287,7 +1289,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1529,6 +1530,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1607,16 +1609,12 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-lookoutmetrics-alert.json",
"aws-lookoutmetrics-anomalydetector.json",
"aws-m2-application.json",
- "aws-m2-environment.json",
+ "aws-m2-deployment.json",
"aws-macie-allowlist.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
@@ -1670,7 +1668,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
@@ -1687,6 +1684,7 @@
"aws-networkmanager-corenetwork.json",
"aws-networkmanager-customergatewayassociation.json",
"aws-networkmanager-device.json",
+ "aws-networkmanager-directconnectgatewayattachment.json",
"aws-networkmanager-globalnetwork.json",
"aws-networkmanager-link.json",
"aws-networkmanager-linkassociation.json",
@@ -1729,7 +1727,6 @@
"aws-quicksight-theme.json",
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-customdbengineversion.json",
"aws-rds-dbcluster.json",
@@ -1758,6 +1755,7 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
+ "aws-redshiftserverless-workgroup.json",
"aws-refactorspaces-application.json",
"aws-refactorspaces-environment.json",
"aws-refactorspaces-route.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-msk-replicator.json
new file mode 100644
index 0000000000..8ca994e218
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-msk-replicator.json
@@ -0,0 +1,321 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "ReplicationTopicNameConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationTopicNameConfigurationType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationTopicNameConfigurationType": {
+ "enum": [
+ "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS",
+ "IDENTICAL"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicNameConfiguration": {
+ "$ref": "#/definitions/ReplicationTopicNameConfiguration"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py
index a16bc90dd0..716bf6e1b0 100644
--- a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py
@@ -534,6 +534,7 @@
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
"AWS::M2::Application",
+ "AWS::M2::Deployment",
"AWS::M2::Environment",
"AWS::MSK::BatchScramSecret",
"AWS::MSK::Cluster",
@@ -770,6 +771,7 @@
"AWS::StepFunctions::StateMachineVersion",
"AWS::Synthetics::Canary",
"AWS::SystemsManagerSAP::Application",
+ "AWS::Timestream::InfluxDBInstance",
"AWS::Transfer::Agreement",
"AWS::Transfer::Certificate",
"AWS::Transfer::Connector",
@@ -784,10 +786,13 @@
"AWS::VpcLattice::AccessLogSubscription",
"AWS::VpcLattice::AuthPolicy",
"AWS::VpcLattice::Listener",
+ "AWS::VpcLattice::ResourceConfiguration",
+ "AWS::VpcLattice::ResourceGateway",
"AWS::VpcLattice::ResourcePolicy",
"AWS::VpcLattice::Rule",
"AWS::VpcLattice::Service",
"AWS::VpcLattice::ServiceNetwork",
+ "AWS::VpcLattice::ServiceNetworkResourceAssociation",
"AWS::VpcLattice::ServiceNetworkServiceAssociation",
"AWS::VpcLattice::ServiceNetworkVpcAssociation",
"AWS::VpcLattice::TargetGroup",
@@ -953,7 +958,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -1063,7 +1067,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1310,14 +1313,10 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-m2-application.json",
- "aws-m2-environment.json",
+ "aws-m2-deployment.json",
"aws-macie-allowlist.json",
"aws-macie-session.json",
"aws-msk-batchscramsecret.json",
@@ -1354,7 +1353,6 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-pcaconnectorad-serviceprincipalname.json",
"aws-pcaconnectorad-templategroupaccesscontrolentry.json",
@@ -1371,7 +1369,6 @@
"aws-quicksight-theme.json",
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
@@ -1552,10 +1549,13 @@
"aws-vpclattice-accesslogsubscription.json",
"aws-vpclattice-authpolicy.json",
"aws-vpclattice-listener.json",
+ "aws-vpclattice-resourceconfiguration.json",
+ "aws-vpclattice-resourcegateway.json",
"aws-vpclattice-resourcepolicy.json",
"aws-vpclattice-rule.json",
"aws-vpclattice-service.json",
"aws-vpclattice-servicenetwork.json",
+ "aws-vpclattice-servicenetworkresourceassociation.json",
"aws-vpclattice-servicenetworkserviceassociation.json",
"aws-vpclattice-servicenetworkvpcassociation.json",
"aws-vpclattice-targetgroup.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-timestream-influxdbinstance.json
new file mode 100644
index 0000000000..3cd225dc53
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-timestream-influxdbinstance.json
@@ -0,0 +1,236 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket",
+ "/properties/VpcSubnetIds",
+ "/properties/VpcSecurityGroupIds",
+ "/properties/PubliclyAccessible",
+ "/properties/DbStorageType",
+ "/properties/AllocatedStorage"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllocatedStorage": {
+ "maximum": 16384,
+ "minimum": 20,
+ "type": "integer"
+ },
+ "Arn": {
+ "maxLength": 1011,
+ "minLength": 1,
+ "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$",
+ "type": "string"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "Bucket": {
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[^_][^\"]*$",
+ "type": "string"
+ },
+ "DbInstanceType": {
+ "enum": [
+ "db.influx.medium",
+ "db.influx.large",
+ "db.influx.xlarge",
+ "db.influx.2xlarge",
+ "db.influx.4xlarge",
+ "db.influx.8xlarge",
+ "db.influx.12xlarge",
+ "db.influx.16xlarge"
+ ],
+ "type": "string"
+ },
+ "DbParameterGroupIdentifier": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "DbStorageType": {
+ "enum": [
+ "InfluxIOIncludedT1",
+ "InfluxIOIncludedT2",
+ "InfluxIOIncludedT3"
+ ],
+ "type": "string"
+ },
+ "DeploymentType": {
+ "enum": [
+ "SINGLE_AZ",
+ "WITH_MULTIAZ_STANDBY"
+ ],
+ "type": "string"
+ },
+ "Endpoint": {
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "InfluxAuthParametersSecretArn": {
+ "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*",
+ "type": "string"
+ },
+ "LogDeliveryConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "S3Configuration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketName": {
+ "maxLength": 63,
+ "minLength": 3,
+ "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enabled",
+ "BucketName"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "Name": {
+ "maxLength": 40,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$",
+ "type": "string"
+ },
+ "Organization": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Password": {
+ "maxLength": 64,
+ "minLength": 8,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "Port": {
+ "maximum": 65535,
+ "minimum": 1024,
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecondaryAvailabilityZone": {
+ "type": "string"
+ },
+ "Status": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "DELETING",
+ "MODIFYING",
+ "UPDATING",
+ "UPDATING_DEPLOYMENT_TYPE",
+ "UPDATING_INSTANCE_TYPE",
+ "DELETED",
+ "FAILED"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Username": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "VpcSecurityGroupIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ },
+ "VpcSubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Status",
+ "/properties/Arn",
+ "/properties/Id",
+ "/properties/AvailabilityZone",
+ "/properties/Endpoint",
+ "/properties/SecondaryAvailabilityZone",
+ "/properties/InfluxAuthParametersSecretArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Timestream::InfluxDBInstance",
+ "writeOnlyProperties": [
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py
index 0d0f3dffc8..86c6352dc7 100644
--- a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py
@@ -466,6 +466,7 @@
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
"AWS::M2::Application",
+ "AWS::M2::Deployment",
"AWS::M2::Environment",
"AWS::MSK::BatchScramSecret",
"AWS::MSK::Cluster",
@@ -677,6 +678,7 @@
"AWS::StepFunctions::StateMachineVersion",
"AWS::Synthetics::Canary",
"AWS::SystemsManagerSAP::Application",
+ "AWS::Timestream::InfluxDBInstance",
"AWS::Transfer::Agreement",
"AWS::Transfer::Certificate",
"AWS::Transfer::Connector",
@@ -834,7 +836,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -916,7 +917,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1139,14 +1139,10 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-m2-application.json",
- "aws-m2-environment.json",
+ "aws-m2-deployment.json",
"aws-memorydb-acl.json",
"aws-memorydb-parametergroup.json",
"aws-memorydb-subnetgroup.json",
@@ -1197,7 +1193,6 @@
"aws-pcaconnectorscep-connector.json",
"aws-pipes-pipe.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
@@ -1224,7 +1219,6 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
- "aws-redshiftserverless-workgroup.json",
"aws-rekognition-collection.json",
"aws-resourceexplorer2-defaultviewassociation.json",
"aws-resourceexplorer2-index.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-redshiftserverless-workgroup.json
new file mode 100644
index 0000000000..60a6356907
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-redshiftserverless-workgroup.json
@@ -0,0 +1,312 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/WorkgroupName",
+ "/properties/NamespaceName"
+ ],
+ "definitions": {
+ "ConfigParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterKey": {
+ "maxLength": 255,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ParameterValue": {
+ "maxLength": 15000,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "VpcEndpoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/VpcEndpoint"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkInterface": {
+ "additionalProperties": false,
+ "properties": {
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ },
+ "SubnetId": {
+ "format": "AWS::EC2::Subnet.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "VpcEndpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkInterfaces": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "type": "array"
+ },
+ "VpcEndpointId": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Workgroup": {
+ "additionalProperties": false,
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CreationDate": {
+ "type": "string"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "EnhancedVpcRouting": {
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]+$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "$ref": "#/definitions/WorkgroupStatus"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "WorkgroupArn": {
+ "type": "string"
+ },
+ "WorkgroupId": {
+ "type": "string"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]*$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "WorkgroupStatus": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "MODIFYING",
+ "DELETING"
+ ],
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/WorkgroupName"
+ ],
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "EnhancedVpcRouting": {
+ "default": false,
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array"
+ },
+ "Workgroup": {
+ "$ref": "#/definitions/Workgroup"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Workgroup",
+ "/properties/Workgroup/WorkgroupId",
+ "/properties/Workgroup/WorkgroupArn",
+ "/properties/Workgroup/WorkgroupName",
+ "/properties/Workgroup/NamespaceName",
+ "/properties/Workgroup/BaseCapacity",
+ "/properties/Workgroup/MaxCapacity",
+ "/properties/Workgroup/EnhancedVpcRouting",
+ "/properties/Workgroup/ConfigParameters/*/ParameterKey",
+ "/properties/Workgroup/ConfigParameters/*/ParameterValue",
+ "/properties/Workgroup/SecurityGroupIds",
+ "/properties/Workgroup/SubnetIds",
+ "/properties/Workgroup/Status",
+ "/properties/Workgroup/Endpoint/Address",
+ "/properties/Workgroup/Endpoint/Port",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone",
+ "/properties/Workgroup/PubliclyAccessible",
+ "/properties/Workgroup/CreationDate"
+ ],
+ "required": [
+ "WorkgroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RedshiftServerless::Workgroup",
+ "writeOnlyProperties": [
+ "/properties/BaseCapacity",
+ "/properties/MaxCapacity",
+ "/properties/ConfigParameters",
+ "/properties/SecurityGroupIds",
+ "/properties/SubnetIds"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-timestream-influxdbinstance.json
new file mode 100644
index 0000000000..3cd225dc53
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-timestream-influxdbinstance.json
@@ -0,0 +1,236 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket",
+ "/properties/VpcSubnetIds",
+ "/properties/VpcSecurityGroupIds",
+ "/properties/PubliclyAccessible",
+ "/properties/DbStorageType",
+ "/properties/AllocatedStorage"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllocatedStorage": {
+ "maximum": 16384,
+ "minimum": 20,
+ "type": "integer"
+ },
+ "Arn": {
+ "maxLength": 1011,
+ "minLength": 1,
+ "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$",
+ "type": "string"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "Bucket": {
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[^_][^\"]*$",
+ "type": "string"
+ },
+ "DbInstanceType": {
+ "enum": [
+ "db.influx.medium",
+ "db.influx.large",
+ "db.influx.xlarge",
+ "db.influx.2xlarge",
+ "db.influx.4xlarge",
+ "db.influx.8xlarge",
+ "db.influx.12xlarge",
+ "db.influx.16xlarge"
+ ],
+ "type": "string"
+ },
+ "DbParameterGroupIdentifier": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "DbStorageType": {
+ "enum": [
+ "InfluxIOIncludedT1",
+ "InfluxIOIncludedT2",
+ "InfluxIOIncludedT3"
+ ],
+ "type": "string"
+ },
+ "DeploymentType": {
+ "enum": [
+ "SINGLE_AZ",
+ "WITH_MULTIAZ_STANDBY"
+ ],
+ "type": "string"
+ },
+ "Endpoint": {
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "InfluxAuthParametersSecretArn": {
+ "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*",
+ "type": "string"
+ },
+ "LogDeliveryConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "S3Configuration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketName": {
+ "maxLength": 63,
+ "minLength": 3,
+ "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enabled",
+ "BucketName"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "Name": {
+ "maxLength": 40,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$",
+ "type": "string"
+ },
+ "Organization": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Password": {
+ "maxLength": 64,
+ "minLength": 8,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "Port": {
+ "maximum": 65535,
+ "minimum": 1024,
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecondaryAvailabilityZone": {
+ "type": "string"
+ },
+ "Status": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "DELETING",
+ "MODIFYING",
+ "UPDATING",
+ "UPDATING_DEPLOYMENT_TYPE",
+ "UPDATING_INSTANCE_TYPE",
+ "DELETED",
+ "FAILED"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Username": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "VpcSecurityGroupIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ },
+ "VpcSubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Status",
+ "/properties/Arn",
+ "/properties/Id",
+ "/properties/AvailabilityZone",
+ "/properties/Endpoint",
+ "/properties/SecondaryAvailabilityZone",
+ "/properties/InfluxAuthParametersSecretArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Timestream::InfluxDBInstance",
+ "writeOnlyProperties": [
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py
index ea9b3b34a4..7e81a69cdd 100644
--- a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py
@@ -649,6 +649,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -780,6 +781,7 @@
"AWS::Logs::QueryDefinition",
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
+ "AWS::Logs::Transformer",
"AWS::LookoutEquipment::InferenceScheduler",
"AWS::LookoutMetrics::Alert",
"AWS::LookoutMetrics::AnomalyDetector",
@@ -869,6 +871,7 @@
"AWS::NetworkManager::CoreNetwork",
"AWS::NetworkManager::CustomerGatewayAssociation",
"AWS::NetworkManager::Device",
+ "AWS::NetworkManager::DirectConnectGatewayAttachment",
"AWS::NetworkManager::GlobalNetwork",
"AWS::NetworkManager::Link",
"AWS::NetworkManager::LinkAssociation",
@@ -1904,6 +1907,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1976,6 +1980,7 @@
"aws-kafkaconnect-workerconfiguration.json",
"aws-kendra-datasource.json",
"aws-kendra-faq.json",
+ "aws-kendra-index.json",
"aws-kendraranking-executionplan.json",
"aws-kinesis-resourcepolicy.json",
"aws-kinesis-stream.json",
@@ -2046,6 +2051,7 @@
"aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
"aws-logs-subscriptionfilter.json",
+ "aws-logs-transformer.json",
"aws-lookoutequipment-inferencescheduler.json",
"aws-lookoutmetrics-alert.json",
"aws-lookoutmetrics-anomalydetector.json",
@@ -2134,6 +2140,7 @@
"aws-networkmanager-corenetwork.json",
"aws-networkmanager-customergatewayassociation.json",
"aws-networkmanager-device.json",
+ "aws-networkmanager-directconnectgatewayattachment.json",
"aws-networkmanager-globalnetwork.json",
"aws-networkmanager-link.json",
"aws-networkmanager-linkassociation.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-kendra-index.json
deleted file mode 100644
index 1dfc2d6d88..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-kendra-index.json
+++ /dev/null
@@ -1,394 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Edition",
- "/properties/ServerSideEncryptionConfiguration"
- ],
- "definitions": {
- "Arn": {
- "maxLength": 1000,
- "type": "string"
- },
- "CapacityUnitsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "QueryCapacityUnits": {
- "$ref": "#/definitions/QueryCapacityUnits"
- },
- "StorageCapacityUnits": {
- "$ref": "#/definitions/StorageCapacityUnits"
- }
- },
- "required": [
- "StorageCapacityUnits",
- "QueryCapacityUnits"
- ],
- "type": "object"
- },
- "ClaimRegex": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Description": {
- "maxLength": 1000,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "DocumentAttributeValueType": {
- "enum": [
- "STRING_VALUE",
- "STRING_LIST_VALUE",
- "LONG_VALUE",
- "DATE_VALUE"
- ],
- "type": "string"
- },
- "DocumentMetadataConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "$ref": "#/definitions/DocumentMetadataConfigurationName"
- },
- "Relevance": {
- "$ref": "#/definitions/Relevance"
- },
- "Search": {
- "$ref": "#/definitions/Search"
- },
- "Type": {
- "$ref": "#/definitions/DocumentAttributeValueType"
- }
- },
- "required": [
- "Name",
- "Type"
- ],
- "type": "object"
- },
- "DocumentMetadataConfigurationList": {
- "items": {
- "$ref": "#/definitions/DocumentMetadataConfiguration"
- },
- "maxItems": 500,
- "type": "array"
- },
- "DocumentMetadataConfigurationName": {
- "maxLength": 30,
- "minLength": 1,
- "type": "string"
- },
- "Duration": {
- "maxLength": 10,
- "minLength": 1,
- "pattern": "[0-9]+[s]",
- "type": "string"
- },
- "Edition": {
- "enum": [
- "DEVELOPER_EDITION",
- "ENTERPRISE_EDITION"
- ],
- "type": "string"
- },
- "Freshness": {
- "type": "boolean"
- },
- "GroupAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Id": {
- "maxLength": 36,
- "minLength": 36,
- "type": "string"
- },
- "Importance": {
- "maximum": 10,
- "minimum": 1,
- "type": "integer"
- },
- "Issuer": {
- "maxLength": 65,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "JsonTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "UserNameAttributeField",
- "GroupAttributeField"
- ],
- "type": "object"
- },
- "JwtTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ClaimRegex": {
- "$ref": "#/definitions/ClaimRegex"
- },
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "Issuer": {
- "$ref": "#/definitions/Issuer"
- },
- "KeyLocation": {
- "$ref": "#/definitions/KeyLocation"
- },
- "SecretManagerArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "URL": {
- "$ref": "#/definitions/Url"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "KeyLocation"
- ],
- "type": "object"
- },
- "KeyLocation": {
- "enum": [
- "URL",
- "SECRET_MANAGER"
- ],
- "type": "string"
- },
- "KmsKeyId": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 1000,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*",
- "type": "string"
- },
- "Order": {
- "enum": [
- "ASCENDING",
- "DESCENDING"
- ],
- "type": "string"
- },
- "QueryCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Relevance": {
- "additionalProperties": false,
- "properties": {
- "Duration": {
- "$ref": "#/definitions/Duration"
- },
- "Freshness": {
- "$ref": "#/definitions/Freshness"
- },
- "Importance": {
- "$ref": "#/definitions/Importance"
- },
- "RankOrder": {
- "$ref": "#/definitions/Order"
- },
- "ValueImportanceItems": {
- "$ref": "#/definitions/ValueImportanceItems"
- }
- },
- "type": "object"
- },
- "RoleArn": {
- "maxLength": 1284,
- "minLength": 1,
- "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
- "type": "string"
- },
- "Search": {
- "additionalProperties": false,
- "properties": {
- "Displayable": {
- "type": "boolean"
- },
- "Facetable": {
- "type": "boolean"
- },
- "Searchable": {
- "type": "boolean"
- },
- "Sortable": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ServerSideEncryptionConfiguration": {
- "additionalProperties": false,
- "properties": {
- "KmsKeyId": {
- "$ref": "#/definitions/KmsKeyId"
- }
- },
- "type": "object"
- },
- "StorageCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TagList": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 200,
- "type": "array"
- },
- "Url": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)",
- "type": "string"
- },
- "UserContextPolicy": {
- "enum": [
- "ATTRIBUTE_FILTER",
- "USER_TOKEN"
- ],
- "type": "string"
- },
- "UserNameAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "UserTokenConfiguration": {
- "additionalProperties": false,
- "properties": {
- "JsonTokenTypeConfiguration": {
- "$ref": "#/definitions/JsonTokenTypeConfiguration"
- },
- "JwtTokenTypeConfiguration": {
- "$ref": "#/definitions/JwtTokenTypeConfiguration"
- }
- },
- "type": "object"
- },
- "UserTokenConfigurationList": {
- "items": {
- "$ref": "#/definitions/UserTokenConfiguration"
- },
- "maxItems": 1,
- "type": "array"
- },
- "ValueImportanceItem": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "$ref": "#/definitions/ValueImportanceItemKey"
- },
- "Value": {
- "$ref": "#/definitions/Importance"
- }
- },
- "type": "object"
- },
- "ValueImportanceItemKey": {
- "maxLength": 50,
- "minLength": 1,
- "type": "string"
- },
- "ValueImportanceItems": {
- "items": {
- "$ref": "#/definitions/ValueImportanceItem"
- },
- "type": "array"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "$ref": "#/definitions/Arn"
- },
- "CapacityUnits": {
- "$ref": "#/definitions/CapacityUnitsConfiguration"
- },
- "Description": {
- "$ref": "#/definitions/Description"
- },
- "DocumentMetadataConfigurations": {
- "$ref": "#/definitions/DocumentMetadataConfigurationList"
- },
- "Edition": {
- "$ref": "#/definitions/Edition"
- },
- "Id": {
- "$ref": "#/definitions/Id"
- },
- "Name": {
- "$ref": "#/definitions/Name"
- },
- "RoleArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "ServerSideEncryptionConfiguration": {
- "$ref": "#/definitions/ServerSideEncryptionConfiguration"
- },
- "Tags": {
- "$ref": "#/definitions/TagList"
- },
- "UserContextPolicy": {
- "$ref": "#/definitions/UserContextPolicy"
- },
- "UserTokenConfigurations": {
- "$ref": "#/definitions/UserTokenConfigurationList"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn"
- ],
- "required": [
- "Name",
- "RoleArn",
- "Edition"
- ],
- "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html",
- "typeName": "AWS::Kendra::Index"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py
index c3c139b096..61bad39332 100644
--- a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py
@@ -642,6 +642,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -744,6 +745,7 @@
"AWS::Logs::QueryDefinition",
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
+ "AWS::Logs::Transformer",
"AWS::M2::Application",
"AWS::M2::Deployment",
"AWS::M2::Environment",
@@ -800,6 +802,7 @@
"AWS::MediaStore::Container",
"AWS::MemoryDB::ACL",
"AWS::MemoryDB::Cluster",
+ "AWS::MemoryDB::MultiRegionCluster",
"AWS::MemoryDB::ParameterGroup",
"AWS::MemoryDB::SubnetGroup",
"AWS::MemoryDB::User",
@@ -821,6 +824,7 @@
"AWS::NetworkManager::CoreNetwork",
"AWS::NetworkManager::CustomerGatewayAssociation",
"AWS::NetworkManager::Device",
+ "AWS::NetworkManager::DirectConnectGatewayAttachment",
"AWS::NetworkManager::GlobalNetwork",
"AWS::NetworkManager::Link",
"AWS::NetworkManager::LinkAssociation",
@@ -1121,6 +1125,7 @@
"AWS::Synthetics::Canary",
"AWS::Synthetics::Group",
"AWS::SystemsManagerSAP::Application",
+ "AWS::Timestream::InfluxDBInstance",
"AWS::Transfer::Agreement",
"AWS::Transfer::Certificate",
"AWS::Transfer::Connector",
@@ -1229,6 +1234,7 @@
"aws-apigateway-documentationversion.json",
"aws-apigateway-domainname.json",
"aws-apigateway-domainnameaccessassociation.json",
+ "aws-apigateway-domainnamev2.json",
"aws-apigateway-gatewayresponse.json",
"aws-apigateway-method.json",
"aws-apigateway-model.json",
@@ -1382,12 +1388,12 @@
"aws-cloudformation-resourceversion.json",
"aws-cloudformation-stack.json",
"aws-cloudformation-stackset.json",
+ "aws-cloudformation-typeactivation.json",
"aws-cloudformation-waitcondition.json",
"aws-cloudformation-waitconditionhandle.json",
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -1830,6 +1836,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1864,6 +1871,7 @@
"aws-kafkaconnect-workerconfiguration.json",
"aws-kendra-datasource.json",
"aws-kendra-faq.json",
+ "aws-kendra-index.json",
"aws-kinesis-resourcepolicy.json",
"aws-kinesis-stream.json",
"aws-kinesis-streamconsumer.json",
@@ -1933,9 +1941,9 @@
"aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
"aws-logs-subscriptionfilter.json",
+ "aws-logs-transformer.json",
"aws-m2-application.json",
"aws-m2-deployment.json",
- "aws-m2-environment.json",
"aws-macie-allowlist.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
@@ -1978,6 +1986,8 @@
"aws-mediapackagev2-originendpointpolicy.json",
"aws-mediastore-container.json",
"aws-memorydb-acl.json",
+ "aws-memorydb-cluster.json",
+ "aws-memorydb-multiregioncluster.json",
"aws-memorydb-parametergroup.json",
"aws-memorydb-subnetgroup.json",
"aws-memorydb-user.json",
@@ -1985,7 +1995,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
@@ -2007,6 +2016,7 @@
"aws-networkmanager-corenetwork.json",
"aws-networkmanager-customergatewayassociation.json",
"aws-networkmanager-device.json",
+ "aws-networkmanager-directconnectgatewayattachment.json",
"aws-networkmanager-globalnetwork.json",
"aws-networkmanager-link.json",
"aws-networkmanager-linkassociation.json",
@@ -2115,7 +2125,6 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
- "aws-redshiftserverless-workgroup.json",
"aws-refactorspaces-application.json",
"aws-refactorspaces-environment.json",
"aws-refactorspaces-route.json",
@@ -2361,6 +2370,7 @@
"aws-wisdom-messagetemplateversion.json",
"aws-workspaces-connectionalias.json",
"aws-workspaces-workspace.json",
+ "aws-workspaces-workspacespool.json",
"aws-workspacesthinclient-environment.json",
"aws-workspacesweb-browsersettings.json",
"aws-workspacesweb-dataprotectionsettings.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-apigateway-domainnamev2.json
deleted file mode 100644
index 04d35d51f4..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-apigateway-domainnamev2.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DomainName",
- "/properties/SecurityPolicy",
- "/properties/EndpointConfiguration"
- ],
- "definitions": {
- "EndpointConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Types": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/DomainNameArn"
- ],
- "properties": {
- "CertificateArn": {
- "type": "string"
- },
- "DomainName": {
- "type": "string"
- },
- "DomainNameArn": {
- "type": "string"
- },
- "DomainNameId": {
- "type": "string"
- },
- "EndpointConfiguration": {
- "$ref": "#/definitions/EndpointConfiguration"
- },
- "ManagementPolicy": {
- "type": [
- "object",
- "string"
- ]
- },
- "Policy": {
- "type": [
- "object",
- "string"
- ]
- },
- "SecurityPolicy": {
- "type": "string"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/DomainNameId",
- "/properties/DomainNameArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ApiGateway::DomainNameV2"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudformation-typeactivation.json
deleted file mode 100644
index 730262bfac..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudformation-typeactivation.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ExecutionRoleArn",
- "/properties/LoggingConfig",
- "/properties/TypeNameAlias",
- "/properties/TypeName",
- "/properties/Type",
- "/properties/PublisherId",
- "/properties/PublicTypeArn"
- ],
- "definitions": {
- "LoggingConfig": {
- "additionalProperties": false,
- "properties": {
- "LogGroupName": {
- "maxLength": 512,
- "minLength": 1,
- "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
- "type": "string"
- },
- "LogRoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "oneOf": [
- {
- "required": [
- "TypeName",
- "PublisherId",
- "Type"
- ]
- },
- {
- "required": [
- "PublicTypeArn"
- ]
- }
- ],
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "AutoUpdate": {
- "type": "boolean"
- },
- "ExecutionRoleArn": {
- "type": "string"
- },
- "LoggingConfig": {
- "$ref": "#/definitions/LoggingConfig"
- },
- "MajorVersion": {
- "maxLength": 100000,
- "minLength": 1,
- "type": "string"
- },
- "PublicTypeArn": {
- "maxLength": 1024,
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "PublisherId": {
- "maxLength": 40,
- "minLength": 1,
- "pattern": "[0-9a-zA-Z-]{40}",
- "type": "string"
- },
- "Type": {
- "enum": [
- "RESOURCE",
- "MODULE",
- "HOOK"
- ],
- "type": "string"
- },
- "TypeName": {
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "TypeNameAlias": {
- "maxLength": 204,
- "minLength": 10,
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "VersionBump": {
- "enum": [
- "MAJOR",
- "MINOR"
- ],
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation",
- "typeName": "AWS::CloudFormation::TypeActivation"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-kendra-index.json
deleted file mode 100644
index 1dfc2d6d88..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-kendra-index.json
+++ /dev/null
@@ -1,394 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Edition",
- "/properties/ServerSideEncryptionConfiguration"
- ],
- "definitions": {
- "Arn": {
- "maxLength": 1000,
- "type": "string"
- },
- "CapacityUnitsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "QueryCapacityUnits": {
- "$ref": "#/definitions/QueryCapacityUnits"
- },
- "StorageCapacityUnits": {
- "$ref": "#/definitions/StorageCapacityUnits"
- }
- },
- "required": [
- "StorageCapacityUnits",
- "QueryCapacityUnits"
- ],
- "type": "object"
- },
- "ClaimRegex": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Description": {
- "maxLength": 1000,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "DocumentAttributeValueType": {
- "enum": [
- "STRING_VALUE",
- "STRING_LIST_VALUE",
- "LONG_VALUE",
- "DATE_VALUE"
- ],
- "type": "string"
- },
- "DocumentMetadataConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "$ref": "#/definitions/DocumentMetadataConfigurationName"
- },
- "Relevance": {
- "$ref": "#/definitions/Relevance"
- },
- "Search": {
- "$ref": "#/definitions/Search"
- },
- "Type": {
- "$ref": "#/definitions/DocumentAttributeValueType"
- }
- },
- "required": [
- "Name",
- "Type"
- ],
- "type": "object"
- },
- "DocumentMetadataConfigurationList": {
- "items": {
- "$ref": "#/definitions/DocumentMetadataConfiguration"
- },
- "maxItems": 500,
- "type": "array"
- },
- "DocumentMetadataConfigurationName": {
- "maxLength": 30,
- "minLength": 1,
- "type": "string"
- },
- "Duration": {
- "maxLength": 10,
- "minLength": 1,
- "pattern": "[0-9]+[s]",
- "type": "string"
- },
- "Edition": {
- "enum": [
- "DEVELOPER_EDITION",
- "ENTERPRISE_EDITION"
- ],
- "type": "string"
- },
- "Freshness": {
- "type": "boolean"
- },
- "GroupAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Id": {
- "maxLength": 36,
- "minLength": 36,
- "type": "string"
- },
- "Importance": {
- "maximum": 10,
- "minimum": 1,
- "type": "integer"
- },
- "Issuer": {
- "maxLength": 65,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "JsonTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "UserNameAttributeField",
- "GroupAttributeField"
- ],
- "type": "object"
- },
- "JwtTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ClaimRegex": {
- "$ref": "#/definitions/ClaimRegex"
- },
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "Issuer": {
- "$ref": "#/definitions/Issuer"
- },
- "KeyLocation": {
- "$ref": "#/definitions/KeyLocation"
- },
- "SecretManagerArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "URL": {
- "$ref": "#/definitions/Url"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "KeyLocation"
- ],
- "type": "object"
- },
- "KeyLocation": {
- "enum": [
- "URL",
- "SECRET_MANAGER"
- ],
- "type": "string"
- },
- "KmsKeyId": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 1000,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*",
- "type": "string"
- },
- "Order": {
- "enum": [
- "ASCENDING",
- "DESCENDING"
- ],
- "type": "string"
- },
- "QueryCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Relevance": {
- "additionalProperties": false,
- "properties": {
- "Duration": {
- "$ref": "#/definitions/Duration"
- },
- "Freshness": {
- "$ref": "#/definitions/Freshness"
- },
- "Importance": {
- "$ref": "#/definitions/Importance"
- },
- "RankOrder": {
- "$ref": "#/definitions/Order"
- },
- "ValueImportanceItems": {
- "$ref": "#/definitions/ValueImportanceItems"
- }
- },
- "type": "object"
- },
- "RoleArn": {
- "maxLength": 1284,
- "minLength": 1,
- "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
- "type": "string"
- },
- "Search": {
- "additionalProperties": false,
- "properties": {
- "Displayable": {
- "type": "boolean"
- },
- "Facetable": {
- "type": "boolean"
- },
- "Searchable": {
- "type": "boolean"
- },
- "Sortable": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ServerSideEncryptionConfiguration": {
- "additionalProperties": false,
- "properties": {
- "KmsKeyId": {
- "$ref": "#/definitions/KmsKeyId"
- }
- },
- "type": "object"
- },
- "StorageCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TagList": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 200,
- "type": "array"
- },
- "Url": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)",
- "type": "string"
- },
- "UserContextPolicy": {
- "enum": [
- "ATTRIBUTE_FILTER",
- "USER_TOKEN"
- ],
- "type": "string"
- },
- "UserNameAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "UserTokenConfiguration": {
- "additionalProperties": false,
- "properties": {
- "JsonTokenTypeConfiguration": {
- "$ref": "#/definitions/JsonTokenTypeConfiguration"
- },
- "JwtTokenTypeConfiguration": {
- "$ref": "#/definitions/JwtTokenTypeConfiguration"
- }
- },
- "type": "object"
- },
- "UserTokenConfigurationList": {
- "items": {
- "$ref": "#/definitions/UserTokenConfiguration"
- },
- "maxItems": 1,
- "type": "array"
- },
- "ValueImportanceItem": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "$ref": "#/definitions/ValueImportanceItemKey"
- },
- "Value": {
- "$ref": "#/definitions/Importance"
- }
- },
- "type": "object"
- },
- "ValueImportanceItemKey": {
- "maxLength": 50,
- "minLength": 1,
- "type": "string"
- },
- "ValueImportanceItems": {
- "items": {
- "$ref": "#/definitions/ValueImportanceItem"
- },
- "type": "array"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "$ref": "#/definitions/Arn"
- },
- "CapacityUnits": {
- "$ref": "#/definitions/CapacityUnitsConfiguration"
- },
- "Description": {
- "$ref": "#/definitions/Description"
- },
- "DocumentMetadataConfigurations": {
- "$ref": "#/definitions/DocumentMetadataConfigurationList"
- },
- "Edition": {
- "$ref": "#/definitions/Edition"
- },
- "Id": {
- "$ref": "#/definitions/Id"
- },
- "Name": {
- "$ref": "#/definitions/Name"
- },
- "RoleArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "ServerSideEncryptionConfiguration": {
- "$ref": "#/definitions/ServerSideEncryptionConfiguration"
- },
- "Tags": {
- "$ref": "#/definitions/TagList"
- },
- "UserContextPolicy": {
- "$ref": "#/definitions/UserContextPolicy"
- },
- "UserTokenConfigurations": {
- "$ref": "#/definitions/UserTokenConfigurationList"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn"
- ],
- "required": [
- "Name",
- "RoleArn",
- "Edition"
- ],
- "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html",
- "typeName": "AWS::Kendra::Index"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-memorydb-cluster.json
deleted file mode 100644
index cba3a3f129..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-memorydb-cluster.json
+++ /dev/null
@@ -1,195 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ClusterName",
- "/properties/TLSEnabled",
- "/properties/DataTiering",
- "/properties/KmsKeyId",
- "/properties/Port",
- "/properties/SubnetGroupName",
- "/properties/SnapshotArns",
- "/properties/SnapshotName"
- ],
- "definitions": {
- "DataTieringStatus": {
- "enum": [
- "true",
- "false"
- ],
- "type": "string"
- },
- "Endpoint": {
- "additionalProperties": false,
- "properties": {
- "Address": {
- "type": "string"
- },
- "Port": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,128}$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,256}$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ClusterName"
- ],
- "properties": {
- "ACLName": {
- "pattern": "[a-zA-Z][a-zA-Z0-9\\-]*",
- "type": "string"
- },
- "ARN": {
- "type": "string"
- },
- "AutoMinorVersionUpgrade": {
- "type": "boolean"
- },
- "ClusterEndpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "ClusterName": {
- "pattern": "[a-z][a-z0-9\\-]*",
- "type": "string"
- },
- "DataTiering": {
- "$ref": "#/definitions/DataTieringStatus",
- "type": "object"
- },
- "Description": {
- "type": "string"
- },
- "Engine": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "FinalSnapshotName": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "MaintenanceWindow": {
- "type": "string"
- },
- "NodeType": {
- "type": "string"
- },
- "NumReplicasPerShard": {
- "type": "integer"
- },
- "NumShards": {
- "type": "integer"
- },
- "ParameterGroupName": {
- "type": "string"
- },
- "ParameterGroupStatus": {
- "type": "string"
- },
- "Port": {
- "type": "integer"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SnapshotArns": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SnapshotName": {
- "type": "string"
- },
- "SnapshotRetentionLimit": {
- "type": "integer"
- },
- "SnapshotWindow": {
- "type": "string"
- },
- "SnsTopicArn": {
- "type": "string"
- },
- "SnsTopicStatus": {
- "type": "string"
- },
- "Status": {
- "type": "string"
- },
- "SubnetGroupName": {
- "type": "string"
- },
- "TLSEnabled": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/Status",
- "/properties/ClusterEndpoint/Address",
- "/properties/ClusterEndpoint/Port",
- "/properties/ARN",
- "/properties/ParameterGroupStatus"
- ],
- "required": [
- "ClusterName",
- "NodeType",
- "ACLName"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-memorydb",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::MemoryDB::Cluster",
- "writeOnlyProperties": [
- "/properties/SnapshotArns",
- "/properties/SnapshotName",
- "/properties/FinalSnapshotName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-msk-replicator.json
new file mode 100644
index 0000000000..8ca994e218
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-msk-replicator.json
@@ -0,0 +1,321 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "ReplicationTopicNameConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationTopicNameConfigurationType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationTopicNameConfigurationType": {
+ "enum": [
+ "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS",
+ "IDENTICAL"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicNameConfiguration": {
+ "$ref": "#/definitions/ReplicationTopicNameConfiguration"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-redshiftserverless-workgroup.json
new file mode 100644
index 0000000000..60a6356907
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-redshiftserverless-workgroup.json
@@ -0,0 +1,312 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/WorkgroupName",
+ "/properties/NamespaceName"
+ ],
+ "definitions": {
+ "ConfigParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterKey": {
+ "maxLength": 255,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ParameterValue": {
+ "maxLength": 15000,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "VpcEndpoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/VpcEndpoint"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkInterface": {
+ "additionalProperties": false,
+ "properties": {
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ },
+ "SubnetId": {
+ "format": "AWS::EC2::Subnet.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "VpcEndpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkInterfaces": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "type": "array"
+ },
+ "VpcEndpointId": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Workgroup": {
+ "additionalProperties": false,
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CreationDate": {
+ "type": "string"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "EnhancedVpcRouting": {
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]+$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "$ref": "#/definitions/WorkgroupStatus"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "WorkgroupArn": {
+ "type": "string"
+ },
+ "WorkgroupId": {
+ "type": "string"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]*$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "WorkgroupStatus": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "MODIFYING",
+ "DELETING"
+ ],
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/WorkgroupName"
+ ],
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "EnhancedVpcRouting": {
+ "default": false,
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array"
+ },
+ "Workgroup": {
+ "$ref": "#/definitions/Workgroup"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Workgroup",
+ "/properties/Workgroup/WorkgroupId",
+ "/properties/Workgroup/WorkgroupArn",
+ "/properties/Workgroup/WorkgroupName",
+ "/properties/Workgroup/NamespaceName",
+ "/properties/Workgroup/BaseCapacity",
+ "/properties/Workgroup/MaxCapacity",
+ "/properties/Workgroup/EnhancedVpcRouting",
+ "/properties/Workgroup/ConfigParameters/*/ParameterKey",
+ "/properties/Workgroup/ConfigParameters/*/ParameterValue",
+ "/properties/Workgroup/SecurityGroupIds",
+ "/properties/Workgroup/SubnetIds",
+ "/properties/Workgroup/Status",
+ "/properties/Workgroup/Endpoint/Address",
+ "/properties/Workgroup/Endpoint/Port",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone",
+ "/properties/Workgroup/PubliclyAccessible",
+ "/properties/Workgroup/CreationDate"
+ ],
+ "required": [
+ "WorkgroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RedshiftServerless::Workgroup",
+ "writeOnlyProperties": [
+ "/properties/BaseCapacity",
+ "/properties/MaxCapacity",
+ "/properties/ConfigParameters",
+ "/properties/SecurityGroupIds",
+ "/properties/SubnetIds"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-timestream-influxdbinstance.json
new file mode 100644
index 0000000000..3cd225dc53
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-timestream-influxdbinstance.json
@@ -0,0 +1,236 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket",
+ "/properties/VpcSubnetIds",
+ "/properties/VpcSecurityGroupIds",
+ "/properties/PubliclyAccessible",
+ "/properties/DbStorageType",
+ "/properties/AllocatedStorage"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllocatedStorage": {
+ "maximum": 16384,
+ "minimum": 20,
+ "type": "integer"
+ },
+ "Arn": {
+ "maxLength": 1011,
+ "minLength": 1,
+ "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$",
+ "type": "string"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "Bucket": {
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[^_][^\"]*$",
+ "type": "string"
+ },
+ "DbInstanceType": {
+ "enum": [
+ "db.influx.medium",
+ "db.influx.large",
+ "db.influx.xlarge",
+ "db.influx.2xlarge",
+ "db.influx.4xlarge",
+ "db.influx.8xlarge",
+ "db.influx.12xlarge",
+ "db.influx.16xlarge"
+ ],
+ "type": "string"
+ },
+ "DbParameterGroupIdentifier": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "DbStorageType": {
+ "enum": [
+ "InfluxIOIncludedT1",
+ "InfluxIOIncludedT2",
+ "InfluxIOIncludedT3"
+ ],
+ "type": "string"
+ },
+ "DeploymentType": {
+ "enum": [
+ "SINGLE_AZ",
+ "WITH_MULTIAZ_STANDBY"
+ ],
+ "type": "string"
+ },
+ "Endpoint": {
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "InfluxAuthParametersSecretArn": {
+ "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*",
+ "type": "string"
+ },
+ "LogDeliveryConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "S3Configuration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketName": {
+ "maxLength": 63,
+ "minLength": 3,
+ "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enabled",
+ "BucketName"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "Name": {
+ "maxLength": 40,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$",
+ "type": "string"
+ },
+ "Organization": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Password": {
+ "maxLength": 64,
+ "minLength": 8,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "Port": {
+ "maximum": 65535,
+ "minimum": 1024,
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecondaryAvailabilityZone": {
+ "type": "string"
+ },
+ "Status": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "DELETING",
+ "MODIFYING",
+ "UPDATING",
+ "UPDATING_DEPLOYMENT_TYPE",
+ "UPDATING_INSTANCE_TYPE",
+ "DELETED",
+ "FAILED"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Username": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "VpcSecurityGroupIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ },
+ "VpcSubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Status",
+ "/properties/Arn",
+ "/properties/Id",
+ "/properties/AvailabilityZone",
+ "/properties/Endpoint",
+ "/properties/SecondaryAvailabilityZone",
+ "/properties/InfluxAuthParametersSecretArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Timestream::InfluxDBInstance",
+ "writeOnlyProperties": [
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py
index d527316067..c122b00e6f 100644
--- a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py
@@ -524,6 +524,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -608,7 +609,9 @@
"AWS::Logs::QueryDefinition",
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
+ "AWS::Logs::Transformer",
"AWS::M2::Application",
+ "AWS::M2::Deployment",
"AWS::M2::Environment",
"AWS::MSK::BatchScramSecret",
"AWS::MSK::Cluster",
@@ -935,6 +938,7 @@
"AWS::Synthetics::Canary",
"AWS::Synthetics::Group",
"AWS::SystemsManagerSAP::Application",
+ "AWS::Timestream::InfluxDBInstance",
"AWS::Transfer::Agreement",
"AWS::Transfer::Certificate",
"AWS::Transfer::Connector",
@@ -1149,12 +1153,12 @@
"aws-cloudformation-resourceversion.json",
"aws-cloudformation-stack.json",
"aws-cloudformation-stackset.json",
+ "aws-cloudformation-typeactivation.json",
"aws-cloudformation-waitcondition.json",
"aws-cloudformation-waitconditionhandle.json",
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -1276,7 +1280,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1412,7 +1415,6 @@
"aws-emr-studio.json",
"aws-emr-studiosessionmapping.json",
"aws-emrcontainers-virtualcluster.json",
- "aws-emrserverless-application.json",
"aws-events-apidestination.json",
"aws-events-archive.json",
"aws-events-connection.json",
@@ -1502,6 +1504,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1580,8 +1583,9 @@
"aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
"aws-logs-subscriptionfilter.json",
+ "aws-logs-transformer.json",
"aws-m2-application.json",
- "aws-m2-environment.json",
+ "aws-m2-deployment.json",
"aws-macie-allowlist.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
@@ -1630,7 +1634,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
@@ -1676,7 +1679,6 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-pcaconnectorad-serviceprincipalname.json",
"aws-pcaconnectorad-templategroupaccesscontrolentry.json",
@@ -1693,7 +1695,6 @@
"aws-quicksight-theme.json",
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
@@ -1720,7 +1721,6 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
- "aws-redshiftserverless-workgroup.json",
"aws-refactorspaces-application.json",
"aws-refactorspaces-environment.json",
"aws-refactorspaces-route.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudformation-typeactivation.json
deleted file mode 100644
index 730262bfac..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudformation-typeactivation.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ExecutionRoleArn",
- "/properties/LoggingConfig",
- "/properties/TypeNameAlias",
- "/properties/TypeName",
- "/properties/Type",
- "/properties/PublisherId",
- "/properties/PublicTypeArn"
- ],
- "definitions": {
- "LoggingConfig": {
- "additionalProperties": false,
- "properties": {
- "LogGroupName": {
- "maxLength": 512,
- "minLength": 1,
- "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
- "type": "string"
- },
- "LogRoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "oneOf": [
- {
- "required": [
- "TypeName",
- "PublisherId",
- "Type"
- ]
- },
- {
- "required": [
- "PublicTypeArn"
- ]
- }
- ],
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "AutoUpdate": {
- "type": "boolean"
- },
- "ExecutionRoleArn": {
- "type": "string"
- },
- "LoggingConfig": {
- "$ref": "#/definitions/LoggingConfig"
- },
- "MajorVersion": {
- "maxLength": 100000,
- "minLength": 1,
- "type": "string"
- },
- "PublicTypeArn": {
- "maxLength": 1024,
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "PublisherId": {
- "maxLength": 40,
- "minLength": 1,
- "pattern": "[0-9a-zA-Z-]{40}",
- "type": "string"
- },
- "Type": {
- "enum": [
- "RESOURCE",
- "MODULE",
- "HOOK"
- ],
- "type": "string"
- },
- "TypeName": {
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "TypeNameAlias": {
- "maxLength": 204,
- "minLength": 10,
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "VersionBump": {
- "enum": [
- "MAJOR",
- "MINOR"
- ],
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation",
- "typeName": "AWS::CloudFormation::TypeActivation"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-emrserverless-application.json
new file mode 100644
index 0000000000..1a44823941
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-emrserverless-application.json
@@ -0,0 +1,539 @@
+{
+ "additionalProperties": false,
+ "conditionalCreateOnlyProperties": [
+ "/properties/Architecture",
+ "/properties/ReleaseLabel",
+ "/properties/WorkerTypeSpecifications",
+ "/properties/MaximumCapacity",
+ "/properties/InitialCapacity",
+ "/properties/AutoStartConfiguration",
+ "/properties/AutoStopConfiguration",
+ "/properties/NetworkConfiguration",
+ "/properties/ImageConfiguration",
+ "/properties/MonitoringConfiguration",
+ "/properties/RuntimeConfiguration",
+ "/properties/InteractiveConfiguration"
+ ],
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Architecture": {
+ "enum": [
+ "ARM64",
+ "X86_64"
+ ],
+ "type": "string"
+ },
+ "AutoStartConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "AutoStopConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "IdleTimeoutMinutes": {
+ "type": "integer"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "Classification": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "CloudWatchLoggingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ },
+ "LogGroupName": {
+ "$ref": "#/definitions/LogGroupName"
+ },
+ "LogStreamNamePrefix": {
+ "$ref": "#/definitions/LogStreamNamePrefix"
+ },
+ "LogTypeMap": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogTypeMapKeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ },
+ "ConfigurationList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigurationObject"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConfigurationObject": {
+ "additionalProperties": false,
+ "properties": {
+ "Classification": {
+ "$ref": "#/definitions/Classification"
+ },
+ "Configurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigurationObject"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Properties": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": {
+ "$ref": "#/definitions/SensitivePropertiesMap"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "Classification"
+ ],
+ "type": "object"
+ },
+ "CpuSize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$",
+ "type": "string"
+ },
+ "DiskSize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$",
+ "type": "string"
+ },
+ "DiskType": {
+ "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$",
+ "type": "string"
+ },
+ "EncryptionKeyArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "ImageConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "ImageUri": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InitialCapacityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "WorkerConfiguration": {
+ "$ref": "#/definitions/WorkerConfiguration"
+ },
+ "WorkerCount": {
+ "format": "int64",
+ "maximum": 1000000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "WorkerCount",
+ "WorkerConfiguration"
+ ],
+ "type": "object"
+ },
+ "InitialCapacityConfigKeyValuePair": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ },
+ "Value": {
+ "$ref": "#/definitions/InitialCapacityConfig"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "InitialCapacityConfigMap": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/InitialCapacityConfigKeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "InteractiveConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LivyEndpointEnabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "StudioEnabled": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
+ "type": "string"
+ },
+ "LogStreamNamePrefix": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]*$",
+ "type": "string"
+ },
+ "LogTypeList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogTypeString"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "LogTypeMapKeyValuePair": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "$ref": "#/definitions/WorkerTypeString"
+ },
+ "Value": {
+ "$ref": "#/definitions/LogTypeList"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "LogTypeString": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ },
+ "ManagedPersistenceMonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ }
+ }
+ },
+ "MaximumAllowedResources": {
+ "additionalProperties": false,
+ "properties": {
+ "Cpu": {
+ "$ref": "#/definitions/CpuSize"
+ },
+ "Disk": {
+ "$ref": "#/definitions/DiskSize"
+ },
+ "Memory": {
+ "$ref": "#/definitions/MemorySize"
+ }
+ },
+ "required": [
+ "Cpu",
+ "Memory"
+ ],
+ "type": "object"
+ },
+ "MemorySize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$",
+ "type": "string"
+ },
+ "MonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingConfiguration": {
+ "$ref": "#/definitions/CloudWatchLoggingConfiguration"
+ },
+ "ManagedPersistenceMonitoringConfiguration": {
+ "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration"
+ },
+ "S3MonitoringConfiguration": {
+ "$ref": "#/definitions/S3MonitoringConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SecurityGroupId"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SubnetId"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "S3MonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ },
+ "LogUri": {
+ "$ref": "#/definitions/UriString"
+ }
+ }
+ },
+ "SecurityGroupId": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "minLength": 1,
+ "pattern": "[-0-9a-zA-Z]+.*",
+ "type": "string"
+ },
+ "SensitivePropertiesKeyValuePair": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "SensitivePropertiesMap": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "SubnetId": {
+ "maxLength": 32,
+ "minLength": 1,
+ "pattern": "[-0-9a-zA-Z]+.*",
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9 /_.:=+@-]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[A-Za-z0-9 /_.:=+@-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UriString": {
+ "maxLength": 10280,
+ "minLength": 1,
+ "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*",
+ "type": "string"
+ },
+ "WorkerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Cpu": {
+ "$ref": "#/definitions/CpuSize"
+ },
+ "Disk": {
+ "$ref": "#/definitions/DiskSize"
+ },
+ "DiskType": {
+ "$ref": "#/definitions/DiskType"
+ },
+ "Memory": {
+ "$ref": "#/definitions/MemorySize"
+ }
+ },
+ "required": [
+ "Cpu",
+ "Memory"
+ ],
+ "type": "object"
+ },
+ "WorkerTypeSpecificationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "ImageConfiguration": {
+ "$ref": "#/definitions/ImageConfigurationInput"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerTypeSpecificationInputMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[a-zA-Z]+[-_]*[a-zA-Z]+$": {
+ "$ref": "#/definitions/WorkerTypeSpecificationInput"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerTypeString": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ApplicationId"
+ ],
+ "properties": {
+ "ApplicationId": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Architecture": {
+ "$ref": "#/definitions/Architecture"
+ },
+ "Arn": {
+ "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$",
+ "type": "string"
+ },
+ "AutoStartConfiguration": {
+ "$ref": "#/definitions/AutoStartConfiguration"
+ },
+ "AutoStopConfiguration": {
+ "$ref": "#/definitions/AutoStopConfiguration"
+ },
+ "ImageConfiguration": {
+ "$ref": "#/definitions/ImageConfigurationInput"
+ },
+ "InitialCapacity": {
+ "$ref": "#/definitions/InitialCapacityConfigMap"
+ },
+ "InteractiveConfiguration": {
+ "$ref": "#/definitions/InteractiveConfiguration"
+ },
+ "MaximumCapacity": {
+ "$ref": "#/definitions/MaximumAllowedResources"
+ },
+ "MonitoringConfiguration": {
+ "$ref": "#/definitions/MonitoringConfiguration"
+ },
+ "Name": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9._\\/#-]+$",
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "ReleaseLabel": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9._/-]+$",
+ "type": "string"
+ },
+ "RuntimeConfiguration": {
+ "$ref": "#/definitions/ConfigurationList"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "type": "string"
+ },
+ "WorkerTypeSpecifications": {
+ "$ref": "#/definitions/WorkerTypeSpecificationInputMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/ApplicationId"
+ ],
+ "required": [
+ "ReleaseLabel",
+ "Type"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EMRServerless::Application"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-msk-replicator.json
new file mode 100644
index 0000000000..8ca994e218
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-msk-replicator.json
@@ -0,0 +1,321 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "ReplicationTopicNameConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationTopicNameConfigurationType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationTopicNameConfigurationType": {
+ "enum": [
+ "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS",
+ "IDENTICAL"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicNameConfiguration": {
+ "$ref": "#/definitions/ReplicationTopicNameConfiguration"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-redshiftserverless-workgroup.json
new file mode 100644
index 0000000000..60a6356907
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-redshiftserverless-workgroup.json
@@ -0,0 +1,312 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/WorkgroupName",
+ "/properties/NamespaceName"
+ ],
+ "definitions": {
+ "ConfigParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterKey": {
+ "maxLength": 255,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ParameterValue": {
+ "maxLength": 15000,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "VpcEndpoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/VpcEndpoint"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkInterface": {
+ "additionalProperties": false,
+ "properties": {
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ },
+ "SubnetId": {
+ "format": "AWS::EC2::Subnet.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "VpcEndpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkInterfaces": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "type": "array"
+ },
+ "VpcEndpointId": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Workgroup": {
+ "additionalProperties": false,
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CreationDate": {
+ "type": "string"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "EnhancedVpcRouting": {
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]+$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "$ref": "#/definitions/WorkgroupStatus"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "WorkgroupArn": {
+ "type": "string"
+ },
+ "WorkgroupId": {
+ "type": "string"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]*$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "WorkgroupStatus": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "MODIFYING",
+ "DELETING"
+ ],
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/WorkgroupName"
+ ],
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "EnhancedVpcRouting": {
+ "default": false,
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array"
+ },
+ "Workgroup": {
+ "$ref": "#/definitions/Workgroup"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Workgroup",
+ "/properties/Workgroup/WorkgroupId",
+ "/properties/Workgroup/WorkgroupArn",
+ "/properties/Workgroup/WorkgroupName",
+ "/properties/Workgroup/NamespaceName",
+ "/properties/Workgroup/BaseCapacity",
+ "/properties/Workgroup/MaxCapacity",
+ "/properties/Workgroup/EnhancedVpcRouting",
+ "/properties/Workgroup/ConfigParameters/*/ParameterKey",
+ "/properties/Workgroup/ConfigParameters/*/ParameterValue",
+ "/properties/Workgroup/SecurityGroupIds",
+ "/properties/Workgroup/SubnetIds",
+ "/properties/Workgroup/Status",
+ "/properties/Workgroup/Endpoint/Address",
+ "/properties/Workgroup/Endpoint/Port",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone",
+ "/properties/Workgroup/PubliclyAccessible",
+ "/properties/Workgroup/CreationDate"
+ ],
+ "required": [
+ "WorkgroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RedshiftServerless::Workgroup",
+ "writeOnlyProperties": [
+ "/properties/BaseCapacity",
+ "/properties/MaxCapacity",
+ "/properties/ConfigParameters",
+ "/properties/SecurityGroupIds",
+ "/properties/SubnetIds"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-timestream-influxdbinstance.json
new file mode 100644
index 0000000000..3cd225dc53
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-timestream-influxdbinstance.json
@@ -0,0 +1,236 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket",
+ "/properties/VpcSubnetIds",
+ "/properties/VpcSecurityGroupIds",
+ "/properties/PubliclyAccessible",
+ "/properties/DbStorageType",
+ "/properties/AllocatedStorage"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllocatedStorage": {
+ "maximum": 16384,
+ "minimum": 20,
+ "type": "integer"
+ },
+ "Arn": {
+ "maxLength": 1011,
+ "minLength": 1,
+ "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$",
+ "type": "string"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "Bucket": {
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[^_][^\"]*$",
+ "type": "string"
+ },
+ "DbInstanceType": {
+ "enum": [
+ "db.influx.medium",
+ "db.influx.large",
+ "db.influx.xlarge",
+ "db.influx.2xlarge",
+ "db.influx.4xlarge",
+ "db.influx.8xlarge",
+ "db.influx.12xlarge",
+ "db.influx.16xlarge"
+ ],
+ "type": "string"
+ },
+ "DbParameterGroupIdentifier": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "DbStorageType": {
+ "enum": [
+ "InfluxIOIncludedT1",
+ "InfluxIOIncludedT2",
+ "InfluxIOIncludedT3"
+ ],
+ "type": "string"
+ },
+ "DeploymentType": {
+ "enum": [
+ "SINGLE_AZ",
+ "WITH_MULTIAZ_STANDBY"
+ ],
+ "type": "string"
+ },
+ "Endpoint": {
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "InfluxAuthParametersSecretArn": {
+ "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*",
+ "type": "string"
+ },
+ "LogDeliveryConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "S3Configuration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketName": {
+ "maxLength": 63,
+ "minLength": 3,
+ "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enabled",
+ "BucketName"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "Name": {
+ "maxLength": 40,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$",
+ "type": "string"
+ },
+ "Organization": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Password": {
+ "maxLength": 64,
+ "minLength": 8,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "Port": {
+ "maximum": 65535,
+ "minimum": 1024,
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecondaryAvailabilityZone": {
+ "type": "string"
+ },
+ "Status": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "DELETING",
+ "MODIFYING",
+ "UPDATING",
+ "UPDATING_DEPLOYMENT_TYPE",
+ "UPDATING_INSTANCE_TYPE",
+ "DELETED",
+ "FAILED"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Username": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "VpcSecurityGroupIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ },
+ "VpcSubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Status",
+ "/properties/Arn",
+ "/properties/Id",
+ "/properties/AvailabilityZone",
+ "/properties/Endpoint",
+ "/properties/SecondaryAvailabilityZone",
+ "/properties/InfluxAuthParametersSecretArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Timestream::InfluxDBInstance",
+ "writeOnlyProperties": [
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py
index e8203776ae..ddef3ff15b 100644
--- a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py
@@ -448,6 +448,7 @@
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
"AWS::M2::Application",
+ "AWS::M2::Deployment",
"AWS::M2::Environment",
"AWS::MSK::BatchScramSecret",
"AWS::MSK::Cluster",
@@ -470,13 +471,21 @@
"AWS::NetworkFirewall::LoggingConfiguration",
"AWS::NetworkFirewall::RuleGroup",
"AWS::NetworkFirewall::TLSInspectionConfiguration",
+ "AWS::NetworkManager::ConnectAttachment",
+ "AWS::NetworkManager::ConnectPeer",
+ "AWS::NetworkManager::CoreNetwork",
"AWS::NetworkManager::CustomerGatewayAssociation",
"AWS::NetworkManager::Device",
+ "AWS::NetworkManager::DirectConnectGatewayAttachment",
"AWS::NetworkManager::GlobalNetwork",
"AWS::NetworkManager::Link",
"AWS::NetworkManager::LinkAssociation",
"AWS::NetworkManager::Site",
+ "AWS::NetworkManager::SiteToSiteVpnAttachment",
+ "AWS::NetworkManager::TransitGatewayPeering",
"AWS::NetworkManager::TransitGatewayRegistration",
+ "AWS::NetworkManager::TransitGatewayRouteTableAttachment",
+ "AWS::NetworkManager::VpcAttachment",
"AWS::Oam::Link",
"AWS::Oam::Sink",
"AWS::Omics::AnnotationStore",
@@ -810,7 +819,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -892,7 +900,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -966,6 +973,7 @@
"aws-ec2-vpcendpointservicepermissions.json",
"aws-ec2-vpcgatewayattachment.json",
"aws-ec2-vpcpeeringconnection.json",
+ "aws-ec2-vpnconnection.json",
"aws-ec2-vpnconnectionroute.json",
"aws-ec2-vpngateway.json",
"aws-ecr-pullthroughcacherule.json",
@@ -995,6 +1003,7 @@
"aws-elasticache-replicationgroup.json",
"aws-elasticache-securitygroup.json",
"aws-elasticache-securitygroupingress.json",
+ "aws-elasticache-serverlesscache.json",
"aws-elasticache-user.json",
"aws-elasticloadbalancing-loadbalancer.json",
"aws-elasticloadbalancingv2-listener.json",
@@ -1094,14 +1103,10 @@
"aws-logs-deliverydestination.json",
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-m2-application.json",
- "aws-m2-environment.json",
+ "aws-m2-deployment.json",
"aws-macie-allowlist.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
@@ -1120,13 +1125,21 @@
"aws-networkfirewall-loggingconfiguration.json",
"aws-networkfirewall-rulegroup.json",
"aws-networkfirewall-tlsinspectionconfiguration.json",
+ "aws-networkmanager-connectattachment.json",
+ "aws-networkmanager-connectpeer.json",
+ "aws-networkmanager-corenetwork.json",
"aws-networkmanager-customergatewayassociation.json",
"aws-networkmanager-device.json",
+ "aws-networkmanager-directconnectgatewayattachment.json",
"aws-networkmanager-globalnetwork.json",
"aws-networkmanager-link.json",
"aws-networkmanager-linkassociation.json",
"aws-networkmanager-site.json",
+ "aws-networkmanager-sitetositevpnattachment.json",
+ "aws-networkmanager-transitgatewaypeering.json",
"aws-networkmanager-transitgatewayregistration.json",
+ "aws-networkmanager-transitgatewayroutetableattachment.json",
+ "aws-networkmanager-vpcattachment.json",
"aws-oam-link.json",
"aws-oam-sink.json",
"aws-omics-annotationstore.json",
@@ -1142,12 +1155,10 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-pcaconnectorscep-challenge.json",
"aws-pcaconnectorscep-connector.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
@@ -1174,7 +1185,6 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
- "aws-redshiftserverless-workgroup.json",
"aws-rekognition-collection.json",
"aws-resourceexplorer2-defaultviewassociation.json",
"aws-resourceexplorer2-index.json",
@@ -1217,6 +1227,7 @@
"aws-s3outposts-endpoint.json",
"aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
+ "aws-sagemaker-domain.json",
"aws-sagemaker-featuregroup.json",
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
@@ -1228,6 +1239,7 @@
"aws-sagemaker-project.json",
"aws-sagemaker-space.json",
"aws-sagemaker-studiolifecycleconfig.json",
+ "aws-sagemaker-userprofile.json",
"aws-sdb-domain.json",
"aws-secretsmanager-resourcepolicy.json",
"aws-secretsmanager-rotationschedule.json",
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-vpnconnection.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-vpnconnection.json
deleted file mode 100644
index a9d5be394d..0000000000
--- a/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-vpnconnection.json
+++ /dev/null
@@ -1,383 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Type",
- "/properties/CustomerGatewayId",
- "/properties/VpnGatewayId",
- "/properties/TransitGatewayId",
- "/properties/EnableAcceleration",
- "/properties/LocalIpv4NetworkCidr",
- "/properties/LocalIpv6NetworkCidr",
- "/properties/OutsideIpAddressType",
- "/properties/RemoteIpv4NetworkCidr",
- "/properties/RemoteIpv6NetworkCidr",
- "/properties/StaticRoutesOnly",
- "/properties/TransportTransitGatewayAttachmentId",
- "/properties/TunnelInsideIpVersion",
- "/properties/VpnTunnelOptionsSpecifications"
- ],
- "definitions": {
- "CloudwatchLogOptionsSpecification": {
- "additionalProperties": false,
- "properties": {
- "LogEnabled": {
- "type": "boolean"
- },
- "LogGroupArn": {
- "type": "string"
- },
- "LogOutputFormat": {
- "enum": [
- "json",
- "text"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "IKEVersionsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "ikev1",
- "ikev2"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Phase1DHGroupNumbersRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- 2,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24
- ],
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Phase1EncryptionAlgorithmsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "AES128",
- "AES256",
- "AES128-GCM-16",
- "AES256-GCM-16"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Phase1IntegrityAlgorithmsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "SHA1",
- "SHA2-256",
- "SHA2-384",
- "SHA2-512"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Phase2DHGroupNumbersRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- 2,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24
- ],
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Phase2EncryptionAlgorithmsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "AES128",
- "AES256",
- "AES128-GCM-16",
- "AES256-GCM-16"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Phase2IntegrityAlgorithmsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "SHA1",
- "SHA2-256",
- "SHA2-384",
- "SHA2-512"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- },
- "VpnTunnelLogOptionsSpecification": {
- "additionalProperties": false,
- "properties": {
- "CloudwatchLogOptions": {
- "$ref": "#/definitions/CloudwatchLogOptionsSpecification"
- }
- },
- "type": "object"
- },
- "VpnTunnelOptionsSpecification": {
- "additionalProperties": false,
- "properties": {
- "DPDTimeoutAction": {
- "enum": [
- "clear",
- "none",
- "restart"
- ],
- "type": "string"
- },
- "DPDTimeoutSeconds": {
- "minimum": 30,
- "type": "integer"
- },
- "EnableTunnelLifecycleControl": {
- "type": "boolean"
- },
- "IKEVersions": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/IKEVersionsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "LogOptions": {
- "$ref": "#/definitions/VpnTunnelLogOptionsSpecification"
- },
- "Phase1DHGroupNumbers": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase1DHGroupNumbersRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase1EncryptionAlgorithms": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase1EncryptionAlgorithmsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase1IntegrityAlgorithms": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase1IntegrityAlgorithmsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase1LifetimeSeconds": {
- "maximum": 28800,
- "minimum": 900,
- "type": "integer"
- },
- "Phase2DHGroupNumbers": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase2DHGroupNumbersRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase2EncryptionAlgorithms": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase2EncryptionAlgorithmsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase2IntegrityAlgorithms": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase2IntegrityAlgorithmsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase2LifetimeSeconds": {
- "maximum": 3600,
- "minimum": 900,
- "type": "integer"
- },
- "PreSharedKey": {
- "type": "string"
- },
- "RekeyFuzzPercentage": {
- "maximum": 100,
- "minimum": 0,
- "type": "integer"
- },
- "RekeyMarginTimeSeconds": {
- "minimum": 60,
- "type": "integer"
- },
- "ReplayWindowSize": {
- "maximum": 2048,
- "minimum": 64,
- "type": "integer"
- },
- "StartupAction": {
- "enum": [
- "add",
- "start"
- ],
- "type": "string"
- },
- "TunnelInsideCidr": {
- "type": "string"
- },
- "TunnelInsideIpv6Cidr": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/VpnConnectionId"
- ],
- "properties": {
- "CustomerGatewayId": {
- "type": "string"
- },
- "EnableAcceleration": {
- "type": "boolean"
- },
- "LocalIpv4NetworkCidr": {
- "type": "string"
- },
- "LocalIpv6NetworkCidr": {
- "type": "string"
- },
- "OutsideIpAddressType": {
- "type": "string"
- },
- "RemoteIpv4NetworkCidr": {
- "type": "string"
- },
- "RemoteIpv6NetworkCidr": {
- "type": "string"
- },
- "StaticRoutesOnly": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TransitGatewayId": {
- "type": "string"
- },
- "TransportTransitGatewayAttachmentId": {
- "type": "string"
- },
- "TunnelInsideIpVersion": {
- "type": "string"
- },
- "Type": {
- "type": "string"
- },
- "VpnConnectionId": {
- "type": "string"
- },
- "VpnGatewayId": {
- "type": "string"
- },
- "VpnTunnelOptionsSpecifications": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/VpnTunnelOptionsSpecification"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/VpnConnectionId"
- ],
- "required": [
- "Type",
- "CustomerGatewayId"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::EC2::VPNConnection"
-}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-elasticache-serverlesscache.json
deleted file mode 100644
index 3b7cde6c66..0000000000
--- a/src/cfnlint/data/schemas/providers/il_central_1/aws-elasticache-serverlesscache.json
+++ /dev/null
@@ -1,205 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ServerlessCacheName",
- "/properties/Engine",
- "/properties/MajorEngineVersion",
- "/properties/KmsKeyId",
- "/properties/SnapshotArnsToRestore",
- "/properties/SubnetIds"
- ],
- "definitions": {
- "CacheUsageLimits": {
- "additionalProperties": false,
- "properties": {
- "DataStorage": {
- "$ref": "#/definitions/DataStorage"
- },
- "ECPUPerSecond": {
- "$ref": "#/definitions/ECPUPerSecond"
- }
- },
- "type": "object"
- },
- "DataStorage": {
- "additionalProperties": false,
- "properties": {
- "Maximum": {
- "type": "integer"
- },
- "Minimum": {
- "type": "integer"
- },
- "Unit": {
- "enum": [
- "GB"
- ],
- "type": "string"
- }
- },
- "required": [
- "Unit"
- ],
- "type": "object"
- },
- "ECPUPerSecond": {
- "additionalProperties": false,
- "properties": {
- "Maximum": {
- "type": "integer"
- },
- "Minimum": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Endpoint": {
- "additionalProperties": false,
- "properties": {
- "Address": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)[a-zA-Z0-9 _\\.\\/=+:\\-@]*$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "pattern": "^[a-zA-Z0-9 _\\.\\/=+:\\-@]*$",
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ServerlessCacheName"
- ],
- "properties": {
- "ARN": {
- "type": "string"
- },
- "CacheUsageLimits": {
- "$ref": "#/definitions/CacheUsageLimits"
- },
- "CreateTime": {
- "type": "string"
- },
- "DailySnapshotTime": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Endpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "Engine": {
- "type": "string"
- },
- "FinalSnapshotName": {
- "type": "string"
- },
- "FullEngineVersion": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "MajorEngineVersion": {
- "type": "string"
- },
- "ReaderEndpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "ServerlessCacheName": {
- "type": "string"
- },
- "SnapshotArnsToRestore": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "SnapshotRetentionLimit": {
- "type": "integer"
- },
- "Status": {
- "type": "string"
- },
- "SubnetIds": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": true
- },
- "UserGroupId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/FullEngineVersion",
- "/properties/CreateTime",
- "/properties/Status",
- "/properties/Endpoint/Address",
- "/properties/Endpoint/Port",
- "/properties/ReaderEndpoint/Address",
- "/properties/ReaderEndpoint/Port",
- "/properties/ARN"
- ],
- "required": [
- "ServerlessCacheName",
- "Engine"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticache",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ElastiCache::ServerlessCache",
- "writeOnlyProperties": [
- "/properties/SnapshotArnsToRestore",
- "/properties/FinalSnapshotName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-redshiftserverless-workgroup.json
new file mode 100644
index 0000000000..60a6356907
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-redshiftserverless-workgroup.json
@@ -0,0 +1,312 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/WorkgroupName",
+ "/properties/NamespaceName"
+ ],
+ "definitions": {
+ "ConfigParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterKey": {
+ "maxLength": 255,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ParameterValue": {
+ "maxLength": 15000,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "VpcEndpoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/VpcEndpoint"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkInterface": {
+ "additionalProperties": false,
+ "properties": {
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ },
+ "SubnetId": {
+ "format": "AWS::EC2::Subnet.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "VpcEndpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkInterfaces": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "type": "array"
+ },
+ "VpcEndpointId": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Workgroup": {
+ "additionalProperties": false,
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CreationDate": {
+ "type": "string"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "EnhancedVpcRouting": {
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]+$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "$ref": "#/definitions/WorkgroupStatus"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "WorkgroupArn": {
+ "type": "string"
+ },
+ "WorkgroupId": {
+ "type": "string"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]*$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "WorkgroupStatus": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "MODIFYING",
+ "DELETING"
+ ],
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/WorkgroupName"
+ ],
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "EnhancedVpcRouting": {
+ "default": false,
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array"
+ },
+ "Workgroup": {
+ "$ref": "#/definitions/Workgroup"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Workgroup",
+ "/properties/Workgroup/WorkgroupId",
+ "/properties/Workgroup/WorkgroupArn",
+ "/properties/Workgroup/WorkgroupName",
+ "/properties/Workgroup/NamespaceName",
+ "/properties/Workgroup/BaseCapacity",
+ "/properties/Workgroup/MaxCapacity",
+ "/properties/Workgroup/EnhancedVpcRouting",
+ "/properties/Workgroup/ConfigParameters/*/ParameterKey",
+ "/properties/Workgroup/ConfigParameters/*/ParameterValue",
+ "/properties/Workgroup/SecurityGroupIds",
+ "/properties/Workgroup/SubnetIds",
+ "/properties/Workgroup/Status",
+ "/properties/Workgroup/Endpoint/Address",
+ "/properties/Workgroup/Endpoint/Port",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone",
+ "/properties/Workgroup/PubliclyAccessible",
+ "/properties/Workgroup/CreationDate"
+ ],
+ "required": [
+ "WorkgroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RedshiftServerless::Workgroup",
+ "writeOnlyProperties": [
+ "/properties/BaseCapacity",
+ "/properties/MaxCapacity",
+ "/properties/ConfigParameters",
+ "/properties/SecurityGroupIds",
+ "/properties/SubnetIds"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json
deleted file mode 100644
index e3dc615356..0000000000
--- a/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json
+++ /dev/null
@@ -1,870 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AuthMode",
- "/properties/DomainName",
- "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
- "/properties/KmsKeyId",
- "/properties/VpcId",
- "/properties/Tags"
- ],
- "definitions": {
- "AppLifecycleManagement": {
- "additionalProperties": false,
- "properties": {
- "IdleSettings": {
- "$ref": "#/definitions/IdleSettings"
- }
- },
- "type": "object"
- },
- "AppType": {
- "enum": [
- "JupyterServer",
- "TensorBoard",
- "RStudioServerPro",
- "JupyterLab",
- "CodeEditor",
- "DetailedProfiler",
- "Canvas"
- ],
- "type": "string"
- },
- "CodeEditorAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "CodeRepository": {
- "additionalProperties": false,
- "properties": {
- "RepositoryUrl": {
- "maxLength": 256,
- "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
- "type": "string"
- }
- },
- "required": [
- "RepositoryUrl"
- ],
- "type": "object"
- },
- "CustomFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "EFSFileSystemConfig": {
- "$ref": "#/definitions/EFSFileSystemConfig"
- }
- },
- "type": "object"
- },
- "CustomImage": {
- "additionalProperties": false,
- "properties": {
- "AppImageConfigName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "ImageName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "ImageVersionNumber": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "AppImageConfigName",
- "ImageName"
- ],
- "type": "object"
- },
- "CustomPosixUserConfig": {
- "additionalProperties": false,
- "properties": {
- "Gid": {
- "maximum": 4000000,
- "minimum": 1001,
- "type": "integer"
- },
- "Uid": {
- "maximum": 4000000,
- "minimum": 10000,
- "type": "integer"
- }
- },
- "required": [
- "Uid",
- "Gid"
- ],
- "type": "object"
- },
- "DefaultEbsStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- },
- "MaximumEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- }
- },
- "required": [
- "DefaultEbsVolumeSizeInGb",
- "MaximumEbsVolumeSizeInGb"
- ],
- "type": "object"
- },
- "DefaultSpaceSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomFileSystemConfigs": {
- "items": {
- "$ref": "#/definitions/CustomFileSystemConfig"
- },
- "maxItems": 2,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "CustomPosixUserConfig": {
- "$ref": "#/definitions/CustomPosixUserConfig"
- },
- "ExecutionRole": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "JupyterLabAppSettings": {
- "$ref": "#/definitions/JupyterLabAppSettings"
- },
- "JupyterServerAppSettings": {
- "$ref": "#/definitions/JupyterServerAppSettings"
- },
- "KernelGatewayAppSettings": {
- "$ref": "#/definitions/KernelGatewayAppSettings"
- },
- "SecurityGroups": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "SpaceStorageSettings": {
- "$ref": "#/definitions/DefaultSpaceStorageSettings"
- }
- },
- "required": [
- "ExecutionRole"
- ],
- "type": "object"
- },
- "DefaultSpaceStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsStorageSettings": {
- "$ref": "#/definitions/DefaultEbsStorageSettings"
- }
- },
- "type": "object"
- },
- "DockerSettings": {
- "additionalProperties": false,
- "properties": {
- "EnableDockerAccess": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "VpcOnlyTrustedAccounts": {
- "insertionOrder": false,
- "items": {
- "maxLength": 12,
- "minLength": 12,
- "pattern": "^\\d+$",
- "type": "string"
- },
- "maxItems": 20,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "DomainSettings": {
- "additionalProperties": false,
- "properties": {
- "DockerSettings": {
- "$ref": "#/definitions/DockerSettings"
- },
- "ExecutionRoleIdentityConfig": {
- "enum": [
- "USER_PROFILE_NAME",
- "DISABLED"
- ],
- "type": "string"
- },
- "RStudioServerProDomainSettings": {
- "$ref": "#/definitions/RStudioServerProDomainSettings"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "EFSFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "FileSystemId": {
- "maxLength": 21,
- "minLength": 11,
- "pattern": "^(fs-[0-9a-f]{8,})$",
- "type": "string"
- },
- "FileSystemPath": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^\\/\\S*$",
- "type": "string"
- }
- },
- "required": [
- "FileSystemId"
- ],
- "type": "object"
- },
- "IdleSettings": {
- "additionalProperties": false,
- "properties": {
- "IdleTimeoutInMinutes": {
- "$ref": "#/definitions/IdleTimeoutInMinutes"
- },
- "LifecycleManagement": {
- "$ref": "#/definitions/LifecycleManagement"
- },
- "MaxIdleTimeoutInMinutes": {
- "$ref": "#/definitions/MaxIdleTimeoutInMinutes"
- },
- "MinIdleTimeoutInMinutes": {
- "$ref": "#/definitions/MinIdleTimeoutInMinutes"
- }
- },
- "type": "object"
- },
- "IdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "JupyterLabAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeRepositories": {
- "items": {
- "$ref": "#/definitions/CodeRepository"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "JupyterServerAppSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "KernelGatewayAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "LifecycleManagement": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "MaxIdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "MinIdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "MlTools": {
- "enum": [
- "DataWrangler",
- "FeatureStore",
- "EmrClusters",
- "AutoMl",
- "Experiments",
- "Training",
- "ModelEvaluation",
- "Pipelines",
- "Models",
- "JumpStart",
- "InferenceRecommender",
- "Endpoints",
- "Projects",
- "InferenceOptimization"
- ],
- "type": "string"
- },
- "RSessionAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- }
- },
- "type": "object"
- },
- "RStudioServerProAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AccessStatus": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "UserGroup": {
- "enum": [
- "R_STUDIO_ADMIN",
- "R_STUDIO_USER"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "RStudioServerProDomainSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "DomainExecutionRoleArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "RStudioConnectUrl": {
- "pattern": "^(https:|http:|www\\.)\\S*",
- "type": "string"
- },
- "RStudioPackageManagerUrl": {
- "pattern": "^(https:|http:|www\\.)\\S*",
- "type": "string"
- }
- },
- "required": [
- "DomainExecutionRoleArn"
- ],
- "type": "object"
- },
- "ResourceSpec": {
- "additionalProperties": false,
- "properties": {
- "InstanceType": {
- "enum": [
- "system",
- "ml.t3.micro",
- "ml.t3.small",
- "ml.t3.medium",
- "ml.t3.large",
- "ml.t3.xlarge",
- "ml.t3.2xlarge",
- "ml.m5.large",
- "ml.m5.xlarge",
- "ml.m5.2xlarge",
- "ml.m5.4xlarge",
- "ml.m5.8xlarge",
- "ml.m5.12xlarge",
- "ml.m5.16xlarge",
- "ml.m5.24xlarge",
- "ml.c5.large",
- "ml.c5.xlarge",
- "ml.c5.2xlarge",
- "ml.c5.4xlarge",
- "ml.c5.9xlarge",
- "ml.c5.12xlarge",
- "ml.c5.18xlarge",
- "ml.c5.24xlarge",
- "ml.p3.2xlarge",
- "ml.p3.8xlarge",
- "ml.p3.16xlarge",
- "ml.g4dn.xlarge",
- "ml.g4dn.2xlarge",
- "ml.g4dn.4xlarge",
- "ml.g4dn.8xlarge",
- "ml.g4dn.12xlarge",
- "ml.g4dn.16xlarge",
- "ml.r5.large",
- "ml.r5.xlarge",
- "ml.r5.2xlarge",
- "ml.r5.4xlarge",
- "ml.r5.8xlarge",
- "ml.r5.12xlarge",
- "ml.r5.16xlarge",
- "ml.r5.24xlarge",
- "ml.p3dn.24xlarge",
- "ml.m5d.large",
- "ml.m5d.xlarge",
- "ml.m5d.2xlarge",
- "ml.m5d.4xlarge",
- "ml.m5d.8xlarge",
- "ml.m5d.12xlarge",
- "ml.m5d.16xlarge",
- "ml.m5d.24xlarge",
- "ml.g5.xlarge",
- "ml.g5.2xlarge",
- "ml.g5.4xlarge",
- "ml.g5.8xlarge",
- "ml.g5.12xlarge",
- "ml.g5.16xlarge",
- "ml.g5.24xlarge",
- "ml.g5.48xlarge",
- "ml.p4d.24xlarge",
- "ml.p4de.24xlarge",
- "ml.geospatial.interactive",
- "ml.trn1.2xlarge",
- "ml.trn1.32xlarge",
- "ml.trn1n.32xlarge"
- ],
- "type": "string"
- },
- "LifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "SageMakerImageArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
- "type": "string"
- },
- "SageMakerImageVersionArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SharingSettings": {
- "additionalProperties": false,
- "properties": {
- "NotebookOutputOption": {
- "enum": [
- "Allowed",
- "Disabled"
- ],
- "type": "string"
- },
- "S3KmsKeyId": {
- "maxLength": 2048,
- "pattern": ".*",
- "type": "string"
- },
- "S3OutputPath": {
- "maxLength": 1024,
- "pattern": "^(https|s3)://([^/]+)/?(.*)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SpaceEbsVolumeSizeInGb": {
- "maximum": 16384,
- "minimum": 5,
- "type": "integer"
- },
- "StudioLifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "additionalProperties": false,
- "properties": {
- "HiddenAppTypes": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/AppType"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "HiddenMlTools": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/MlTools"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- },
- "Value": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "UserSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeEditorAppSettings": {
- "$ref": "#/definitions/CodeEditorAppSettings"
- },
- "CustomFileSystemConfigs": {
- "items": {
- "$ref": "#/definitions/CustomFileSystemConfig"
- },
- "maxItems": 2,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "CustomPosixUserConfig": {
- "$ref": "#/definitions/CustomPosixUserConfig"
- },
- "DefaultLandingUri": {
- "maxLength": 1023,
- "type": "string"
- },
- "ExecutionRole": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "JupyterLabAppSettings": {
- "$ref": "#/definitions/JupyterLabAppSettings"
- },
- "JupyterServerAppSettings": {
- "$ref": "#/definitions/JupyterServerAppSettings"
- },
- "KernelGatewayAppSettings": {
- "$ref": "#/definitions/KernelGatewayAppSettings"
- },
- "RSessionAppSettings": {
- "$ref": "#/definitions/RSessionAppSettings"
- },
- "RStudioServerProAppSettings": {
- "$ref": "#/definitions/RStudioServerProAppSettings"
- },
- "SecurityGroups": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "SharingSettings": {
- "$ref": "#/definitions/SharingSettings"
- },
- "SpaceStorageSettings": {
- "$ref": "#/definitions/DefaultSpaceStorageSettings"
- },
- "StudioWebPortal": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "$ref": "#/definitions/StudioWebPortalSettings"
- }
- },
- "required": [
- "ExecutionRole"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/DomainId"
- ],
- "properties": {
- "AppNetworkAccessType": {
- "enum": [
- "PublicInternetOnly",
- "VpcOnly"
- ],
- "type": "string"
- },
- "AppSecurityGroupManagement": {
- "enum": [
- "Service",
- "Customer"
- ],
- "type": "string"
- },
- "AuthMode": {
- "enum": [
- "SSO",
- "IAM"
- ],
- "type": "string"
- },
- "DefaultSpaceSettings": {
- "$ref": "#/definitions/DefaultSpaceSettings"
- },
- "DefaultUserSettings": {
- "$ref": "#/definitions/UserSettings"
- },
- "DomainArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
- "type": "string"
- },
- "DomainId": {
- "maxLength": 63,
- "pattern": "^d-(-*[a-z0-9])+",
- "type": "string"
- },
- "DomainName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "DomainSettings": {
- "$ref": "#/definitions/DomainSettings"
- },
- "HomeEfsFileSystemId": {
- "maxLength": 32,
- "type": "string"
- },
- "KmsKeyId": {
- "maxLength": 2048,
- "pattern": ".*",
- "type": "string"
- },
- "SecurityGroupIdForDomainBoundary": {
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "SingleSignOnApplicationArn": {
- "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
- "type": "string"
- },
- "SingleSignOnManagedApplicationInstanceId": {
- "maxLength": 256,
- "type": "string"
- },
- "SubnetIds": {
- "insertionOrder": false,
- "items": {
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 16,
- "minItems": 1,
- "type": "array",
- "uniqueItems": false
- },
- "TagPropagation": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "Url": {
- "maxLength": 1024,
- "type": "string"
- },
- "VpcId": {
- "format": "AWS::EC2::VPC.Id",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/DomainArn",
- "/properties/Url",
- "/properties/DomainId",
- "/properties/HomeEfsFileSystemId",
- "/properties/SecurityGroupIdForDomainBoundary",
- "/properties/SingleSignOnManagedApplicationInstanceId",
- "/properties/SingleSignOnApplicationArn"
- ],
- "required": [
- "AuthMode",
- "DefaultUserSettings",
- "DomainName",
- "SubnetIds",
- "VpcId"
- ],
- "typeName": "AWS::SageMaker::Domain",
- "writeOnlyProperties": [
- "/properties/Tags"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-userprofile.json
deleted file mode 100644
index 76b5b0dad8..0000000000
--- a/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-userprofile.json
+++ /dev/null
@@ -1,633 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DomainId",
- "/properties/UserProfileName",
- "/properties/SingleSignOnUserIdentifier",
- "/properties/SingleSignOnUserValue",
- "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
- "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
- "/properties/Tags"
- ],
- "definitions": {
- "AppLifecycleManagement": {
- "additionalProperties": false,
- "properties": {
- "IdleSettings": {
- "$ref": "#/definitions/IdleSettings"
- }
- },
- "type": "object"
- },
- "AppType": {
- "enum": [
- "JupyterServer",
- "TensorBoard",
- "RStudioServerPro",
- "JupyterLab",
- "CodeEditor",
- "DetailedProfiler",
- "Canvas"
- ],
- "type": "string"
- },
- "CodeEditorAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "CodeRepository": {
- "additionalProperties": false,
- "properties": {
- "RepositoryUrl": {
- "maxLength": 256,
- "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
- "type": "string"
- }
- },
- "required": [
- "RepositoryUrl"
- ],
- "type": "object"
- },
- "CustomFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "EFSFileSystemConfig": {
- "$ref": "#/definitions/EFSFileSystemConfig"
- }
- },
- "type": "object"
- },
- "CustomImage": {
- "additionalProperties": false,
- "properties": {
- "AppImageConfigName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "ImageName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "ImageVersionNumber": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "AppImageConfigName",
- "ImageName"
- ],
- "type": "object"
- },
- "CustomPosixUserConfig": {
- "additionalProperties": false,
- "properties": {
- "Gid": {
- "maximum": 4000000,
- "minimum": 1001,
- "type": "integer"
- },
- "Uid": {
- "maximum": 4000000,
- "minimum": 10000,
- "type": "integer"
- }
- },
- "required": [
- "Uid",
- "Gid"
- ],
- "type": "object"
- },
- "DefaultEbsStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- },
- "MaximumEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- }
- },
- "required": [
- "DefaultEbsVolumeSizeInGb",
- "MaximumEbsVolumeSizeInGb"
- ],
- "type": "object"
- },
- "DefaultSpaceStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsStorageSettings": {
- "$ref": "#/definitions/DefaultEbsStorageSettings"
- }
- },
- "type": "object"
- },
- "EFSFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "FileSystemId": {
- "maxLength": 21,
- "minLength": 11,
- "pattern": "^(fs-[0-9a-f]{8,})$",
- "type": "string"
- },
- "FileSystemPath": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^\\/\\S*$",
- "type": "string"
- }
- },
- "required": [
- "FileSystemId"
- ],
- "type": "object"
- },
- "IdleSettings": {
- "additionalProperties": false,
- "properties": {
- "IdleTimeoutInMinutes": {
- "$ref": "#/definitions/IdleTimeoutInMinutes"
- },
- "LifecycleManagement": {
- "$ref": "#/definitions/LifecycleManagement"
- },
- "MaxIdleTimeoutInMinutes": {
- "$ref": "#/definitions/MaxIdleTimeoutInMinutes"
- },
- "MinIdleTimeoutInMinutes": {
- "$ref": "#/definitions/MinIdleTimeoutInMinutes"
- }
- },
- "type": "object"
- },
- "IdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "JupyterLabAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeRepositories": {
- "items": {
- "$ref": "#/definitions/CodeRepository"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "JupyterServerAppSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "KernelGatewayAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "LifecycleManagement": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "MaxIdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "MinIdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "MlTools": {
- "enum": [
- "DataWrangler",
- "FeatureStore",
- "EmrClusters",
- "AutoMl",
- "Experiments",
- "Training",
- "ModelEvaluation",
- "Pipelines",
- "Models",
- "JumpStart",
- "InferenceRecommender",
- "Endpoints",
- "Projects",
- "InferenceOptimization"
- ],
- "type": "string"
- },
- "RStudioServerProAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AccessStatus": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "UserGroup": {
- "enum": [
- "R_STUDIO_ADMIN",
- "R_STUDIO_USER"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResourceSpec": {
- "additionalProperties": false,
- "properties": {
- "InstanceType": {
- "enum": [
- "system",
- "ml.t3.micro",
- "ml.t3.small",
- "ml.t3.medium",
- "ml.t3.large",
- "ml.t3.xlarge",
- "ml.t3.2xlarge",
- "ml.m5.large",
- "ml.m5.xlarge",
- "ml.m5.2xlarge",
- "ml.m5.4xlarge",
- "ml.m5.8xlarge",
- "ml.m5.12xlarge",
- "ml.m5.16xlarge",
- "ml.m5.24xlarge",
- "ml.c5.large",
- "ml.c5.xlarge",
- "ml.c5.2xlarge",
- "ml.c5.4xlarge",
- "ml.c5.9xlarge",
- "ml.c5.12xlarge",
- "ml.c5.18xlarge",
- "ml.c5.24xlarge",
- "ml.p3.2xlarge",
- "ml.p3.8xlarge",
- "ml.p3.16xlarge",
- "ml.g4dn.xlarge",
- "ml.g4dn.2xlarge",
- "ml.g4dn.4xlarge",
- "ml.g4dn.8xlarge",
- "ml.g4dn.12xlarge",
- "ml.g4dn.16xlarge",
- "ml.r5.large",
- "ml.r5.xlarge",
- "ml.r5.2xlarge",
- "ml.r5.4xlarge",
- "ml.r5.8xlarge",
- "ml.r5.12xlarge",
- "ml.r5.16xlarge",
- "ml.r5.24xlarge",
- "ml.p3dn.24xlarge",
- "ml.m5d.large",
- "ml.m5d.xlarge",
- "ml.m5d.2xlarge",
- "ml.m5d.4xlarge",
- "ml.m5d.8xlarge",
- "ml.m5d.12xlarge",
- "ml.m5d.16xlarge",
- "ml.m5d.24xlarge",
- "ml.g5.xlarge",
- "ml.g5.2xlarge",
- "ml.g5.4xlarge",
- "ml.g5.8xlarge",
- "ml.g5.12xlarge",
- "ml.g5.16xlarge",
- "ml.g5.24xlarge",
- "ml.g5.48xlarge",
- "ml.p4d.24xlarge",
- "ml.p4de.24xlarge",
- "ml.geospatial.interactive",
- "ml.trn1.2xlarge",
- "ml.trn1.32xlarge",
- "ml.trn1n.32xlarge"
- ],
- "type": "string"
- },
- "LifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "SageMakerImageArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
- "type": "string"
- },
- "SageMakerImageVersionArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SharingSettings": {
- "additionalProperties": false,
- "properties": {
- "NotebookOutputOption": {
- "enum": [
- "Allowed",
- "Disabled"
- ],
- "type": "string"
- },
- "S3KmsKeyId": {
- "maxLength": 2048,
- "pattern": ".*",
- "type": "string"
- },
- "S3OutputPath": {
- "maxLength": 1024,
- "pattern": "^(https|s3)://([^/]+)/?(.*)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SpaceEbsVolumeSizeInGb": {
- "maximum": 16384,
- "minimum": 5,
- "type": "integer"
- },
- "StudioLifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "additionalProperties": false,
- "properties": {
- "HiddenAppTypes": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/AppType"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "HiddenMlTools": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/MlTools"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- },
- "Value": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "UserSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeEditorAppSettings": {
- "$ref": "#/definitions/CodeEditorAppSettings"
- },
- "CustomFileSystemConfigs": {
- "items": {
- "$ref": "#/definitions/CustomFileSystemConfig"
- },
- "maxItems": 2,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "CustomPosixUserConfig": {
- "$ref": "#/definitions/CustomPosixUserConfig"
- },
- "DefaultLandingUri": {
- "maxLength": 1023,
- "type": "string"
- },
- "ExecutionRole": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "JupyterLabAppSettings": {
- "$ref": "#/definitions/JupyterLabAppSettings"
- },
- "JupyterServerAppSettings": {
- "$ref": "#/definitions/JupyterServerAppSettings"
- },
- "KernelGatewayAppSettings": {
- "$ref": "#/definitions/KernelGatewayAppSettings"
- },
- "RStudioServerProAppSettings": {
- "$ref": "#/definitions/RStudioServerProAppSettings"
- },
- "SecurityGroups": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "SharingSettings": {
- "$ref": "#/definitions/SharingSettings"
- },
- "SpaceStorageSettings": {
- "$ref": "#/definitions/DefaultSpaceStorageSettings"
- },
- "StudioWebPortal": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "$ref": "#/definitions/StudioWebPortalSettings"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/UserProfileName",
- "/properties/DomainId"
- ],
- "properties": {
- "DomainId": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^d-(-*[a-z0-9]){1,61}",
- "type": "string"
- },
- "SingleSignOnUserIdentifier": {
- "pattern": "UserName",
- "type": "string"
- },
- "SingleSignOnUserValue": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "UserProfileArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
- "type": "string"
- },
- "UserProfileName": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "UserSettings": {
- "$ref": "#/definitions/UserSettings",
- "maxItems": 50,
- "minItems": 0,
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/UserProfileArn"
- ],
- "required": [
- "DomainId",
- "UserProfileName"
- ],
- "typeName": "AWS::SageMaker::UserProfile",
- "writeOnlyProperties": [
- "/properties/Tags"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py
index e8b1db34ba..1f980bd393 100644
--- a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py
@@ -700,6 +700,7 @@
"AWS::StepFunctions::StateMachineVersion",
"AWS::Synthetics::Canary",
"AWS::SystemsManagerSAP::Application",
+ "AWS::Timestream::InfluxDBInstance",
"AWS::Transfer::Agreement",
"AWS::Transfer::Certificate",
"AWS::Transfer::Connector",
@@ -842,7 +843,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -926,7 +926,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1172,12 +1171,8 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-mediaconnect-flow.json",
"aws-mediaconnect-flowentitlement.json",
"aws-mediaconnect-flowoutput.json",
@@ -1242,7 +1237,6 @@
"aws-pcaconnectorscep-connector.json",
"aws-pipes-pipe.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
@@ -1269,7 +1263,6 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
- "aws-redshiftserverless-workgroup.json",
"aws-resourceexplorer2-defaultviewassociation.json",
"aws-resourceexplorer2-index.json",
"aws-resourceexplorer2-view.json",
@@ -1308,6 +1301,7 @@
"aws-s3objectlambda-accesspointpolicy.json",
"aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
+ "aws-sagemaker-domain.json",
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
@@ -1318,6 +1312,7 @@
"aws-sagemaker-project.json",
"aws-sagemaker-space.json",
"aws-sagemaker-studiolifecycleconfig.json",
+ "aws-sagemaker-userprofile.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
"aws-sdb-domain.json",
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-redshiftserverless-workgroup.json
new file mode 100644
index 0000000000..60a6356907
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-redshiftserverless-workgroup.json
@@ -0,0 +1,312 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/WorkgroupName",
+ "/properties/NamespaceName"
+ ],
+ "definitions": {
+ "ConfigParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterKey": {
+ "maxLength": 255,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ParameterValue": {
+ "maxLength": 15000,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "VpcEndpoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/VpcEndpoint"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkInterface": {
+ "additionalProperties": false,
+ "properties": {
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ },
+ "SubnetId": {
+ "format": "AWS::EC2::Subnet.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "VpcEndpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkInterfaces": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "type": "array"
+ },
+ "VpcEndpointId": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Workgroup": {
+ "additionalProperties": false,
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CreationDate": {
+ "type": "string"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "EnhancedVpcRouting": {
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]+$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "$ref": "#/definitions/WorkgroupStatus"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "WorkgroupArn": {
+ "type": "string"
+ },
+ "WorkgroupId": {
+ "type": "string"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]*$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "WorkgroupStatus": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "MODIFYING",
+ "DELETING"
+ ],
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/WorkgroupName"
+ ],
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "EnhancedVpcRouting": {
+ "default": false,
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array"
+ },
+ "Workgroup": {
+ "$ref": "#/definitions/Workgroup"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Workgroup",
+ "/properties/Workgroup/WorkgroupId",
+ "/properties/Workgroup/WorkgroupArn",
+ "/properties/Workgroup/WorkgroupName",
+ "/properties/Workgroup/NamespaceName",
+ "/properties/Workgroup/BaseCapacity",
+ "/properties/Workgroup/MaxCapacity",
+ "/properties/Workgroup/EnhancedVpcRouting",
+ "/properties/Workgroup/ConfigParameters/*/ParameterKey",
+ "/properties/Workgroup/ConfigParameters/*/ParameterValue",
+ "/properties/Workgroup/SecurityGroupIds",
+ "/properties/Workgroup/SubnetIds",
+ "/properties/Workgroup/Status",
+ "/properties/Workgroup/Endpoint/Address",
+ "/properties/Workgroup/Endpoint/Port",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone",
+ "/properties/Workgroup/PubliclyAccessible",
+ "/properties/Workgroup/CreationDate"
+ ],
+ "required": [
+ "WorkgroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RedshiftServerless::Workgroup",
+ "writeOnlyProperties": [
+ "/properties/BaseCapacity",
+ "/properties/MaxCapacity",
+ "/properties/ConfigParameters",
+ "/properties/SecurityGroupIds",
+ "/properties/SubnetIds"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-domain.json
deleted file mode 100644
index e3dc615356..0000000000
--- a/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-domain.json
+++ /dev/null
@@ -1,870 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AuthMode",
- "/properties/DomainName",
- "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
- "/properties/KmsKeyId",
- "/properties/VpcId",
- "/properties/Tags"
- ],
- "definitions": {
- "AppLifecycleManagement": {
- "additionalProperties": false,
- "properties": {
- "IdleSettings": {
- "$ref": "#/definitions/IdleSettings"
- }
- },
- "type": "object"
- },
- "AppType": {
- "enum": [
- "JupyterServer",
- "TensorBoard",
- "RStudioServerPro",
- "JupyterLab",
- "CodeEditor",
- "DetailedProfiler",
- "Canvas"
- ],
- "type": "string"
- },
- "CodeEditorAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "CodeRepository": {
- "additionalProperties": false,
- "properties": {
- "RepositoryUrl": {
- "maxLength": 256,
- "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
- "type": "string"
- }
- },
- "required": [
- "RepositoryUrl"
- ],
- "type": "object"
- },
- "CustomFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "EFSFileSystemConfig": {
- "$ref": "#/definitions/EFSFileSystemConfig"
- }
- },
- "type": "object"
- },
- "CustomImage": {
- "additionalProperties": false,
- "properties": {
- "AppImageConfigName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "ImageName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "ImageVersionNumber": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "AppImageConfigName",
- "ImageName"
- ],
- "type": "object"
- },
- "CustomPosixUserConfig": {
- "additionalProperties": false,
- "properties": {
- "Gid": {
- "maximum": 4000000,
- "minimum": 1001,
- "type": "integer"
- },
- "Uid": {
- "maximum": 4000000,
- "minimum": 10000,
- "type": "integer"
- }
- },
- "required": [
- "Uid",
- "Gid"
- ],
- "type": "object"
- },
- "DefaultEbsStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- },
- "MaximumEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- }
- },
- "required": [
- "DefaultEbsVolumeSizeInGb",
- "MaximumEbsVolumeSizeInGb"
- ],
- "type": "object"
- },
- "DefaultSpaceSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomFileSystemConfigs": {
- "items": {
- "$ref": "#/definitions/CustomFileSystemConfig"
- },
- "maxItems": 2,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "CustomPosixUserConfig": {
- "$ref": "#/definitions/CustomPosixUserConfig"
- },
- "ExecutionRole": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "JupyterLabAppSettings": {
- "$ref": "#/definitions/JupyterLabAppSettings"
- },
- "JupyterServerAppSettings": {
- "$ref": "#/definitions/JupyterServerAppSettings"
- },
- "KernelGatewayAppSettings": {
- "$ref": "#/definitions/KernelGatewayAppSettings"
- },
- "SecurityGroups": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "SpaceStorageSettings": {
- "$ref": "#/definitions/DefaultSpaceStorageSettings"
- }
- },
- "required": [
- "ExecutionRole"
- ],
- "type": "object"
- },
- "DefaultSpaceStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsStorageSettings": {
- "$ref": "#/definitions/DefaultEbsStorageSettings"
- }
- },
- "type": "object"
- },
- "DockerSettings": {
- "additionalProperties": false,
- "properties": {
- "EnableDockerAccess": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "VpcOnlyTrustedAccounts": {
- "insertionOrder": false,
- "items": {
- "maxLength": 12,
- "minLength": 12,
- "pattern": "^\\d+$",
- "type": "string"
- },
- "maxItems": 20,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "DomainSettings": {
- "additionalProperties": false,
- "properties": {
- "DockerSettings": {
- "$ref": "#/definitions/DockerSettings"
- },
- "ExecutionRoleIdentityConfig": {
- "enum": [
- "USER_PROFILE_NAME",
- "DISABLED"
- ],
- "type": "string"
- },
- "RStudioServerProDomainSettings": {
- "$ref": "#/definitions/RStudioServerProDomainSettings"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "EFSFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "FileSystemId": {
- "maxLength": 21,
- "minLength": 11,
- "pattern": "^(fs-[0-9a-f]{8,})$",
- "type": "string"
- },
- "FileSystemPath": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^\\/\\S*$",
- "type": "string"
- }
- },
- "required": [
- "FileSystemId"
- ],
- "type": "object"
- },
- "IdleSettings": {
- "additionalProperties": false,
- "properties": {
- "IdleTimeoutInMinutes": {
- "$ref": "#/definitions/IdleTimeoutInMinutes"
- },
- "LifecycleManagement": {
- "$ref": "#/definitions/LifecycleManagement"
- },
- "MaxIdleTimeoutInMinutes": {
- "$ref": "#/definitions/MaxIdleTimeoutInMinutes"
- },
- "MinIdleTimeoutInMinutes": {
- "$ref": "#/definitions/MinIdleTimeoutInMinutes"
- }
- },
- "type": "object"
- },
- "IdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "JupyterLabAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeRepositories": {
- "items": {
- "$ref": "#/definitions/CodeRepository"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "JupyterServerAppSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "KernelGatewayAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "LifecycleManagement": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "MaxIdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "MinIdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "MlTools": {
- "enum": [
- "DataWrangler",
- "FeatureStore",
- "EmrClusters",
- "AutoMl",
- "Experiments",
- "Training",
- "ModelEvaluation",
- "Pipelines",
- "Models",
- "JumpStart",
- "InferenceRecommender",
- "Endpoints",
- "Projects",
- "InferenceOptimization"
- ],
- "type": "string"
- },
- "RSessionAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- }
- },
- "type": "object"
- },
- "RStudioServerProAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AccessStatus": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "UserGroup": {
- "enum": [
- "R_STUDIO_ADMIN",
- "R_STUDIO_USER"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "RStudioServerProDomainSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "DomainExecutionRoleArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "RStudioConnectUrl": {
- "pattern": "^(https:|http:|www\\.)\\S*",
- "type": "string"
- },
- "RStudioPackageManagerUrl": {
- "pattern": "^(https:|http:|www\\.)\\S*",
- "type": "string"
- }
- },
- "required": [
- "DomainExecutionRoleArn"
- ],
- "type": "object"
- },
- "ResourceSpec": {
- "additionalProperties": false,
- "properties": {
- "InstanceType": {
- "enum": [
- "system",
- "ml.t3.micro",
- "ml.t3.small",
- "ml.t3.medium",
- "ml.t3.large",
- "ml.t3.xlarge",
- "ml.t3.2xlarge",
- "ml.m5.large",
- "ml.m5.xlarge",
- "ml.m5.2xlarge",
- "ml.m5.4xlarge",
- "ml.m5.8xlarge",
- "ml.m5.12xlarge",
- "ml.m5.16xlarge",
- "ml.m5.24xlarge",
- "ml.c5.large",
- "ml.c5.xlarge",
- "ml.c5.2xlarge",
- "ml.c5.4xlarge",
- "ml.c5.9xlarge",
- "ml.c5.12xlarge",
- "ml.c5.18xlarge",
- "ml.c5.24xlarge",
- "ml.p3.2xlarge",
- "ml.p3.8xlarge",
- "ml.p3.16xlarge",
- "ml.g4dn.xlarge",
- "ml.g4dn.2xlarge",
- "ml.g4dn.4xlarge",
- "ml.g4dn.8xlarge",
- "ml.g4dn.12xlarge",
- "ml.g4dn.16xlarge",
- "ml.r5.large",
- "ml.r5.xlarge",
- "ml.r5.2xlarge",
- "ml.r5.4xlarge",
- "ml.r5.8xlarge",
- "ml.r5.12xlarge",
- "ml.r5.16xlarge",
- "ml.r5.24xlarge",
- "ml.p3dn.24xlarge",
- "ml.m5d.large",
- "ml.m5d.xlarge",
- "ml.m5d.2xlarge",
- "ml.m5d.4xlarge",
- "ml.m5d.8xlarge",
- "ml.m5d.12xlarge",
- "ml.m5d.16xlarge",
- "ml.m5d.24xlarge",
- "ml.g5.xlarge",
- "ml.g5.2xlarge",
- "ml.g5.4xlarge",
- "ml.g5.8xlarge",
- "ml.g5.12xlarge",
- "ml.g5.16xlarge",
- "ml.g5.24xlarge",
- "ml.g5.48xlarge",
- "ml.p4d.24xlarge",
- "ml.p4de.24xlarge",
- "ml.geospatial.interactive",
- "ml.trn1.2xlarge",
- "ml.trn1.32xlarge",
- "ml.trn1n.32xlarge"
- ],
- "type": "string"
- },
- "LifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "SageMakerImageArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
- "type": "string"
- },
- "SageMakerImageVersionArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SharingSettings": {
- "additionalProperties": false,
- "properties": {
- "NotebookOutputOption": {
- "enum": [
- "Allowed",
- "Disabled"
- ],
- "type": "string"
- },
- "S3KmsKeyId": {
- "maxLength": 2048,
- "pattern": ".*",
- "type": "string"
- },
- "S3OutputPath": {
- "maxLength": 1024,
- "pattern": "^(https|s3)://([^/]+)/?(.*)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SpaceEbsVolumeSizeInGb": {
- "maximum": 16384,
- "minimum": 5,
- "type": "integer"
- },
- "StudioLifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "additionalProperties": false,
- "properties": {
- "HiddenAppTypes": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/AppType"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "HiddenMlTools": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/MlTools"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- },
- "Value": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "UserSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeEditorAppSettings": {
- "$ref": "#/definitions/CodeEditorAppSettings"
- },
- "CustomFileSystemConfigs": {
- "items": {
- "$ref": "#/definitions/CustomFileSystemConfig"
- },
- "maxItems": 2,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "CustomPosixUserConfig": {
- "$ref": "#/definitions/CustomPosixUserConfig"
- },
- "DefaultLandingUri": {
- "maxLength": 1023,
- "type": "string"
- },
- "ExecutionRole": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "JupyterLabAppSettings": {
- "$ref": "#/definitions/JupyterLabAppSettings"
- },
- "JupyterServerAppSettings": {
- "$ref": "#/definitions/JupyterServerAppSettings"
- },
- "KernelGatewayAppSettings": {
- "$ref": "#/definitions/KernelGatewayAppSettings"
- },
- "RSessionAppSettings": {
- "$ref": "#/definitions/RSessionAppSettings"
- },
- "RStudioServerProAppSettings": {
- "$ref": "#/definitions/RStudioServerProAppSettings"
- },
- "SecurityGroups": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "SharingSettings": {
- "$ref": "#/definitions/SharingSettings"
- },
- "SpaceStorageSettings": {
- "$ref": "#/definitions/DefaultSpaceStorageSettings"
- },
- "StudioWebPortal": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "$ref": "#/definitions/StudioWebPortalSettings"
- }
- },
- "required": [
- "ExecutionRole"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/DomainId"
- ],
- "properties": {
- "AppNetworkAccessType": {
- "enum": [
- "PublicInternetOnly",
- "VpcOnly"
- ],
- "type": "string"
- },
- "AppSecurityGroupManagement": {
- "enum": [
- "Service",
- "Customer"
- ],
- "type": "string"
- },
- "AuthMode": {
- "enum": [
- "SSO",
- "IAM"
- ],
- "type": "string"
- },
- "DefaultSpaceSettings": {
- "$ref": "#/definitions/DefaultSpaceSettings"
- },
- "DefaultUserSettings": {
- "$ref": "#/definitions/UserSettings"
- },
- "DomainArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
- "type": "string"
- },
- "DomainId": {
- "maxLength": 63,
- "pattern": "^d-(-*[a-z0-9])+",
- "type": "string"
- },
- "DomainName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "DomainSettings": {
- "$ref": "#/definitions/DomainSettings"
- },
- "HomeEfsFileSystemId": {
- "maxLength": 32,
- "type": "string"
- },
- "KmsKeyId": {
- "maxLength": 2048,
- "pattern": ".*",
- "type": "string"
- },
- "SecurityGroupIdForDomainBoundary": {
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "SingleSignOnApplicationArn": {
- "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
- "type": "string"
- },
- "SingleSignOnManagedApplicationInstanceId": {
- "maxLength": 256,
- "type": "string"
- },
- "SubnetIds": {
- "insertionOrder": false,
- "items": {
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 16,
- "minItems": 1,
- "type": "array",
- "uniqueItems": false
- },
- "TagPropagation": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "Url": {
- "maxLength": 1024,
- "type": "string"
- },
- "VpcId": {
- "format": "AWS::EC2::VPC.Id",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/DomainArn",
- "/properties/Url",
- "/properties/DomainId",
- "/properties/HomeEfsFileSystemId",
- "/properties/SecurityGroupIdForDomainBoundary",
- "/properties/SingleSignOnManagedApplicationInstanceId",
- "/properties/SingleSignOnApplicationArn"
- ],
- "required": [
- "AuthMode",
- "DefaultUserSettings",
- "DomainName",
- "SubnetIds",
- "VpcId"
- ],
- "typeName": "AWS::SageMaker::Domain",
- "writeOnlyProperties": [
- "/properties/Tags"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-userprofile.json
deleted file mode 100644
index 76b5b0dad8..0000000000
--- a/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-userprofile.json
+++ /dev/null
@@ -1,633 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DomainId",
- "/properties/UserProfileName",
- "/properties/SingleSignOnUserIdentifier",
- "/properties/SingleSignOnUserValue",
- "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
- "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
- "/properties/Tags"
- ],
- "definitions": {
- "AppLifecycleManagement": {
- "additionalProperties": false,
- "properties": {
- "IdleSettings": {
- "$ref": "#/definitions/IdleSettings"
- }
- },
- "type": "object"
- },
- "AppType": {
- "enum": [
- "JupyterServer",
- "TensorBoard",
- "RStudioServerPro",
- "JupyterLab",
- "CodeEditor",
- "DetailedProfiler",
- "Canvas"
- ],
- "type": "string"
- },
- "CodeEditorAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "CodeRepository": {
- "additionalProperties": false,
- "properties": {
- "RepositoryUrl": {
- "maxLength": 256,
- "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
- "type": "string"
- }
- },
- "required": [
- "RepositoryUrl"
- ],
- "type": "object"
- },
- "CustomFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "EFSFileSystemConfig": {
- "$ref": "#/definitions/EFSFileSystemConfig"
- }
- },
- "type": "object"
- },
- "CustomImage": {
- "additionalProperties": false,
- "properties": {
- "AppImageConfigName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "ImageName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "ImageVersionNumber": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "AppImageConfigName",
- "ImageName"
- ],
- "type": "object"
- },
- "CustomPosixUserConfig": {
- "additionalProperties": false,
- "properties": {
- "Gid": {
- "maximum": 4000000,
- "minimum": 1001,
- "type": "integer"
- },
- "Uid": {
- "maximum": 4000000,
- "minimum": 10000,
- "type": "integer"
- }
- },
- "required": [
- "Uid",
- "Gid"
- ],
- "type": "object"
- },
- "DefaultEbsStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- },
- "MaximumEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- }
- },
- "required": [
- "DefaultEbsVolumeSizeInGb",
- "MaximumEbsVolumeSizeInGb"
- ],
- "type": "object"
- },
- "DefaultSpaceStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsStorageSettings": {
- "$ref": "#/definitions/DefaultEbsStorageSettings"
- }
- },
- "type": "object"
- },
- "EFSFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "FileSystemId": {
- "maxLength": 21,
- "minLength": 11,
- "pattern": "^(fs-[0-9a-f]{8,})$",
- "type": "string"
- },
- "FileSystemPath": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^\\/\\S*$",
- "type": "string"
- }
- },
- "required": [
- "FileSystemId"
- ],
- "type": "object"
- },
- "IdleSettings": {
- "additionalProperties": false,
- "properties": {
- "IdleTimeoutInMinutes": {
- "$ref": "#/definitions/IdleTimeoutInMinutes"
- },
- "LifecycleManagement": {
- "$ref": "#/definitions/LifecycleManagement"
- },
- "MaxIdleTimeoutInMinutes": {
- "$ref": "#/definitions/MaxIdleTimeoutInMinutes"
- },
- "MinIdleTimeoutInMinutes": {
- "$ref": "#/definitions/MinIdleTimeoutInMinutes"
- }
- },
- "type": "object"
- },
- "IdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "JupyterLabAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeRepositories": {
- "items": {
- "$ref": "#/definitions/CodeRepository"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "JupyterServerAppSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "KernelGatewayAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "LifecycleManagement": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "MaxIdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "MinIdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "MlTools": {
- "enum": [
- "DataWrangler",
- "FeatureStore",
- "EmrClusters",
- "AutoMl",
- "Experiments",
- "Training",
- "ModelEvaluation",
- "Pipelines",
- "Models",
- "JumpStart",
- "InferenceRecommender",
- "Endpoints",
- "Projects",
- "InferenceOptimization"
- ],
- "type": "string"
- },
- "RStudioServerProAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AccessStatus": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "UserGroup": {
- "enum": [
- "R_STUDIO_ADMIN",
- "R_STUDIO_USER"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResourceSpec": {
- "additionalProperties": false,
- "properties": {
- "InstanceType": {
- "enum": [
- "system",
- "ml.t3.micro",
- "ml.t3.small",
- "ml.t3.medium",
- "ml.t3.large",
- "ml.t3.xlarge",
- "ml.t3.2xlarge",
- "ml.m5.large",
- "ml.m5.xlarge",
- "ml.m5.2xlarge",
- "ml.m5.4xlarge",
- "ml.m5.8xlarge",
- "ml.m5.12xlarge",
- "ml.m5.16xlarge",
- "ml.m5.24xlarge",
- "ml.c5.large",
- "ml.c5.xlarge",
- "ml.c5.2xlarge",
- "ml.c5.4xlarge",
- "ml.c5.9xlarge",
- "ml.c5.12xlarge",
- "ml.c5.18xlarge",
- "ml.c5.24xlarge",
- "ml.p3.2xlarge",
- "ml.p3.8xlarge",
- "ml.p3.16xlarge",
- "ml.g4dn.xlarge",
- "ml.g4dn.2xlarge",
- "ml.g4dn.4xlarge",
- "ml.g4dn.8xlarge",
- "ml.g4dn.12xlarge",
- "ml.g4dn.16xlarge",
- "ml.r5.large",
- "ml.r5.xlarge",
- "ml.r5.2xlarge",
- "ml.r5.4xlarge",
- "ml.r5.8xlarge",
- "ml.r5.12xlarge",
- "ml.r5.16xlarge",
- "ml.r5.24xlarge",
- "ml.p3dn.24xlarge",
- "ml.m5d.large",
- "ml.m5d.xlarge",
- "ml.m5d.2xlarge",
- "ml.m5d.4xlarge",
- "ml.m5d.8xlarge",
- "ml.m5d.12xlarge",
- "ml.m5d.16xlarge",
- "ml.m5d.24xlarge",
- "ml.g5.xlarge",
- "ml.g5.2xlarge",
- "ml.g5.4xlarge",
- "ml.g5.8xlarge",
- "ml.g5.12xlarge",
- "ml.g5.16xlarge",
- "ml.g5.24xlarge",
- "ml.g5.48xlarge",
- "ml.p4d.24xlarge",
- "ml.p4de.24xlarge",
- "ml.geospatial.interactive",
- "ml.trn1.2xlarge",
- "ml.trn1.32xlarge",
- "ml.trn1n.32xlarge"
- ],
- "type": "string"
- },
- "LifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "SageMakerImageArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
- "type": "string"
- },
- "SageMakerImageVersionArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SharingSettings": {
- "additionalProperties": false,
- "properties": {
- "NotebookOutputOption": {
- "enum": [
- "Allowed",
- "Disabled"
- ],
- "type": "string"
- },
- "S3KmsKeyId": {
- "maxLength": 2048,
- "pattern": ".*",
- "type": "string"
- },
- "S3OutputPath": {
- "maxLength": 1024,
- "pattern": "^(https|s3)://([^/]+)/?(.*)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SpaceEbsVolumeSizeInGb": {
- "maximum": 16384,
- "minimum": 5,
- "type": "integer"
- },
- "StudioLifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "additionalProperties": false,
- "properties": {
- "HiddenAppTypes": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/AppType"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "HiddenMlTools": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/MlTools"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- },
- "Value": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "UserSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeEditorAppSettings": {
- "$ref": "#/definitions/CodeEditorAppSettings"
- },
- "CustomFileSystemConfigs": {
- "items": {
- "$ref": "#/definitions/CustomFileSystemConfig"
- },
- "maxItems": 2,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "CustomPosixUserConfig": {
- "$ref": "#/definitions/CustomPosixUserConfig"
- },
- "DefaultLandingUri": {
- "maxLength": 1023,
- "type": "string"
- },
- "ExecutionRole": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "JupyterLabAppSettings": {
- "$ref": "#/definitions/JupyterLabAppSettings"
- },
- "JupyterServerAppSettings": {
- "$ref": "#/definitions/JupyterServerAppSettings"
- },
- "KernelGatewayAppSettings": {
- "$ref": "#/definitions/KernelGatewayAppSettings"
- },
- "RStudioServerProAppSettings": {
- "$ref": "#/definitions/RStudioServerProAppSettings"
- },
- "SecurityGroups": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "SharingSettings": {
- "$ref": "#/definitions/SharingSettings"
- },
- "SpaceStorageSettings": {
- "$ref": "#/definitions/DefaultSpaceStorageSettings"
- },
- "StudioWebPortal": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "$ref": "#/definitions/StudioWebPortalSettings"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/UserProfileName",
- "/properties/DomainId"
- ],
- "properties": {
- "DomainId": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^d-(-*[a-z0-9]){1,61}",
- "type": "string"
- },
- "SingleSignOnUserIdentifier": {
- "pattern": "UserName",
- "type": "string"
- },
- "SingleSignOnUserValue": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "UserProfileArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
- "type": "string"
- },
- "UserProfileName": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "UserSettings": {
- "$ref": "#/definitions/UserSettings",
- "maxItems": 50,
- "minItems": 0,
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/UserProfileArn"
- ],
- "required": [
- "DomainId",
- "UserProfileName"
- ],
- "typeName": "AWS::SageMaker::UserProfile",
- "writeOnlyProperties": [
- "/properties/Tags"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-timestream-influxdbinstance.json
new file mode 100644
index 0000000000..3cd225dc53
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-timestream-influxdbinstance.json
@@ -0,0 +1,236 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket",
+ "/properties/VpcSubnetIds",
+ "/properties/VpcSecurityGroupIds",
+ "/properties/PubliclyAccessible",
+ "/properties/DbStorageType",
+ "/properties/AllocatedStorage"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllocatedStorage": {
+ "maximum": 16384,
+ "minimum": 20,
+ "type": "integer"
+ },
+ "Arn": {
+ "maxLength": 1011,
+ "minLength": 1,
+ "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$",
+ "type": "string"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "Bucket": {
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[^_][^\"]*$",
+ "type": "string"
+ },
+ "DbInstanceType": {
+ "enum": [
+ "db.influx.medium",
+ "db.influx.large",
+ "db.influx.xlarge",
+ "db.influx.2xlarge",
+ "db.influx.4xlarge",
+ "db.influx.8xlarge",
+ "db.influx.12xlarge",
+ "db.influx.16xlarge"
+ ],
+ "type": "string"
+ },
+ "DbParameterGroupIdentifier": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "DbStorageType": {
+ "enum": [
+ "InfluxIOIncludedT1",
+ "InfluxIOIncludedT2",
+ "InfluxIOIncludedT3"
+ ],
+ "type": "string"
+ },
+ "DeploymentType": {
+ "enum": [
+ "SINGLE_AZ",
+ "WITH_MULTIAZ_STANDBY"
+ ],
+ "type": "string"
+ },
+ "Endpoint": {
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "InfluxAuthParametersSecretArn": {
+ "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*",
+ "type": "string"
+ },
+ "LogDeliveryConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "S3Configuration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketName": {
+ "maxLength": 63,
+ "minLength": 3,
+ "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enabled",
+ "BucketName"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "Name": {
+ "maxLength": 40,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$",
+ "type": "string"
+ },
+ "Organization": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Password": {
+ "maxLength": 64,
+ "minLength": 8,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "Port": {
+ "maximum": 65535,
+ "minimum": 1024,
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecondaryAvailabilityZone": {
+ "type": "string"
+ },
+ "Status": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "DELETING",
+ "MODIFYING",
+ "UPDATING",
+ "UPDATING_DEPLOYMENT_TYPE",
+ "UPDATING_INSTANCE_TYPE",
+ "DELETED",
+ "FAILED"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Username": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "VpcSecurityGroupIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ },
+ "VpcSubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Status",
+ "/properties/Arn",
+ "/properties/Id",
+ "/properties/AvailabilityZone",
+ "/properties/Endpoint",
+ "/properties/SecondaryAvailabilityZone",
+ "/properties/InfluxAuthParametersSecretArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Timestream::InfluxDBInstance",
+ "writeOnlyProperties": [
+ "/properties/Username",
+ "/properties/Password",
+ "/properties/Organization",
+ "/properties/Bucket"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py
index bd55c9b123..7e0bc95dcc 100644
--- a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py
@@ -471,6 +471,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -788,11 +789,13 @@
"AWS::VpcLattice::AccessLogSubscription",
"AWS::VpcLattice::AuthPolicy",
"AWS::VpcLattice::Listener",
+ "AWS::VpcLattice::ResourceConfiguration",
"AWS::VpcLattice::ResourceGateway",
"AWS::VpcLattice::ResourcePolicy",
"AWS::VpcLattice::Rule",
"AWS::VpcLattice::Service",
"AWS::VpcLattice::ServiceNetwork",
+ "AWS::VpcLattice::ServiceNetworkResourceAssociation",
"AWS::VpcLattice::ServiceNetworkServiceAssociation",
"AWS::VpcLattice::ServiceNetworkVpcAssociation",
"AWS::VpcLattice::TargetGroup",
@@ -963,7 +966,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -1056,7 +1058,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1149,7 +1150,6 @@
"aws-ecs-clustercapacityproviderassociations.json",
"aws-ecs-primarytaskset.json",
"aws-ecs-service.json",
- "aws-ecs-taskdefinition.json",
"aws-ecs-taskset.json",
"aws-efs-accesspoint.json",
"aws-efs-filesystem.json",
@@ -1190,7 +1190,6 @@
"aws-emr-studio.json",
"aws-emr-studiosessionmapping.json",
"aws-emrcontainers-virtualcluster.json",
- "aws-emrserverless-application.json",
"aws-events-apidestination.json",
"aws-events-archive.json",
"aws-events-connection.json",
@@ -1280,6 +1279,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1334,12 +1334,8 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-macie-allowlist.json",
"aws-macie-session.json",
"aws-msk-batchscramsecret.json",
@@ -1385,7 +1381,6 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-pcaconnectorad-connector.json",
"aws-pcaconnectorad-directoryregistration.json",
@@ -1396,7 +1391,6 @@
"aws-pcaconnectorscep-connector.json",
"aws-pipes-pipe.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
@@ -1582,11 +1576,13 @@
"aws-vpclattice-accesslogsubscription.json",
"aws-vpclattice-authpolicy.json",
"aws-vpclattice-listener.json",
+ "aws-vpclattice-resourceconfiguration.json",
"aws-vpclattice-resourcegateway.json",
"aws-vpclattice-resourcepolicy.json",
"aws-vpclattice-rule.json",
"aws-vpclattice-service.json",
"aws-vpclattice-servicenetwork.json",
+ "aws-vpclattice-servicenetworkresourceassociation.json",
"aws-vpclattice-servicenetworkserviceassociation.json",
"aws-vpclattice-servicenetworkvpcassociation.json",
"aws-vpclattice-targetgroup.json",
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-taskdefinition.json
new file mode 100644
index 0000000000..35c2b1ed93
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-taskdefinition.json
@@ -0,0 +1,1044 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Family",
+ "/properties/ContainerDefinitions",
+ "/properties/Cpu",
+ "/properties/ExecutionRoleArn",
+ "/properties/InferenceAccelerators",
+ "/properties/Memory",
+ "/properties/NetworkMode",
+ "/properties/PlacementConstraints",
+ "/properties/ProxyConfiguration",
+ "/properties/RequiresCompatibilities",
+ "/properties/RuntimePlatform",
+ "/properties/TaskRoleArn",
+ "/properties/Volumes",
+ "/properties/PidMode",
+ "/properties/IpcMode",
+ "/properties/EphemeralStorage"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "IAM": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Cpu": {
+ "type": "integer"
+ },
+ "CredentialSpecs": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "DependsOn": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ContainerDependency"
+ },
+ "type": "array"
+ },
+ "DisableNetworking": {
+ "type": "boolean"
+ },
+ "DnsSearchDomains": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "DnsServers": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "DockerLabels": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSecurityOptions": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "EntryPoint": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Environment": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true,
+ "uniqueKeys": [
+ "Name"
+ ]
+ },
+ "EnvironmentFiles": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/EnvironmentFile"
+ },
+ "type": "array"
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "ExtraHosts": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/HostEntry"
+ },
+ "type": "array"
+ },
+ "FirelensConfiguration": {
+ "$ref": "#/definitions/FirelensConfiguration"
+ },
+ "HealthCheck": {
+ "$ref": "#/definitions/HealthCheck"
+ },
+ "Hostname": {
+ "type": "string"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "Interactive": {
+ "type": "boolean"
+ },
+ "Links": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MemoryReservation": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/MountPoint"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PortMappings": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/PortMapping"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "PseudoTerminal": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array"
+ },
+ "RestartPolicy": {
+ "$ref": "#/definitions/RestartPolicy"
+ },
+ "Secrets": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array"
+ },
+ "StartTimeout": {
+ "type": "integer"
+ },
+ "StopTimeout": {
+ "type": "integer"
+ },
+ "SystemControls": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SystemControl"
+ },
+ "type": "array"
+ },
+ "Ulimits": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array"
+ },
+ "User": {
+ "type": "string"
+ },
+ "VersionConsistency": {
+ "default": "enabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string"
+ },
+ "VolumesFrom": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/VolumeFrom"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "WorkingDirectory": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name",
+ "Image"
+ ],
+ "type": "object"
+ },
+ "ContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "enum": [
+ "COMPLETE",
+ "HEALTHY",
+ "START",
+ "SUCCESS"
+ ],
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "insertionOrder": false,
+ "items": {
+ "enum": [
+ "mknod",
+ "read",
+ "write"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "DockerVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Autoprovision": {
+ "type": "boolean"
+ },
+ "Driver": {
+ "type": "string"
+ },
+ "DriverOpts": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Labels": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Scope": {
+ "enum": [
+ "shared",
+ "task"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EFSVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FilesystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FilesystemId"
+ ],
+ "type": "object"
+ },
+ "EnvironmentFile": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "enum": [
+ "s3"
+ ],
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "FSxAuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ },
+ "Domain": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter",
+ "Domain"
+ ],
+ "type": "object"
+ },
+ "FSxWindowsFileServerVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/FSxAuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "RootDirectory"
+ ],
+ "type": "object"
+ },
+ "FirelensConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Options": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Type": {
+ "enum": [
+ "fluentbit",
+ "fluentd"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "HealthCheck": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Interval": {
+ "type": "integer"
+ },
+ "Retries": {
+ "type": "integer"
+ },
+ "StartPeriod": {
+ "type": "integer"
+ },
+ "Timeout": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "HostEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "Hostname": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "HostVolumeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InferenceAccelerator": {
+ "additionalProperties": false,
+ "properties": {
+ "DeviceName": {
+ "type": "string"
+ },
+ "DeviceType": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "KernelCapabilities": {
+ "additionalProperties": false,
+ "properties": {
+ "Add": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Drop": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "KeyValuePair": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Capabilities": {
+ "$ref": "#/definitions/KernelCapabilities"
+ },
+ "Devices": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array"
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "enum": [
+ "awsfirelens",
+ "awslogs",
+ "fluentd",
+ "gelf",
+ "journald",
+ "json-file",
+ "splunk",
+ "syslog"
+ ],
+ "type": "string"
+ },
+ "Options": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretOptions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "MountPoint": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PortMapping": {
+ "additionalProperties": false,
+ "properties": {
+ "AppProtocol": {
+ "enum": [
+ "http",
+ "http2",
+ "grpc"
+ ],
+ "type": "string"
+ },
+ "ContainerPort": {
+ "type": "integer"
+ },
+ "ContainerPortRange": {
+ "type": "string"
+ },
+ "HostPort": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Protocol": {
+ "enum": [
+ "tcp",
+ "udp"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProxyConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerName": {
+ "type": "string"
+ },
+ "ProxyConfigurationProperties": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "APPMESH"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ContainerName"
+ ],
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "enum": [
+ "GPU",
+ "InferenceAccelerator"
+ ],
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "RestartPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "IgnoredExitCodes": {
+ "insertionOrder": false,
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "RestartAttemptPeriod": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "enum": [
+ "ARM64",
+ "X86_64"
+ ],
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "enum": [
+ "LINUX",
+ "WINDOWS_SERVER_2004_CORE",
+ "WINDOWS_SERVER_2016_FULL",
+ "WINDOWS_SERVER_2019_CORE",
+ "WINDOWS_SERVER_2019_FULL",
+ "WINDOWS_SERVER_2022_CORE",
+ "WINDOWS_SERVER_2022_FULL",
+ "WINDOWS_SERVER_20H2_CORE"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name",
+ "ValueFrom"
+ ],
+ "type": "object"
+ },
+ "SystemControl": {
+ "additionalProperties": false,
+ "properties": {
+ "Namespace": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TaskDefinitionPlacementConstraint": {
+ "additionalProperties": false,
+ "properties": {
+ "Expression": {
+ "type": "string"
+ },
+ "Type": {
+ "enum": [
+ "memberOf"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "enum": [
+ "core",
+ "cpu",
+ "data",
+ "fsize",
+ "locks",
+ "memlock",
+ "msgqueue",
+ "nice",
+ "nofile",
+ "nproc",
+ "rss",
+ "rtprio",
+ "rttime",
+ "sigpending",
+ "stack"
+ ],
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "HardLimit",
+ "Name",
+ "SoftLimit"
+ ],
+ "type": "object"
+ },
+ "Volume": {
+ "additionalProperties": false,
+ "properties": {
+ "ConfiguredAtLaunch": {
+ "type": "boolean"
+ },
+ "DockerVolumeConfiguration": {
+ "$ref": "#/definitions/DockerVolumeConfiguration"
+ },
+ "EFSVolumeConfiguration": {
+ "$ref": "#/definitions/EFSVolumeConfiguration"
+ },
+ "FSxWindowsFileServerVolumeConfiguration": {
+ "$ref": "#/definitions/FSxWindowsFileServerVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/HostVolumeProperties"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumeFrom": {
+ "additionalProperties": false,
+ "properties": {
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceContainer": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/TaskDefinitionArn"
+ ],
+ "properties": {
+ "ContainerDefinitions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Cpu": {
+ "type": "string"
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Family": {
+ "type": "string"
+ },
+ "InferenceAccelerators": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/InferenceAccelerator"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "IpcMode": {
+ "enum": [
+ "host",
+ "none",
+ "task"
+ ],
+ "type": "string"
+ },
+ "Memory": {
+ "type": "string"
+ },
+ "NetworkMode": {
+ "enum": [
+ "awsvpc",
+ "bridge",
+ "host",
+ "none"
+ ],
+ "type": "string"
+ },
+ "PidMode": {
+ "enum": [
+ "host",
+ "task"
+ ],
+ "type": "string"
+ },
+ "PlacementConstraints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/TaskDefinitionPlacementConstraint"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ProxyConfiguration": {
+ "$ref": "#/definitions/ProxyConfiguration"
+ },
+ "RequiresCompatibilities": {
+ "insertionOrder": false,
+ "items": {
+ "enum": [
+ "EC2",
+ "EXTERNAL",
+ "FARGATE"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ },
+ "TaskDefinitionArn": {
+ "type": "string"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "propertyTransform": {
+ "/properties/TaskRoleArn": "TaskRoleArn $OR $split(TaskRoleArn, \"role/\")[-1]"
+ },
+ "readOnlyProperties": [
+ "/properties/TaskDefinitionArn"
+ ],
+ "sourceUrl": "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::ECS::TaskDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-emrserverless-application.json
new file mode 100644
index 0000000000..1a44823941
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-emrserverless-application.json
@@ -0,0 +1,539 @@
+{
+ "additionalProperties": false,
+ "conditionalCreateOnlyProperties": [
+ "/properties/Architecture",
+ "/properties/ReleaseLabel",
+ "/properties/WorkerTypeSpecifications",
+ "/properties/MaximumCapacity",
+ "/properties/InitialCapacity",
+ "/properties/AutoStartConfiguration",
+ "/properties/AutoStopConfiguration",
+ "/properties/NetworkConfiguration",
+ "/properties/ImageConfiguration",
+ "/properties/MonitoringConfiguration",
+ "/properties/RuntimeConfiguration",
+ "/properties/InteractiveConfiguration"
+ ],
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Architecture": {
+ "enum": [
+ "ARM64",
+ "X86_64"
+ ],
+ "type": "string"
+ },
+ "AutoStartConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "AutoStopConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "IdleTimeoutMinutes": {
+ "type": "integer"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "Classification": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "CloudWatchLoggingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ },
+ "LogGroupName": {
+ "$ref": "#/definitions/LogGroupName"
+ },
+ "LogStreamNamePrefix": {
+ "$ref": "#/definitions/LogStreamNamePrefix"
+ },
+ "LogTypeMap": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogTypeMapKeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ },
+ "ConfigurationList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigurationObject"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConfigurationObject": {
+ "additionalProperties": false,
+ "properties": {
+ "Classification": {
+ "$ref": "#/definitions/Classification"
+ },
+ "Configurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigurationObject"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Properties": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": {
+ "$ref": "#/definitions/SensitivePropertiesMap"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "Classification"
+ ],
+ "type": "object"
+ },
+ "CpuSize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$",
+ "type": "string"
+ },
+ "DiskSize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$",
+ "type": "string"
+ },
+ "DiskType": {
+ "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$",
+ "type": "string"
+ },
+ "EncryptionKeyArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "ImageConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "ImageUri": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InitialCapacityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "WorkerConfiguration": {
+ "$ref": "#/definitions/WorkerConfiguration"
+ },
+ "WorkerCount": {
+ "format": "int64",
+ "maximum": 1000000,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "WorkerCount",
+ "WorkerConfiguration"
+ ],
+ "type": "object"
+ },
+ "InitialCapacityConfigKeyValuePair": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ },
+ "Value": {
+ "$ref": "#/definitions/InitialCapacityConfig"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "InitialCapacityConfigMap": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/InitialCapacityConfigKeyValuePair"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "InteractiveConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LivyEndpointEnabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "StudioEnabled": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
+ "type": "string"
+ },
+ "LogStreamNamePrefix": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]*$",
+ "type": "string"
+ },
+ "LogTypeList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogTypeString"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "LogTypeMapKeyValuePair": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "$ref": "#/definitions/WorkerTypeString"
+ },
+ "Value": {
+ "$ref": "#/definitions/LogTypeList"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "LogTypeString": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ },
+ "ManagedPersistenceMonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ }
+ }
+ },
+ "MaximumAllowedResources": {
+ "additionalProperties": false,
+ "properties": {
+ "Cpu": {
+ "$ref": "#/definitions/CpuSize"
+ },
+ "Disk": {
+ "$ref": "#/definitions/DiskSize"
+ },
+ "Memory": {
+ "$ref": "#/definitions/MemorySize"
+ }
+ },
+ "required": [
+ "Cpu",
+ "Memory"
+ ],
+ "type": "object"
+ },
+ "MemorySize": {
+ "maxLength": 15,
+ "minLength": 1,
+ "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$",
+ "type": "string"
+ },
+ "MonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingConfiguration": {
+ "$ref": "#/definitions/CloudWatchLoggingConfiguration"
+ },
+ "ManagedPersistenceMonitoringConfiguration": {
+ "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration"
+ },
+ "S3MonitoringConfiguration": {
+ "$ref": "#/definitions/S3MonitoringConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SecurityGroupId"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SubnetId"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "S3MonitoringConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "EncryptionKeyArn": {
+ "$ref": "#/definitions/EncryptionKeyArn"
+ },
+ "LogUri": {
+ "$ref": "#/definitions/UriString"
+ }
+ }
+ },
+ "SecurityGroupId": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "minLength": 1,
+ "pattern": "[-0-9a-zA-Z]+.*",
+ "type": "string"
+ },
+ "SensitivePropertiesKeyValuePair": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "SensitivePropertiesMap": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*\\S.*",
+ "type": "string"
+ },
+ "SubnetId": {
+ "maxLength": 32,
+ "minLength": 1,
+ "pattern": "[-0-9a-zA-Z]+.*",
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9 /_.:=+@-]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[A-Za-z0-9 /_.:=+@-]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UriString": {
+ "maxLength": 10280,
+ "minLength": 1,
+ "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*",
+ "type": "string"
+ },
+ "WorkerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Cpu": {
+ "$ref": "#/definitions/CpuSize"
+ },
+ "Disk": {
+ "$ref": "#/definitions/DiskSize"
+ },
+ "DiskType": {
+ "$ref": "#/definitions/DiskType"
+ },
+ "Memory": {
+ "$ref": "#/definitions/MemorySize"
+ }
+ },
+ "required": [
+ "Cpu",
+ "Memory"
+ ],
+ "type": "object"
+ },
+ "WorkerTypeSpecificationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "ImageConfiguration": {
+ "$ref": "#/definitions/ImageConfigurationInput"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerTypeSpecificationInputMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[a-zA-Z]+[-_]*[a-zA-Z]+$": {
+ "$ref": "#/definitions/WorkerTypeSpecificationInput"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerTypeString": {
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ApplicationId"
+ ],
+ "properties": {
+ "ApplicationId": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Architecture": {
+ "$ref": "#/definitions/Architecture"
+ },
+ "Arn": {
+ "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$",
+ "type": "string"
+ },
+ "AutoStartConfiguration": {
+ "$ref": "#/definitions/AutoStartConfiguration"
+ },
+ "AutoStopConfiguration": {
+ "$ref": "#/definitions/AutoStopConfiguration"
+ },
+ "ImageConfiguration": {
+ "$ref": "#/definitions/ImageConfigurationInput"
+ },
+ "InitialCapacity": {
+ "$ref": "#/definitions/InitialCapacityConfigMap"
+ },
+ "InteractiveConfiguration": {
+ "$ref": "#/definitions/InteractiveConfiguration"
+ },
+ "MaximumCapacity": {
+ "$ref": "#/definitions/MaximumAllowedResources"
+ },
+ "MonitoringConfiguration": {
+ "$ref": "#/definitions/MonitoringConfiguration"
+ },
+ "Name": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9._\\/#-]+$",
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "ReleaseLabel": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9._/-]+$",
+ "type": "string"
+ },
+ "RuntimeConfiguration": {
+ "$ref": "#/definitions/ConfigurationList"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "type": "string"
+ },
+ "WorkerTypeSpecifications": {
+ "$ref": "#/definitions/WorkerTypeSpecificationInputMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/ApplicationId"
+ ],
+ "required": [
+ "ReleaseLabel",
+ "Type"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EMRServerless::Application"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py
index 04f90421a2..5927c34475 100644
--- a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py
@@ -550,6 +550,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::DomainConfiguration",
"AWS::IoT::FleetMetric",
"AWS::IoT::JobTemplate",
@@ -635,6 +636,7 @@
"AWS::Logs::QueryDefinition",
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
+ "AWS::Logs::Transformer",
"AWS::M2::Application",
"AWS::M2::Deployment",
"AWS::M2::Environment",
@@ -1190,6 +1192,7 @@
"aws-cloudformation-resourceversion.json",
"aws-cloudformation-stack.json",
"aws-cloudformation-stackset.json",
+ "aws-cloudformation-typeactivation.json",
"aws-cloudformation-waitcondition.json",
"aws-cloudformation-waitconditionhandle.json",
"aws-cloudfront-cachepolicy.json",
@@ -1443,6 +1446,7 @@
"aws-elasticache-replicationgroup.json",
"aws-elasticache-securitygroup.json",
"aws-elasticache-securitygroupingress.json",
+ "aws-elasticache-serverlesscache.json",
"aws-elasticache-subnetgroup.json",
"aws-elasticache-user.json",
"aws-elasticbeanstalk-application.json",
@@ -1568,6 +1572,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-domainconfiguration.json",
"aws-iot-fleetmetric.json",
"aws-iot-jobtemplate.json",
@@ -1647,9 +1652,9 @@
"aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
"aws-logs-subscriptionfilter.json",
+ "aws-logs-transformer.json",
"aws-m2-application.json",
"aws-m2-deployment.json",
- "aws-m2-environment.json",
"aws-macie-allowlist.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
@@ -1850,6 +1855,7 @@
"aws-sagemaker-cluster.json",
"aws-sagemaker-coderepository.json",
"aws-sagemaker-dataqualityjobdefinition.json",
+ "aws-sagemaker-domain.json",
"aws-sagemaker-endpointconfig.json",
"aws-sagemaker-featuregroup.json",
"aws-sagemaker-image.json",
@@ -1871,6 +1877,7 @@
"aws-sagemaker-project.json",
"aws-sagemaker-space.json",
"aws-sagemaker-studiolifecycleconfig.json",
+ "aws-sagemaker-userprofile.json",
"aws-sagemaker-workteam.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-cloudformation-typeactivation.json
deleted file mode 100644
index 730262bfac..0000000000
--- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-cloudformation-typeactivation.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ExecutionRoleArn",
- "/properties/LoggingConfig",
- "/properties/TypeNameAlias",
- "/properties/TypeName",
- "/properties/Type",
- "/properties/PublisherId",
- "/properties/PublicTypeArn"
- ],
- "definitions": {
- "LoggingConfig": {
- "additionalProperties": false,
- "properties": {
- "LogGroupName": {
- "maxLength": 512,
- "minLength": 1,
- "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
- "type": "string"
- },
- "LogRoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "oneOf": [
- {
- "required": [
- "TypeName",
- "PublisherId",
- "Type"
- ]
- },
- {
- "required": [
- "PublicTypeArn"
- ]
- }
- ],
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "AutoUpdate": {
- "type": "boolean"
- },
- "ExecutionRoleArn": {
- "type": "string"
- },
- "LoggingConfig": {
- "$ref": "#/definitions/LoggingConfig"
- },
- "MajorVersion": {
- "maxLength": 100000,
- "minLength": 1,
- "type": "string"
- },
- "PublicTypeArn": {
- "maxLength": 1024,
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "PublisherId": {
- "maxLength": 40,
- "minLength": 1,
- "pattern": "[0-9a-zA-Z-]{40}",
- "type": "string"
- },
- "Type": {
- "enum": [
- "RESOURCE",
- "MODULE",
- "HOOK"
- ],
- "type": "string"
- },
- "TypeName": {
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "TypeNameAlias": {
- "maxLength": 204,
- "minLength": 10,
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "VersionBump": {
- "enum": [
- "MAJOR",
- "MINOR"
- ],
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation",
- "typeName": "AWS::CloudFormation::TypeActivation"
-}
diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-elasticache-serverlesscache.json
deleted file mode 100644
index 3b7cde6c66..0000000000
--- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-elasticache-serverlesscache.json
+++ /dev/null
@@ -1,205 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ServerlessCacheName",
- "/properties/Engine",
- "/properties/MajorEngineVersion",
- "/properties/KmsKeyId",
- "/properties/SnapshotArnsToRestore",
- "/properties/SubnetIds"
- ],
- "definitions": {
- "CacheUsageLimits": {
- "additionalProperties": false,
- "properties": {
- "DataStorage": {
- "$ref": "#/definitions/DataStorage"
- },
- "ECPUPerSecond": {
- "$ref": "#/definitions/ECPUPerSecond"
- }
- },
- "type": "object"
- },
- "DataStorage": {
- "additionalProperties": false,
- "properties": {
- "Maximum": {
- "type": "integer"
- },
- "Minimum": {
- "type": "integer"
- },
- "Unit": {
- "enum": [
- "GB"
- ],
- "type": "string"
- }
- },
- "required": [
- "Unit"
- ],
- "type": "object"
- },
- "ECPUPerSecond": {
- "additionalProperties": false,
- "properties": {
- "Maximum": {
- "type": "integer"
- },
- "Minimum": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Endpoint": {
- "additionalProperties": false,
- "properties": {
- "Address": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)[a-zA-Z0-9 _\\.\\/=+:\\-@]*$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "pattern": "^[a-zA-Z0-9 _\\.\\/=+:\\-@]*$",
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ServerlessCacheName"
- ],
- "properties": {
- "ARN": {
- "type": "string"
- },
- "CacheUsageLimits": {
- "$ref": "#/definitions/CacheUsageLimits"
- },
- "CreateTime": {
- "type": "string"
- },
- "DailySnapshotTime": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Endpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "Engine": {
- "type": "string"
- },
- "FinalSnapshotName": {
- "type": "string"
- },
- "FullEngineVersion": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "MajorEngineVersion": {
- "type": "string"
- },
- "ReaderEndpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "ServerlessCacheName": {
- "type": "string"
- },
- "SnapshotArnsToRestore": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "SnapshotRetentionLimit": {
- "type": "integer"
- },
- "Status": {
- "type": "string"
- },
- "SubnetIds": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": true
- },
- "UserGroupId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/FullEngineVersion",
- "/properties/CreateTime",
- "/properties/Status",
- "/properties/Endpoint/Address",
- "/properties/Endpoint/Port",
- "/properties/ReaderEndpoint/Address",
- "/properties/ReaderEndpoint/Port",
- "/properties/ARN"
- ],
- "required": [
- "ServerlessCacheName",
- "Engine"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticache",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ElastiCache::ServerlessCache",
- "writeOnlyProperties": [
- "/properties/SnapshotArnsToRestore",
- "/properties/FinalSnapshotName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-domain.json
deleted file mode 100644
index e3dc615356..0000000000
--- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-domain.json
+++ /dev/null
@@ -1,870 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AuthMode",
- "/properties/DomainName",
- "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
- "/properties/KmsKeyId",
- "/properties/VpcId",
- "/properties/Tags"
- ],
- "definitions": {
- "AppLifecycleManagement": {
- "additionalProperties": false,
- "properties": {
- "IdleSettings": {
- "$ref": "#/definitions/IdleSettings"
- }
- },
- "type": "object"
- },
- "AppType": {
- "enum": [
- "JupyterServer",
- "TensorBoard",
- "RStudioServerPro",
- "JupyterLab",
- "CodeEditor",
- "DetailedProfiler",
- "Canvas"
- ],
- "type": "string"
- },
- "CodeEditorAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "CodeRepository": {
- "additionalProperties": false,
- "properties": {
- "RepositoryUrl": {
- "maxLength": 256,
- "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
- "type": "string"
- }
- },
- "required": [
- "RepositoryUrl"
- ],
- "type": "object"
- },
- "CustomFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "EFSFileSystemConfig": {
- "$ref": "#/definitions/EFSFileSystemConfig"
- }
- },
- "type": "object"
- },
- "CustomImage": {
- "additionalProperties": false,
- "properties": {
- "AppImageConfigName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "ImageName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "ImageVersionNumber": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "AppImageConfigName",
- "ImageName"
- ],
- "type": "object"
- },
- "CustomPosixUserConfig": {
- "additionalProperties": false,
- "properties": {
- "Gid": {
- "maximum": 4000000,
- "minimum": 1001,
- "type": "integer"
- },
- "Uid": {
- "maximum": 4000000,
- "minimum": 10000,
- "type": "integer"
- }
- },
- "required": [
- "Uid",
- "Gid"
- ],
- "type": "object"
- },
- "DefaultEbsStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- },
- "MaximumEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- }
- },
- "required": [
- "DefaultEbsVolumeSizeInGb",
- "MaximumEbsVolumeSizeInGb"
- ],
- "type": "object"
- },
- "DefaultSpaceSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomFileSystemConfigs": {
- "items": {
- "$ref": "#/definitions/CustomFileSystemConfig"
- },
- "maxItems": 2,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "CustomPosixUserConfig": {
- "$ref": "#/definitions/CustomPosixUserConfig"
- },
- "ExecutionRole": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "JupyterLabAppSettings": {
- "$ref": "#/definitions/JupyterLabAppSettings"
- },
- "JupyterServerAppSettings": {
- "$ref": "#/definitions/JupyterServerAppSettings"
- },
- "KernelGatewayAppSettings": {
- "$ref": "#/definitions/KernelGatewayAppSettings"
- },
- "SecurityGroups": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "SpaceStorageSettings": {
- "$ref": "#/definitions/DefaultSpaceStorageSettings"
- }
- },
- "required": [
- "ExecutionRole"
- ],
- "type": "object"
- },
- "DefaultSpaceStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsStorageSettings": {
- "$ref": "#/definitions/DefaultEbsStorageSettings"
- }
- },
- "type": "object"
- },
- "DockerSettings": {
- "additionalProperties": false,
- "properties": {
- "EnableDockerAccess": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "VpcOnlyTrustedAccounts": {
- "insertionOrder": false,
- "items": {
- "maxLength": 12,
- "minLength": 12,
- "pattern": "^\\d+$",
- "type": "string"
- },
- "maxItems": 20,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "DomainSettings": {
- "additionalProperties": false,
- "properties": {
- "DockerSettings": {
- "$ref": "#/definitions/DockerSettings"
- },
- "ExecutionRoleIdentityConfig": {
- "enum": [
- "USER_PROFILE_NAME",
- "DISABLED"
- ],
- "type": "string"
- },
- "RStudioServerProDomainSettings": {
- "$ref": "#/definitions/RStudioServerProDomainSettings"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "EFSFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "FileSystemId": {
- "maxLength": 21,
- "minLength": 11,
- "pattern": "^(fs-[0-9a-f]{8,})$",
- "type": "string"
- },
- "FileSystemPath": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^\\/\\S*$",
- "type": "string"
- }
- },
- "required": [
- "FileSystemId"
- ],
- "type": "object"
- },
- "IdleSettings": {
- "additionalProperties": false,
- "properties": {
- "IdleTimeoutInMinutes": {
- "$ref": "#/definitions/IdleTimeoutInMinutes"
- },
- "LifecycleManagement": {
- "$ref": "#/definitions/LifecycleManagement"
- },
- "MaxIdleTimeoutInMinutes": {
- "$ref": "#/definitions/MaxIdleTimeoutInMinutes"
- },
- "MinIdleTimeoutInMinutes": {
- "$ref": "#/definitions/MinIdleTimeoutInMinutes"
- }
- },
- "type": "object"
- },
- "IdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "JupyterLabAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeRepositories": {
- "items": {
- "$ref": "#/definitions/CodeRepository"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "JupyterServerAppSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "KernelGatewayAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "LifecycleManagement": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "MaxIdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "MinIdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "MlTools": {
- "enum": [
- "DataWrangler",
- "FeatureStore",
- "EmrClusters",
- "AutoMl",
- "Experiments",
- "Training",
- "ModelEvaluation",
- "Pipelines",
- "Models",
- "JumpStart",
- "InferenceRecommender",
- "Endpoints",
- "Projects",
- "InferenceOptimization"
- ],
- "type": "string"
- },
- "RSessionAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- }
- },
- "type": "object"
- },
- "RStudioServerProAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AccessStatus": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "UserGroup": {
- "enum": [
- "R_STUDIO_ADMIN",
- "R_STUDIO_USER"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "RStudioServerProDomainSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "DomainExecutionRoleArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "RStudioConnectUrl": {
- "pattern": "^(https:|http:|www\\.)\\S*",
- "type": "string"
- },
- "RStudioPackageManagerUrl": {
- "pattern": "^(https:|http:|www\\.)\\S*",
- "type": "string"
- }
- },
- "required": [
- "DomainExecutionRoleArn"
- ],
- "type": "object"
- },
- "ResourceSpec": {
- "additionalProperties": false,
- "properties": {
- "InstanceType": {
- "enum": [
- "system",
- "ml.t3.micro",
- "ml.t3.small",
- "ml.t3.medium",
- "ml.t3.large",
- "ml.t3.xlarge",
- "ml.t3.2xlarge",
- "ml.m5.large",
- "ml.m5.xlarge",
- "ml.m5.2xlarge",
- "ml.m5.4xlarge",
- "ml.m5.8xlarge",
- "ml.m5.12xlarge",
- "ml.m5.16xlarge",
- "ml.m5.24xlarge",
- "ml.c5.large",
- "ml.c5.xlarge",
- "ml.c5.2xlarge",
- "ml.c5.4xlarge",
- "ml.c5.9xlarge",
- "ml.c5.12xlarge",
- "ml.c5.18xlarge",
- "ml.c5.24xlarge",
- "ml.p3.2xlarge",
- "ml.p3.8xlarge",
- "ml.p3.16xlarge",
- "ml.g4dn.xlarge",
- "ml.g4dn.2xlarge",
- "ml.g4dn.4xlarge",
- "ml.g4dn.8xlarge",
- "ml.g4dn.12xlarge",
- "ml.g4dn.16xlarge",
- "ml.r5.large",
- "ml.r5.xlarge",
- "ml.r5.2xlarge",
- "ml.r5.4xlarge",
- "ml.r5.8xlarge",
- "ml.r5.12xlarge",
- "ml.r5.16xlarge",
- "ml.r5.24xlarge",
- "ml.p3dn.24xlarge",
- "ml.m5d.large",
- "ml.m5d.xlarge",
- "ml.m5d.2xlarge",
- "ml.m5d.4xlarge",
- "ml.m5d.8xlarge",
- "ml.m5d.12xlarge",
- "ml.m5d.16xlarge",
- "ml.m5d.24xlarge",
- "ml.g5.xlarge",
- "ml.g5.2xlarge",
- "ml.g5.4xlarge",
- "ml.g5.8xlarge",
- "ml.g5.12xlarge",
- "ml.g5.16xlarge",
- "ml.g5.24xlarge",
- "ml.g5.48xlarge",
- "ml.p4d.24xlarge",
- "ml.p4de.24xlarge",
- "ml.geospatial.interactive",
- "ml.trn1.2xlarge",
- "ml.trn1.32xlarge",
- "ml.trn1n.32xlarge"
- ],
- "type": "string"
- },
- "LifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "SageMakerImageArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
- "type": "string"
- },
- "SageMakerImageVersionArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SharingSettings": {
- "additionalProperties": false,
- "properties": {
- "NotebookOutputOption": {
- "enum": [
- "Allowed",
- "Disabled"
- ],
- "type": "string"
- },
- "S3KmsKeyId": {
- "maxLength": 2048,
- "pattern": ".*",
- "type": "string"
- },
- "S3OutputPath": {
- "maxLength": 1024,
- "pattern": "^(https|s3)://([^/]+)/?(.*)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SpaceEbsVolumeSizeInGb": {
- "maximum": 16384,
- "minimum": 5,
- "type": "integer"
- },
- "StudioLifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "additionalProperties": false,
- "properties": {
- "HiddenAppTypes": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/AppType"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "HiddenMlTools": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/MlTools"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- },
- "Value": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "UserSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeEditorAppSettings": {
- "$ref": "#/definitions/CodeEditorAppSettings"
- },
- "CustomFileSystemConfigs": {
- "items": {
- "$ref": "#/definitions/CustomFileSystemConfig"
- },
- "maxItems": 2,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "CustomPosixUserConfig": {
- "$ref": "#/definitions/CustomPosixUserConfig"
- },
- "DefaultLandingUri": {
- "maxLength": 1023,
- "type": "string"
- },
- "ExecutionRole": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "JupyterLabAppSettings": {
- "$ref": "#/definitions/JupyterLabAppSettings"
- },
- "JupyterServerAppSettings": {
- "$ref": "#/definitions/JupyterServerAppSettings"
- },
- "KernelGatewayAppSettings": {
- "$ref": "#/definitions/KernelGatewayAppSettings"
- },
- "RSessionAppSettings": {
- "$ref": "#/definitions/RSessionAppSettings"
- },
- "RStudioServerProAppSettings": {
- "$ref": "#/definitions/RStudioServerProAppSettings"
- },
- "SecurityGroups": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "SharingSettings": {
- "$ref": "#/definitions/SharingSettings"
- },
- "SpaceStorageSettings": {
- "$ref": "#/definitions/DefaultSpaceStorageSettings"
- },
- "StudioWebPortal": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "$ref": "#/definitions/StudioWebPortalSettings"
- }
- },
- "required": [
- "ExecutionRole"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/DomainId"
- ],
- "properties": {
- "AppNetworkAccessType": {
- "enum": [
- "PublicInternetOnly",
- "VpcOnly"
- ],
- "type": "string"
- },
- "AppSecurityGroupManagement": {
- "enum": [
- "Service",
- "Customer"
- ],
- "type": "string"
- },
- "AuthMode": {
- "enum": [
- "SSO",
- "IAM"
- ],
- "type": "string"
- },
- "DefaultSpaceSettings": {
- "$ref": "#/definitions/DefaultSpaceSettings"
- },
- "DefaultUserSettings": {
- "$ref": "#/definitions/UserSettings"
- },
- "DomainArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
- "type": "string"
- },
- "DomainId": {
- "maxLength": 63,
- "pattern": "^d-(-*[a-z0-9])+",
- "type": "string"
- },
- "DomainName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "DomainSettings": {
- "$ref": "#/definitions/DomainSettings"
- },
- "HomeEfsFileSystemId": {
- "maxLength": 32,
- "type": "string"
- },
- "KmsKeyId": {
- "maxLength": 2048,
- "pattern": ".*",
- "type": "string"
- },
- "SecurityGroupIdForDomainBoundary": {
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "SingleSignOnApplicationArn": {
- "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
- "type": "string"
- },
- "SingleSignOnManagedApplicationInstanceId": {
- "maxLength": 256,
- "type": "string"
- },
- "SubnetIds": {
- "insertionOrder": false,
- "items": {
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 16,
- "minItems": 1,
- "type": "array",
- "uniqueItems": false
- },
- "TagPropagation": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "Url": {
- "maxLength": 1024,
- "type": "string"
- },
- "VpcId": {
- "format": "AWS::EC2::VPC.Id",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/DomainArn",
- "/properties/Url",
- "/properties/DomainId",
- "/properties/HomeEfsFileSystemId",
- "/properties/SecurityGroupIdForDomainBoundary",
- "/properties/SingleSignOnManagedApplicationInstanceId",
- "/properties/SingleSignOnApplicationArn"
- ],
- "required": [
- "AuthMode",
- "DefaultUserSettings",
- "DomainName",
- "SubnetIds",
- "VpcId"
- ],
- "typeName": "AWS::SageMaker::Domain",
- "writeOnlyProperties": [
- "/properties/Tags"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-userprofile.json
deleted file mode 100644
index 76b5b0dad8..0000000000
--- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-userprofile.json
+++ /dev/null
@@ -1,633 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DomainId",
- "/properties/UserProfileName",
- "/properties/SingleSignOnUserIdentifier",
- "/properties/SingleSignOnUserValue",
- "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
- "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
- "/properties/Tags"
- ],
- "definitions": {
- "AppLifecycleManagement": {
- "additionalProperties": false,
- "properties": {
- "IdleSettings": {
- "$ref": "#/definitions/IdleSettings"
- }
- },
- "type": "object"
- },
- "AppType": {
- "enum": [
- "JupyterServer",
- "TensorBoard",
- "RStudioServerPro",
- "JupyterLab",
- "CodeEditor",
- "DetailedProfiler",
- "Canvas"
- ],
- "type": "string"
- },
- "CodeEditorAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "CodeRepository": {
- "additionalProperties": false,
- "properties": {
- "RepositoryUrl": {
- "maxLength": 256,
- "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
- "type": "string"
- }
- },
- "required": [
- "RepositoryUrl"
- ],
- "type": "object"
- },
- "CustomFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "EFSFileSystemConfig": {
- "$ref": "#/definitions/EFSFileSystemConfig"
- }
- },
- "type": "object"
- },
- "CustomImage": {
- "additionalProperties": false,
- "properties": {
- "AppImageConfigName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "ImageName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "ImageVersionNumber": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "AppImageConfigName",
- "ImageName"
- ],
- "type": "object"
- },
- "CustomPosixUserConfig": {
- "additionalProperties": false,
- "properties": {
- "Gid": {
- "maximum": 4000000,
- "minimum": 1001,
- "type": "integer"
- },
- "Uid": {
- "maximum": 4000000,
- "minimum": 10000,
- "type": "integer"
- }
- },
- "required": [
- "Uid",
- "Gid"
- ],
- "type": "object"
- },
- "DefaultEbsStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- },
- "MaximumEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- }
- },
- "required": [
- "DefaultEbsVolumeSizeInGb",
- "MaximumEbsVolumeSizeInGb"
- ],
- "type": "object"
- },
- "DefaultSpaceStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsStorageSettings": {
- "$ref": "#/definitions/DefaultEbsStorageSettings"
- }
- },
- "type": "object"
- },
- "EFSFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "FileSystemId": {
- "maxLength": 21,
- "minLength": 11,
- "pattern": "^(fs-[0-9a-f]{8,})$",
- "type": "string"
- },
- "FileSystemPath": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^\\/\\S*$",
- "type": "string"
- }
- },
- "required": [
- "FileSystemId"
- ],
- "type": "object"
- },
- "IdleSettings": {
- "additionalProperties": false,
- "properties": {
- "IdleTimeoutInMinutes": {
- "$ref": "#/definitions/IdleTimeoutInMinutes"
- },
- "LifecycleManagement": {
- "$ref": "#/definitions/LifecycleManagement"
- },
- "MaxIdleTimeoutInMinutes": {
- "$ref": "#/definitions/MaxIdleTimeoutInMinutes"
- },
- "MinIdleTimeoutInMinutes": {
- "$ref": "#/definitions/MinIdleTimeoutInMinutes"
- }
- },
- "type": "object"
- },
- "IdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "JupyterLabAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeRepositories": {
- "items": {
- "$ref": "#/definitions/CodeRepository"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "JupyterServerAppSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "KernelGatewayAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "LifecycleManagement": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "MaxIdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "MinIdleTimeoutInMinutes": {
- "maximum": 525600,
- "minimum": 60,
- "type": "integer"
- },
- "MlTools": {
- "enum": [
- "DataWrangler",
- "FeatureStore",
- "EmrClusters",
- "AutoMl",
- "Experiments",
- "Training",
- "ModelEvaluation",
- "Pipelines",
- "Models",
- "JumpStart",
- "InferenceRecommender",
- "Endpoints",
- "Projects",
- "InferenceOptimization"
- ],
- "type": "string"
- },
- "RStudioServerProAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AccessStatus": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "UserGroup": {
- "enum": [
- "R_STUDIO_ADMIN",
- "R_STUDIO_USER"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResourceSpec": {
- "additionalProperties": false,
- "properties": {
- "InstanceType": {
- "enum": [
- "system",
- "ml.t3.micro",
- "ml.t3.small",
- "ml.t3.medium",
- "ml.t3.large",
- "ml.t3.xlarge",
- "ml.t3.2xlarge",
- "ml.m5.large",
- "ml.m5.xlarge",
- "ml.m5.2xlarge",
- "ml.m5.4xlarge",
- "ml.m5.8xlarge",
- "ml.m5.12xlarge",
- "ml.m5.16xlarge",
- "ml.m5.24xlarge",
- "ml.c5.large",
- "ml.c5.xlarge",
- "ml.c5.2xlarge",
- "ml.c5.4xlarge",
- "ml.c5.9xlarge",
- "ml.c5.12xlarge",
- "ml.c5.18xlarge",
- "ml.c5.24xlarge",
- "ml.p3.2xlarge",
- "ml.p3.8xlarge",
- "ml.p3.16xlarge",
- "ml.g4dn.xlarge",
- "ml.g4dn.2xlarge",
- "ml.g4dn.4xlarge",
- "ml.g4dn.8xlarge",
- "ml.g4dn.12xlarge",
- "ml.g4dn.16xlarge",
- "ml.r5.large",
- "ml.r5.xlarge",
- "ml.r5.2xlarge",
- "ml.r5.4xlarge",
- "ml.r5.8xlarge",
- "ml.r5.12xlarge",
- "ml.r5.16xlarge",
- "ml.r5.24xlarge",
- "ml.p3dn.24xlarge",
- "ml.m5d.large",
- "ml.m5d.xlarge",
- "ml.m5d.2xlarge",
- "ml.m5d.4xlarge",
- "ml.m5d.8xlarge",
- "ml.m5d.12xlarge",
- "ml.m5d.16xlarge",
- "ml.m5d.24xlarge",
- "ml.g5.xlarge",
- "ml.g5.2xlarge",
- "ml.g5.4xlarge",
- "ml.g5.8xlarge",
- "ml.g5.12xlarge",
- "ml.g5.16xlarge",
- "ml.g5.24xlarge",
- "ml.g5.48xlarge",
- "ml.p4d.24xlarge",
- "ml.p4de.24xlarge",
- "ml.geospatial.interactive",
- "ml.trn1.2xlarge",
- "ml.trn1.32xlarge",
- "ml.trn1n.32xlarge"
- ],
- "type": "string"
- },
- "LifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "SageMakerImageArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
- "type": "string"
- },
- "SageMakerImageVersionArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SharingSettings": {
- "additionalProperties": false,
- "properties": {
- "NotebookOutputOption": {
- "enum": [
- "Allowed",
- "Disabled"
- ],
- "type": "string"
- },
- "S3KmsKeyId": {
- "maxLength": 2048,
- "pattern": ".*",
- "type": "string"
- },
- "S3OutputPath": {
- "maxLength": 1024,
- "pattern": "^(https|s3)://([^/]+)/?(.*)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SpaceEbsVolumeSizeInGb": {
- "maximum": 16384,
- "minimum": 5,
- "type": "integer"
- },
- "StudioLifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "additionalProperties": false,
- "properties": {
- "HiddenAppTypes": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/AppType"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "HiddenMlTools": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/MlTools"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- },
- "Value": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "UserSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeEditorAppSettings": {
- "$ref": "#/definitions/CodeEditorAppSettings"
- },
- "CustomFileSystemConfigs": {
- "items": {
- "$ref": "#/definitions/CustomFileSystemConfig"
- },
- "maxItems": 2,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "CustomPosixUserConfig": {
- "$ref": "#/definitions/CustomPosixUserConfig"
- },
- "DefaultLandingUri": {
- "maxLength": 1023,
- "type": "string"
- },
- "ExecutionRole": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "JupyterLabAppSettings": {
- "$ref": "#/definitions/JupyterLabAppSettings"
- },
- "JupyterServerAppSettings": {
- "$ref": "#/definitions/JupyterServerAppSettings"
- },
- "KernelGatewayAppSettings": {
- "$ref": "#/definitions/KernelGatewayAppSettings"
- },
- "RStudioServerProAppSettings": {
- "$ref": "#/definitions/RStudioServerProAppSettings"
- },
- "SecurityGroups": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "SharingSettings": {
- "$ref": "#/definitions/SharingSettings"
- },
- "SpaceStorageSettings": {
- "$ref": "#/definitions/DefaultSpaceStorageSettings"
- },
- "StudioWebPortal": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "$ref": "#/definitions/StudioWebPortalSettings"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/UserProfileName",
- "/properties/DomainId"
- ],
- "properties": {
- "DomainId": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^d-(-*[a-z0-9]){1,61}",
- "type": "string"
- },
- "SingleSignOnUserIdentifier": {
- "pattern": "UserName",
- "type": "string"
- },
- "SingleSignOnUserValue": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "UserProfileArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
- "type": "string"
- },
- "UserProfileName": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "UserSettings": {
- "$ref": "#/definitions/UserSettings",
- "maxItems": 50,
- "minItems": 0,
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/UserProfileArn"
- ],
- "required": [
- "DomainId",
- "UserProfileName"
- ],
- "typeName": "AWS::SageMaker::UserProfile",
- "writeOnlyProperties": [
- "/properties/Tags"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py
index 02155efefb..b6c3ec7fc9 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py
@@ -699,6 +699,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -839,6 +840,7 @@
"AWS::Logs::QueryDefinition",
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
+ "AWS::Logs::Transformer",
"AWS::LookoutEquipment::InferenceScheduler",
"AWS::LookoutMetrics::Alert",
"AWS::LookoutMetrics::AnomalyDetector",
@@ -928,6 +930,7 @@
"AWS::NetworkManager::CoreNetwork",
"AWS::NetworkManager::CustomerGatewayAssociation",
"AWS::NetworkManager::Device",
+ "AWS::NetworkManager::DirectConnectGatewayAttachment",
"AWS::NetworkManager::GlobalNetwork",
"AWS::NetworkManager::Link",
"AWS::NetworkManager::LinkAssociation",
@@ -1136,6 +1139,8 @@
"AWS::S3Outposts::Bucket",
"AWS::S3Outposts::BucketPolicy",
"AWS::S3Outposts::Endpoint",
+ "AWS::S3Tables::TableBucket",
+ "AWS::S3Tables::TableBucketPolicy",
"AWS::SDB::Domain",
"AWS::SES::ConfigurationSet",
"AWS::SES::ConfigurationSetEventDestination",
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtable.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtable.json
index 2fb41ebe1b..a7978859c9 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtable.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtable.json
@@ -253,6 +253,35 @@
],
"type": "object"
},
+ "AthenaTableReference": {
+ "additionalProperties": false,
+ "properties": {
+ "DatabaseName": {
+ "maxLength": 128,
+ "type": "string"
+ },
+ "OutputLocation": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "TableName": {
+ "maxLength": 128,
+ "type": "string"
+ },
+ "WorkGroup": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DatabaseName",
+ "TableName",
+ "WorkGroup"
+ ],
+ "type": "object"
+ },
"ConfiguredTableAnalysisRulePolicy": {
"additionalProperties": false,
"properties": {
@@ -416,19 +445,131 @@
],
"type": "string"
},
- "TableReference": {
+ "SnowflakeTableReference": {
"additionalProperties": false,
"properties": {
- "Glue": {
- "$ref": "#/definitions/GlueTableReference"
+ "AccountIdentifier": {
+ "maxLength": 256,
+ "minLength": 3,
+ "type": "string"
+ },
+ "DatabaseName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SchemaName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretArn": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "TableName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "TableSchema": {
+ "$ref": "#/definitions/SnowflakeTableSchema"
}
},
"required": [
- "Glue"
+ "AccountIdentifier",
+ "DatabaseName",
+ "SchemaName",
+ "SecretArn",
+ "TableName",
+ "TableSchema"
],
- "title": "Glue",
"type": "object"
},
+ "SnowflakeTableSchema": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "V1": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SnowflakeTableSchemaV1"
+ },
+ "maxItems": 250,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "V1"
+ ],
+ "title": "V1",
+ "type": "object"
+ }
+ ]
+ },
+ "SnowflakeTableSchemaV1": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 128,
+ "type": "string"
+ },
+ "ColumnType": {
+ "maxLength": 255,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "ColumnType"
+ ],
+ "type": "object"
+ },
+ "TableReference": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Glue": {
+ "$ref": "#/definitions/GlueTableReference"
+ }
+ },
+ "required": [
+ "Glue"
+ ],
+ "title": "Glue",
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Snowflake": {
+ "$ref": "#/definitions/SnowflakeTableReference"
+ }
+ },
+ "required": [
+ "Snowflake"
+ ],
+ "title": "Snowflake",
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Athena": {
+ "$ref": "#/definitions/AthenaTableReference"
+ }
+ },
+ "required": [
+ "Athena"
+ ],
+ "title": "Athena",
+ "type": "object"
+ }
+ ]
+ },
"Tag": {
"additionalProperties": false,
"properties": {
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtableassociation.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtableassociation.json
index 978f86b643..1daaf6d461 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtableassociation.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtableassociation.json
@@ -176,7 +176,7 @@
],
"properties": {
"Arn": {
- "maxLength": 100,
+ "maxLength": 256,
"type": "string"
},
"ConfiguredTableAssociationAnalysisRules": {
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudfront-distribution.json
index 066d90ae55..64c1b51fac 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudfront-distribution.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudfront-distribution.json
@@ -51,6 +51,9 @@
"type": "array",
"uniqueItems": false
},
+ "GrpcConfig": {
+ "$ref": "#/definitions/GrpcConfig"
+ },
"LambdaFunctionAssociations": {
"items": {
"$ref": "#/definitions/LambdaFunctionAssociation"
@@ -289,6 +292,9 @@
"type": "array",
"uniqueItems": false
},
+ "GrpcConfig": {
+ "$ref": "#/definitions/GrpcConfig"
+ },
"LambdaFunctionAssociations": {
"items": {
"$ref": "#/definitions/LambdaFunctionAssociation"
@@ -795,6 +801,18 @@
],
"type": "object"
},
+ "GrpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
"LambdaFunctionAssociation": {
"additionalProperties": false,
"properties": {
@@ -884,9 +902,6 @@
"type": "string"
}
},
- "required": [
- "Bucket"
- ],
"type": "object"
},
"Origin": {
@@ -969,6 +984,9 @@
},
"Members": {
"$ref": "#/definitions/OriginGroupMembers"
+ },
+ "SelectionCriteria": {
+ "$ref": "#/definitions/OriginGroupSelectionCriteria"
}
},
"required": [
@@ -1022,6 +1040,13 @@
],
"type": "object"
},
+ "OriginGroupSelectionCriteria": {
+ "enum": [
+ "default",
+ "media-quality-based"
+ ],
+ "type": "string"
+ },
"OriginGroups": {
"additionalProperties": false,
"properties": {
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-queue.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-queue.json
index c89bed2c63..0c823321dc 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-queue.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-queue.json
@@ -31,6 +31,19 @@
"pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:phone-number/[-a-zA-Z0-9]*$",
"type": "string"
},
+ "OutboundEmailAddressId": {
+ "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/email-address/[-a-zA-Z0-9]*$",
+ "type": "string"
+ },
+ "OutboundEmailConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OutboundEmailAddressId": {
+ "$ref": "#/definitions/OutboundEmailAddressId"
+ }
+ },
+ "type": "object"
+ },
"OutboundFlowArn": {
"maxLength": 500,
"minLength": 1,
@@ -92,6 +105,9 @@
"OutboundCallerConfig": {
"$ref": "#/definitions/OutboundCallerConfig"
},
+ "OutboundEmailConfig": {
+ "$ref": "#/definitions/OutboundEmailConfig"
+ },
"QueueArn": {
"pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/queue/[-a-zA-Z0-9]*$",
"type": "string"
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-tasktemplate.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-tasktemplate.json
index 07627141bc..97d8288921 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-tasktemplate.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-tasktemplate.json
@@ -236,6 +236,10 @@
"minLength": 1,
"type": "string"
},
+ "SelfAssignContactFlowArn": {
+ "pattern": "^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$",
+ "type": "string"
+ },
"Status": {
"$ref": "#/definitions/Status"
},
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-connectcampaignsv2-campaign.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-connectcampaignsv2-campaign.json
index 663e5b0749..deda17a553 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-connectcampaignsv2-campaign.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-connectcampaignsv2-campaign.json
@@ -240,6 +240,15 @@
},
"type": "object"
},
+ "EventTrigger": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomerProfilesDomainArn": {
+ "$ref": "#/definitions/Arn"
+ }
+ },
+ "type": "object"
+ },
"InstanceId": {
"maxLength": 256,
"minLength": 0,
@@ -439,11 +448,19 @@
"required": [
"CustomerProfilesSegmentArn"
]
+ },
+ {
+ "required": [
+ "EventTrigger"
+ ]
}
],
"properties": {
"CustomerProfilesSegmentArn": {
"$ref": "#/definitions/Arn"
+ },
+ "EventTrigger": {
+ "$ref": "#/definitions/EventTrigger"
}
},
"type": "object"
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-customergateway.json
index 64904e4f63..f9eff25652 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-customergateway.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-customergateway.json
@@ -41,7 +41,7 @@
"type": "number"
},
"CertificateArn": {
- "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso([a-z]{1})?))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
"type": "string"
},
"CustomerGatewayId": {
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-taskdefinition.json
index 35c2b1ed93..8b9f473363 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-taskdefinition.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-taskdefinition.json
@@ -4,6 +4,7 @@
"/properties/Family",
"/properties/ContainerDefinitions",
"/properties/Cpu",
+ "/properties/EnableFaultInjection",
"/properties/ExecutionRoleArn",
"/properties/InferenceAccelerators",
"/properties/Memory",
@@ -933,6 +934,9 @@
"Cpu": {
"type": "string"
},
+ "EnableFaultInjection": {
+ "type": "boolean"
+ },
"EphemeralStorage": {
"$ref": "#/definitions/EphemeralStorage"
},
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-emrserverless-application.json
index 1a44823941..97193bce96 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-emrserverless-application.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-emrserverless-application.json
@@ -12,7 +12,8 @@
"/properties/ImageConfiguration",
"/properties/MonitoringConfiguration",
"/properties/RuntimeConfiguration",
- "/properties/InteractiveConfiguration"
+ "/properties/InteractiveConfiguration",
+ "/properties/SchedulerConfiguration"
],
"createOnlyProperties": [
"/properties/Name",
@@ -349,6 +350,18 @@
}
}
},
+ "SchedulerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "MaxConcurrentRuns": {
+ "type": "integer"
+ },
+ "QueueTimeoutMinutes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
"SecurityGroupId": {
"format": "AWS::EC2::SecurityGroup.GroupId",
"maxLength": 32,
@@ -504,6 +517,9 @@
"RuntimeConfiguration": {
"$ref": "#/definitions/ConfigurationList"
},
+ "SchedulerConfiguration": {
+ "$ref": "#/definitions/SchedulerConfiguration"
+ },
"Tags": {
"insertionOrder": false,
"items": {
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-healthlake-fhirdatastore.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-healthlake-fhirdatastore.json
index f56c61048b..1a8bc150fd 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-healthlake-fhirdatastore.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-healthlake-fhirdatastore.json
@@ -60,6 +60,10 @@
},
"IdentityProviderConfiguration": {
"additionalProperties": false,
+ "default": {
+ "AuthorizationStrategy": "AWS_AUTH",
+ "FineGrainedAuthorizationEnabled": false
+ },
"properties": {
"AuthorizationStrategy": {
"enum": [
@@ -125,6 +129,11 @@
},
"SseConfiguration": {
"additionalProperties": false,
+ "default": {
+ "KmsEncryptionConfig": {
+ "CmkType": "AWS_OWNED_KMS_KEY"
+ }
+ },
"properties": {
"KmsEncryptionConfig": {
"$ref": "#/definitions/KmsEncryptionConfig"
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-command.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-command.json
new file mode 100644
index 0000000000..9fa61a98f9
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-command.json
@@ -0,0 +1,199 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CommandId"
+ ],
+ "definitions": {
+ "CommandParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "$ref": "#/definitions/CommandParameterValue"
+ },
+ "Description": {
+ "$ref": "#/definitions/CommandParameterDescription"
+ },
+ "Name": {
+ "$ref": "#/definitions/CommandParameterName"
+ },
+ "Value": {
+ "$ref": "#/definitions/CommandParameterValue"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "CommandParameterDescription": {
+ "maxLength": 2028,
+ "pattern": "[^\\p{C}]*",
+ "type": "string"
+ },
+ "CommandParameterList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CommandParameter"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "CommandParameterName": {
+ "maxLength": 192,
+ "minLength": 1,
+ "pattern": "^[.$a-zA-Z0-9_-]+$",
+ "type": "string"
+ },
+ "CommandParameterValue": {
+ "additionalProperties": false,
+ "properties": {
+ "B": {
+ "type": "boolean"
+ },
+ "BIN": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "D": {
+ "type": "number"
+ },
+ "I": {
+ "type": "integer"
+ },
+ "L": {
+ "maxLength": 19,
+ "pattern": "^-?\\d+$",
+ "type": "string"
+ },
+ "S": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "UL": {
+ "maxLength": 20,
+ "minLength": 1,
+ "pattern": "^[0-9]*$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CommandPayload": {
+ "additionalProperties": false,
+ "properties": {
+ "Content": {
+ "$ref": "#/definitions/CommandPayloadContent"
+ },
+ "ContentType": {
+ "$ref": "#/definitions/MimeType"
+ }
+ },
+ "type": "object"
+ },
+ "CommandPayloadContent": {
+ "type": "string"
+ },
+ "MimeType": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CommandId"
+ ],
+ "properties": {
+ "CommandArn": {
+ "type": "string"
+ },
+ "CommandId": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "type": "string"
+ },
+ "CreatedAt": {
+ "type": "string"
+ },
+ "Deprecated": {
+ "type": "boolean"
+ },
+ "Description": {
+ "maxLength": 2028,
+ "pattern": "[^\\p{C}]*",
+ "type": "string"
+ },
+ "DisplayName": {
+ "pattern": "[^\\p{C}]*",
+ "type": "string"
+ },
+ "LastUpdatedAt": {
+ "type": "string"
+ },
+ "MandatoryParameters": {
+ "$ref": "#/definitions/CommandParameterList"
+ },
+ "Namespace": {
+ "enum": [
+ "AWS-IoT",
+ "AWS-IoT-FleetWise"
+ ],
+ "type": "string"
+ },
+ "Payload": {
+ "$ref": "#/definitions/CommandPayload"
+ },
+ "PendingDeletion": {
+ "type": "boolean"
+ },
+ "RoleArn": {
+ "maxLength": 2028,
+ "minLength": 20,
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CommandArn"
+ ],
+ "required": [
+ "CommandId"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::IoT::Command",
+ "writeOnlyProperties": [
+ "/properties/LastUpdatedAt"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-loggroup.json
index dc9996082f..bf9e5c905f 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-loggroup.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-loggroup.json
@@ -39,6 +39,14 @@
"string"
]
},
+ "FieldIndexPolicies": {
+ "insertionOrder": false,
+ "items": {
+ "type": "object"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
"KmsKeyId": {
"maxLength": 256,
"pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-metricfilter.json
index dc29d53471..74039e4c4d 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-metricfilter.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-metricfilter.json
@@ -106,6 +106,9 @@
"/properties/FilterName"
],
"properties": {
+ "ApplyOnTransformedLogs": {
+ "type": "boolean"
+ },
"FilterName": {
"maxLength": 512,
"minLength": 1,
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-querydefinition.json
index a39f89cf2a..afdafa5729 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-querydefinition.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-querydefinition.json
@@ -29,6 +29,15 @@
"minLength": 0,
"type": "string"
},
+ "QueryLanguage": {
+ "default": "CWLI",
+ "enum": [
+ "CWLI",
+ "SQL",
+ "PPL"
+ ],
+ "type": "string"
+ },
"QueryString": {
"maxLength": 10000,
"minLength": 1,
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-subscriptionfilter.json
index f82a16ecb0..0b07130b61 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-subscriptionfilter.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-subscriptionfilter.json
@@ -10,6 +10,9 @@
"/properties/LogGroupName"
],
"properties": {
+ "ApplyOnTransformedLogs": {
+ "type": "boolean"
+ },
"DestinationArn": {
"type": "string"
},
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-transformer.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-transformer.json
new file mode 100644
index 0000000000..18f7633d1b
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-transformer.json
@@ -0,0 +1,624 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupIdentifier"
+ ],
+ "definitions": {
+ "AddKeyEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "$ref": "#/definitions/NonEmptyAndMaxLengthString"
+ },
+ "OverwriteIfExists": {
+ "type": "boolean"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "Column": {
+ "$ref": "#/definitions/NonEmptyAndMaxLengthString"
+ },
+ "CopyValueEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "OverwriteIfExists": {
+ "type": "boolean"
+ },
+ "Source": {
+ "$ref": "#/definitions/NonEmptyString"
+ },
+ "Target": {
+ "$ref": "#/definitions/NonEmptyAndMaxLengthString"
+ }
+ },
+ "required": [
+ "Source",
+ "Target"
+ ],
+ "type": "object"
+ },
+ "MatchPattern": {
+ "$ref": "#/definitions/NonEmptyString"
+ },
+ "MaxLengthString": {
+ "maxLength": 128,
+ "type": "string"
+ },
+ "MoveKeyEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "OverwriteIfExists": {
+ "type": "boolean"
+ },
+ "Source": {
+ "$ref": "#/definitions/NonEmptyString"
+ },
+ "Target": {
+ "$ref": "#/definitions/NonEmptyString"
+ }
+ },
+ "required": [
+ "Source",
+ "Target"
+ ],
+ "type": "object"
+ },
+ "NonEmptyAndMaxLengthString": {
+ "maxLength": 128,
+ "pattern": "^.*[a-zA-Z0-9]+.*$",
+ "type": "string"
+ },
+ "NonEmptyString": {
+ "pattern": "^.*[a-zA-Z0-9]+.*$",
+ "type": "string"
+ },
+ "ParseCloudfront": {
+ "additionalProperties": false,
+ "properties": {
+ "Source": {
+ "$ref": "#/definitions/NonEmptyString"
+ }
+ },
+ "type": "object"
+ },
+ "ParsePostgres": {
+ "additionalProperties": false,
+ "properties": {
+ "Source": {
+ "$ref": "#/definitions/NonEmptyString"
+ }
+ },
+ "type": "object"
+ },
+ "ParseRoute53": {
+ "additionalProperties": false,
+ "properties": {
+ "Source": {
+ "$ref": "#/definitions/NonEmptyString"
+ }
+ },
+ "type": "object"
+ },
+ "ParseVPC": {
+ "additionalProperties": false,
+ "properties": {
+ "Source": {
+ "$ref": "#/definitions/NonEmptyString"
+ }
+ },
+ "type": "object"
+ },
+ "ParseWAF": {
+ "additionalProperties": false,
+ "properties": {
+ "Source": {
+ "$ref": "#/definitions/NonEmptyString"
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "maxProperties": 1,
+ "minProperties": 1,
+ "properties": {
+ "AddKeys": {
+ "additionalProperties": false,
+ "properties": {
+ "Entries": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AddKeyEntry"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "Entries"
+ ],
+ "type": "object"
+ },
+ "CopyValue": {
+ "additionalProperties": false,
+ "properties": {
+ "Entries": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CopyValueEntry"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Entries"
+ ],
+ "type": "object"
+ },
+ "Csv": {
+ "additionalProperties": false,
+ "properties": {
+ "Columns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Column"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Delimiter": {
+ "maxLength": 1,
+ "type": "string"
+ },
+ "QuoteCharacter": {
+ "maxLength": 1,
+ "type": "string"
+ },
+ "Source": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DateTimeConverter": {
+ "additionalProperties": false,
+ "properties": {
+ "Locale": {
+ "type": "string"
+ },
+ "MatchPatterns": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MatchPattern"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Source": {
+ "$ref": "#/definitions/NonEmptyString"
+ },
+ "SourceTimezone": {
+ "type": "string"
+ },
+ "Target": {
+ "$ref": "#/definitions/NonEmptyAndMaxLengthString"
+ },
+ "TargetFormat": {
+ "type": "string"
+ },
+ "TargetTimezone": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Source",
+ "Target",
+ "MatchPatterns"
+ ],
+ "type": "object"
+ },
+ "DeleteKeys": {
+ "additionalProperties": false,
+ "properties": {
+ "WithKeys": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/WithKey"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "WithKeys"
+ ],
+ "type": "object"
+ },
+ "Grok": {
+ "additionalProperties": false,
+ "properties": {
+ "Match": {
+ "maxLength": 128,
+ "type": "string"
+ },
+ "Source": {
+ "$ref": "#/definitions/NonEmptyString"
+ }
+ },
+ "required": [
+ "Match"
+ ],
+ "type": "object"
+ },
+ "ListToMap": {
+ "additionalProperties": false,
+ "properties": {
+ "Flatten": {
+ "type": "boolean"
+ },
+ "FlattenedElement": {
+ "enum": [
+ "first",
+ "last"
+ ],
+ "type": "string"
+ },
+ "Key": {
+ "$ref": "#/definitions/NonEmptyString"
+ },
+ "Source": {
+ "$ref": "#/definitions/NonEmptyString"
+ },
+ "Target": {
+ "$ref": "#/definitions/NonEmptyAndMaxLengthString"
+ },
+ "ValueKey": {
+ "$ref": "#/definitions/NonEmptyString"
+ }
+ },
+ "required": [
+ "Source",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "LowerCaseString": {
+ "additionalProperties": false,
+ "properties": {
+ "WithKeys": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/WithKey"
+ },
+ "maxItems": 10,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "WithKeys"
+ ],
+ "type": "object"
+ },
+ "MoveKeys": {
+ "additionalProperties": false,
+ "properties": {
+ "Entries": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MoveKeyEntry"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Entries"
+ ],
+ "type": "object"
+ },
+ "ParseCloudfront": {
+ "$ref": "#/definitions/ParseCloudfront"
+ },
+ "ParseJSON": {
+ "additionalProperties": false,
+ "properties": {
+ "Destination": {
+ "$ref": "#/definitions/NonEmptyAndMaxLengthString"
+ },
+ "Source": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ParseKeyValue": {
+ "additionalProperties": false,
+ "properties": {
+ "Destination": {
+ "$ref": "#/definitions/NonEmptyString"
+ },
+ "FieldDelimiter": {
+ "type": "string"
+ },
+ "KeyPrefix": {
+ "$ref": "#/definitions/NonEmptyString"
+ },
+ "KeyValueDelimiter": {
+ "type": "string"
+ },
+ "NonMatchValue": {
+ "$ref": "#/definitions/NonEmptyString"
+ },
+ "OverwriteIfExists": {
+ "type": "boolean"
+ },
+ "Source": {
+ "$ref": "#/definitions/NonEmptyString"
+ }
+ },
+ "type": "object"
+ },
+ "ParsePostgres": {
+ "$ref": "#/definitions/ParsePostgres"
+ },
+ "ParseRoute53": {
+ "$ref": "#/definitions/ParseRoute53"
+ },
+ "ParseVPC": {
+ "$ref": "#/definitions/ParseVPC"
+ },
+ "ParseWAF": {
+ "$ref": "#/definitions/ParseWAF"
+ },
+ "RenameKeys": {
+ "additionalProperties": false,
+ "properties": {
+ "Entries": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/RenameKeyEntry"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Entries"
+ ],
+ "type": "object"
+ },
+ "SplitString": {
+ "additionalProperties": false,
+ "properties": {
+ "Entries": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SplitStringEntry"
+ },
+ "maxItems": 10,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Entries"
+ ],
+ "type": "object"
+ },
+ "SubstituteString": {
+ "additionalProperties": false,
+ "properties": {
+ "Entries": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SubstituteStringEntry"
+ },
+ "maxItems": 10,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Entries"
+ ],
+ "type": "object"
+ },
+ "TrimString": {
+ "additionalProperties": false,
+ "properties": {
+ "WithKeys": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/WithKey"
+ },
+ "maxItems": 10,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "WithKeys"
+ ],
+ "type": "object"
+ },
+ "TypeConverter": {
+ "additionalProperties": false,
+ "properties": {
+ "Entries": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/TypeConverterEntry"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Entries"
+ ],
+ "type": "object"
+ },
+ "UpperCaseString": {
+ "additionalProperties": false,
+ "properties": {
+ "WithKeys": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/WithKey"
+ },
+ "maxItems": 10,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "WithKeys"
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "RenameKeyEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "$ref": "#/definitions/NonEmptyString"
+ },
+ "OverwriteIfExists": {
+ "type": "boolean"
+ },
+ "RenameTo": {
+ "$ref": "#/definitions/NonEmptyString"
+ }
+ },
+ "required": [
+ "Key",
+ "RenameTo"
+ ],
+ "type": "object"
+ },
+ "SplitStringEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "Delimiter": {
+ "maxLength": 1,
+ "type": "string"
+ },
+ "Source": {
+ "$ref": "#/definitions/NonEmptyString"
+ }
+ },
+ "required": [
+ "Source",
+ "Delimiter"
+ ],
+ "type": "object"
+ },
+ "SubstituteStringEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "From": {
+ "$ref": "#/definitions/NonEmptyAndMaxLengthString"
+ },
+ "Source": {
+ "$ref": "#/definitions/NonEmptyString"
+ },
+ "To": {
+ "$ref": "#/definitions/NonEmptyAndMaxLengthString"
+ }
+ },
+ "required": [
+ "Source",
+ "From",
+ "To"
+ ],
+ "type": "object"
+ },
+ "TypeConverterEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "$ref": "#/definitions/NonEmptyString"
+ },
+ "Type": {
+ "enum": [
+ "boolean",
+ "integer",
+ "double",
+ "string"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "WithKey": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupIdentifier"
+ ],
+ "properties": {
+ "LogGroupIdentifier": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "[\\w#+=/:,.@-]*",
+ "type": "string"
+ },
+ "TransformerConfig": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "maxItems": 20,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "LogGroupIdentifier",
+ "TransformerConfig"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::Transformer"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-m2-environment.json
index 1c433a260d..65f6cde82f 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-m2-environment.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-m2-environment.json
@@ -5,6 +5,7 @@
"/properties/EngineType",
"/properties/KmsKeyId",
"/properties/Name",
+ "/properties/NetworkType",
"/properties/PubliclyAccessible",
"/properties/SecurityGroupIds",
"/properties/StorageConfigurations",
@@ -68,6 +69,13 @@
],
"type": "object"
},
+ "NetworkType": {
+ "enum": [
+ "ipv4",
+ "dual"
+ ],
+ "type": "string"
+ },
"StorageConfiguration": {
"oneOf": [
{
@@ -148,6 +156,9 @@
"pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
"type": "string"
},
+ "NetworkType": {
+ "$ref": "#/definitions/NetworkType"
+ },
"PreferredMaintenanceWindow": {
"pattern": "^\\S{1,50}$",
"type": "string"
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-msk-replicator.json
index 8ca994e218..5fa8e72b92 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-msk-replicator.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-msk-replicator.json
@@ -9,7 +9,12 @@
"/properties/ReplicatorName",
"/properties/Description",
"/properties/KafkaClusters",
- "/properties/ServiceExecutionRoleArn"
+ "/properties/ServiceExecutionRoleArn",
+ "/properties/ReplicationInfoList/*/SourceKafkaClusterArn",
+ "/properties/ReplicationInfoList/*/TargetKafkaClusterArn",
+ "/properties/ReplicationInfoList/*/TargetCompressionType",
+ "/properties/ReplicationInfoList/*/TopicReplication/StartingPosition",
+ "/properties/ReplicationInfoList/*/TopicReplication/TopicNameConfiguration"
],
"definitions": {
"AmazonMskCluster": {
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-networkmanager-directconnectgatewayattachment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-networkmanager-directconnectgatewayattachment.json
new file mode 100644
index 0000000000..a50d408bf9
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-networkmanager-directconnectgatewayattachment.json
@@ -0,0 +1,168 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/CoreNetworkId",
+ "/properties/DirectConnectGatewayArn"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CoreNetworkId",
+ "/properties/DirectConnectGatewayArn"
+ ],
+ "definitions": {
+ "ProposedNetworkFunctionGroupChange": {
+ "additionalProperties": false,
+ "properties": {
+ "AttachmentPolicyRuleNumber": {
+ "type": "integer"
+ },
+ "NetworkFunctionGroupName": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "ProposedSegmentChange": {
+ "additionalProperties": false,
+ "properties": {
+ "AttachmentPolicyRuleNumber": {
+ "type": "integer"
+ },
+ "SegmentName": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AttachmentId"
+ ],
+ "properties": {
+ "AttachmentId": {
+ "type": "string"
+ },
+ "AttachmentPolicyRuleNumber": {
+ "type": "integer"
+ },
+ "AttachmentType": {
+ "type": "string"
+ },
+ "CoreNetworkArn": {
+ "type": "string"
+ },
+ "CoreNetworkId": {
+ "pattern": "^core-network-([0-9a-f]{8,17})$",
+ "type": "string"
+ },
+ "CreatedAt": {
+ "type": "string"
+ },
+ "DirectConnectGatewayArn": {
+ "pattern": "^arn:[^:]{1,63}:directconnect::[^:]{0,63}:dx-gateway\\/[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$",
+ "type": "string"
+ },
+ "EdgeLocations": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "NetworkFunctionGroupName": {
+ "type": "string"
+ },
+ "OwnerAccountId": {
+ "type": "string"
+ },
+ "ProposedNetworkFunctionGroupChange": {
+ "$ref": "#/definitions/ProposedNetworkFunctionGroupChange"
+ },
+ "ProposedSegmentChange": {
+ "$ref": "#/definitions/ProposedSegmentChange"
+ },
+ "ResourceArn": {
+ "type": "string"
+ },
+ "SegmentName": {
+ "type": "string"
+ },
+ "State": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "UpdatedAt": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CoreNetworkArn",
+ "/properties/CreatedAt",
+ "/properties/UpdatedAt",
+ "/properties/AttachmentType",
+ "/properties/State",
+ "/properties/AttachmentId",
+ "/properties/OwnerAccountId",
+ "/properties/AttachmentPolicyRuleNumber",
+ "/properties/SegmentName",
+ "/properties/NetworkFunctionGroupName",
+ "/properties/ResourceArn"
+ ],
+ "required": [
+ "CoreNetworkId",
+ "DirectConnectGatewayArn",
+ "EdgeLocations"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkmanager/aws-networkmanager-directconnectgatewayattachment",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::NetworkManager::DirectConnectGatewayAttachment"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-organizations-policy.json
index eb45adde3d..43a4121a24 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-organizations-policy.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-organizations-policy.json
@@ -87,7 +87,8 @@
"BACKUP_POLICY",
"TAG_POLICY",
"CHATBOT_POLICY",
- "RESOURCE_CONTROL_POLICY"
+ "RESOURCE_CONTROL_POLICY",
+ "DECLARATIVE_POLICY_EC2"
],
"type": "string"
}
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ram-resourceshare.json
index e55421c92f..ea9a4cf036 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ram-resourceshare.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ram-resourceshare.json
@@ -12,14 +12,14 @@
}
},
"required": [
- "Value",
- "Key"
+ "Key",
+ "Value"
],
"type": "object"
}
},
"primaryIdentifier": [
- "/properties/Id"
+ "/properties/Arn"
],
"properties": {
"AllowExternalPrincipals": {
@@ -28,54 +28,65 @@
"Arn": {
"type": "string"
},
- "Id": {
- "type": "string"
- },
"Name": {
"type": "string"
},
"PermissionArns": {
+ "insertionOrder": false,
"items": {
"type": "string"
},
- "type": "array",
- "uniqueItems": false
+ "type": "array"
},
"Principals": {
+ "insertionOrder": false,
"items": {
"type": "string"
},
- "type": "array",
- "uniqueItems": false
+ "type": "array"
},
"ResourceArns": {
+ "insertionOrder": false,
"items": {
"type": "string"
},
- "type": "array",
- "uniqueItems": false
+ "type": "array"
},
"Sources": {
+ "insertionOrder": false,
"items": {
"type": "string"
},
- "type": "array",
- "uniqueItems": false
+ "type": "array"
},
"Tags": {
+ "insertionOrder": false,
"items": {
"$ref": "#/definitions/Tag"
},
"type": "array",
- "uniqueItems": false
+ "uniqueItems": true
}
},
"readOnlyProperties": [
- "/properties/Id",
"/properties/Arn"
],
"required": [
"Name"
],
- "typeName": "AWS::RAM::ResourceShare"
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ram",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RAM::ResourceShare",
+ "writeOnlyProperties": [
+ "/properties/PermissionArns",
+ "/properties/Principals",
+ "/properties/ResourceArns",
+ "/properties/Sources"
+ ]
}
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-customdbengineversion.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-customdbengineversion.json
index ae6cc1e635..e81df04548 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-customdbengineversion.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-customdbengineversion.json
@@ -110,7 +110,7 @@
"propertyTransform": {
"/properties/Engine": "$lowercase(Engine)",
"/properties/EngineVersion": "$lowercase(EngineVersion)",
- "/properties/KMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KMSKeyId])"
+ "/properties/KMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KMSKeyId])"
},
"readOnlyProperties": [
"/properties/DBEngineVersionArn"
@@ -121,6 +121,10 @@
],
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
"tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
"taggable": true
},
"typeName": "AWS::RDS::CustomDBEngineVersion",
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-redshiftserverless-workgroup.json
index 60a6356907..607749193c 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-redshiftserverless-workgroup.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-redshiftserverless-workgroup.json
@@ -59,6 +59,27 @@
},
"type": "object"
},
+ "PerformanceTarget": {
+ "additionalProperties": false,
+ "properties": {
+ "Level": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "Status": {
+ "$ref": "#/definitions/PerformanceTargetStatus"
+ }
+ },
+ "type": "object"
+ },
+ "PerformanceTargetStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
"Tag": {
"additionalProperties": false,
"properties": {
@@ -131,6 +152,9 @@
"pattern": "^[a-z0-9-]+$",
"type": "string"
},
+ "PricePerformanceTarget": {
+ "$ref": "#/definitions/PerformanceTarget"
+ },
"PubliclyAccessible": {
"type": "boolean"
},
@@ -216,6 +240,10 @@
"Port": {
"type": "integer"
},
+ "PricePerformanceTarget": {
+ "$ref": "#/definitions/PerformanceTarget",
+ "type": "object"
+ },
"PubliclyAccessible": {
"default": false,
"type": "boolean"
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-s3express-directorybucket.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-s3express-directorybucket.json
index ea6eeee322..4e23df157a 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-s3express-directorybucket.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-s3express-directorybucket.json
@@ -167,7 +167,8 @@
},
"DataRedundancy": {
"enum": [
- "SingleAvailabilityZone"
+ "SingleAvailabilityZone",
+ "SingleLocalZone"
],
"type": "string"
},
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-s3tables-tablebucket.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-s3tables-tablebucket.json
similarity index 100%
rename from src/cfnlint/data/schemas/providers/us_east_2/aws-s3tables-tablebucket.json
rename to src/cfnlint/data/schemas/providers/us_east_1/aws-s3tables-tablebucket.json
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-s3tables-tablebucketpolicy.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-s3tables-tablebucketpolicy.json
similarity index 100%
rename from src/cfnlint/data/schemas/providers/us_east_2/aws-s3tables-tablebucketpolicy.json
rename to src/cfnlint/data/schemas/providers/us_east_1/aws-s3tables-tablebucketpolicy.json
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-workspaces-workspacespool.json
index 19c638ca23..b035efdff4 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-workspaces-workspacespool.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-workspaces-workspacespool.json
@@ -151,8 +151,5 @@
"tagUpdatable": false,
"taggable": true
},
- "typeName": "AWS::WorkSpaces::WorkspacesPool",
- "writeOnlyProperties": [
- "/properties/Tags"
- ]
+ "typeName": "AWS::WorkSpaces::WorkspacesPool"
}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py
index 638b080749..6134dd72cf 100644
--- a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py
@@ -629,6 +629,7 @@
"AWS::InspectorV2::CisScanConfiguration",
"AWS::InspectorV2::Filter",
"AWS::InternetMonitor::Monitor",
+ "AWS::Invoicing::InvoiceUnit",
"AWS::IoT1Click::Device",
"AWS::IoT1Click::Placement",
"AWS::IoT1Click::Project",
@@ -638,6 +639,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -752,6 +754,7 @@
"AWS::LookoutMetrics::AnomalyDetector",
"AWS::LookoutVision::Project",
"AWS::M2::Application",
+ "AWS::M2::Deployment",
"AWS::M2::Environment",
"AWS::MSK::BatchScramSecret",
"AWS::MSK::Cluster",
@@ -809,6 +812,7 @@
"AWS::MediaTailor::VodSource",
"AWS::MemoryDB::ACL",
"AWS::MemoryDB::Cluster",
+ "AWS::MemoryDB::MultiRegionCluster",
"AWS::MemoryDB::ParameterGroup",
"AWS::MemoryDB::SubnetGroup",
"AWS::MemoryDB::User",
@@ -830,6 +834,7 @@
"AWS::NetworkManager::CoreNetwork",
"AWS::NetworkManager::CustomerGatewayAssociation",
"AWS::NetworkManager::Device",
+ "AWS::NetworkManager::DirectConnectGatewayAttachment",
"AWS::NetworkManager::GlobalNetwork",
"AWS::NetworkManager::Link",
"AWS::NetworkManager::LinkAssociation",
@@ -1370,12 +1375,12 @@
"aws-cloudformation-resourceversion.json",
"aws-cloudformation-stack.json",
"aws-cloudformation-stackset.json",
+ "aws-cloudformation-typeactivation.json",
"aws-cloudformation-waitcondition.json",
"aws-cloudformation-waitconditionhandle.json",
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -1525,7 +1530,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1642,6 +1646,7 @@
"aws-elasticache-replicationgroup.json",
"aws-elasticache-securitygroup.json",
"aws-elasticache-securitygroupingress.json",
+ "aws-elasticache-serverlesscache.json",
"aws-elasticache-subnetgroup.json",
"aws-elasticache-user.json",
"aws-elasticbeanstalk-application.json",
@@ -1805,12 +1810,14 @@
"aws-inspectorv2-cisscanconfiguration.json",
"aws-inspectorv2-filter.json",
"aws-internetmonitor-monitor.json",
+ "aws-invoicing-invoiceunit.json",
"aws-iot-accountauditconfiguration.json",
"aws-iot-authorizer.json",
"aws-iot-billinggroup.json",
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1854,6 +1861,7 @@
"aws-kafkaconnect-workerconfiguration.json",
"aws-kendra-datasource.json",
"aws-kendra-faq.json",
+ "aws-kendra-index.json",
"aws-kendraranking-executionplan.json",
"aws-kinesis-resourcepolicy.json",
"aws-kinesis-stream.json",
@@ -1914,17 +1922,13 @@
"aws-logs-destination.json",
"aws-logs-integration.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-lookoutmetrics-alert.json",
"aws-lookoutmetrics-anomalydetector.json",
"aws-lookoutvision-project.json",
"aws-m2-application.json",
- "aws-m2-environment.json",
+ "aws-m2-deployment.json",
"aws-macie-allowlist.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
@@ -1970,6 +1974,8 @@
"aws-mediatailor-sourcelocation.json",
"aws-mediatailor-vodsource.json",
"aws-memorydb-acl.json",
+ "aws-memorydb-cluster.json",
+ "aws-memorydb-multiregioncluster.json",
"aws-memorydb-parametergroup.json",
"aws-memorydb-subnetgroup.json",
"aws-memorydb-user.json",
@@ -1977,7 +1983,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
@@ -1999,6 +2004,7 @@
"aws-networkmanager-corenetwork.json",
"aws-networkmanager-customergatewayassociation.json",
"aws-networkmanager-device.json",
+ "aws-networkmanager-directconnectgatewayattachment.json",
"aws-networkmanager-globalnetwork.json",
"aws-networkmanager-link.json",
"aws-networkmanager-linkassociation.json",
@@ -2063,9 +2069,7 @@
"aws-quicksight-topic.json",
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
- "aws-rds-customdbengineversion.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
@@ -2092,7 +2096,6 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
- "aws-redshiftserverless-workgroup.json",
"aws-refactorspaces-application.json",
"aws-refactorspaces-route.json",
"aws-refactorspaces-service.json",
@@ -2148,13 +2151,14 @@
"aws-s3-storagelens.json",
"aws-s3-storagelensgroup.json",
"aws-s3express-bucketpolicy.json",
- "aws-s3express-directorybucket.json",
"aws-s3objectlambda-accesspoint.json",
"aws-s3objectlambda-accesspointpolicy.json",
"aws-s3outposts-accesspoint.json",
"aws-s3outposts-bucket.json",
"aws-s3outposts-bucketpolicy.json",
"aws-s3outposts-endpoint.json",
+ "aws-s3tables-tablebucket.json",
+ "aws-s3tables-tablebucketpolicy.json",
"aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-cluster.json",
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudformation-typeactivation.json
deleted file mode 100644
index 730262bfac..0000000000
--- a/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudformation-typeactivation.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ExecutionRoleArn",
- "/properties/LoggingConfig",
- "/properties/TypeNameAlias",
- "/properties/TypeName",
- "/properties/Type",
- "/properties/PublisherId",
- "/properties/PublicTypeArn"
- ],
- "definitions": {
- "LoggingConfig": {
- "additionalProperties": false,
- "properties": {
- "LogGroupName": {
- "maxLength": 512,
- "minLength": 1,
- "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
- "type": "string"
- },
- "LogRoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "oneOf": [
- {
- "required": [
- "TypeName",
- "PublisherId",
- "Type"
- ]
- },
- {
- "required": [
- "PublicTypeArn"
- ]
- }
- ],
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "AutoUpdate": {
- "type": "boolean"
- },
- "ExecutionRoleArn": {
- "type": "string"
- },
- "LoggingConfig": {
- "$ref": "#/definitions/LoggingConfig"
- },
- "MajorVersion": {
- "maxLength": 100000,
- "minLength": 1,
- "type": "string"
- },
- "PublicTypeArn": {
- "maxLength": 1024,
- "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+",
- "type": "string"
- },
- "PublisherId": {
- "maxLength": 40,
- "minLength": 1,
- "pattern": "[0-9a-zA-Z-]{40}",
- "type": "string"
- },
- "Type": {
- "enum": [
- "RESOURCE",
- "MODULE",
- "HOOK"
- ],
- "type": "string"
- },
- "TypeName": {
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "TypeNameAlias": {
- "maxLength": 204,
- "minLength": 10,
- "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}",
- "type": "string"
- },
- "VersionBump": {
- "enum": [
- "MAJOR",
- "MINOR"
- ],
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation",
- "typeName": "AWS::CloudFormation::TypeActivation"
-}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-elasticache-serverlesscache.json
deleted file mode 100644
index 3b7cde6c66..0000000000
--- a/src/cfnlint/data/schemas/providers/us_east_2/aws-elasticache-serverlesscache.json
+++ /dev/null
@@ -1,205 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ServerlessCacheName",
- "/properties/Engine",
- "/properties/MajorEngineVersion",
- "/properties/KmsKeyId",
- "/properties/SnapshotArnsToRestore",
- "/properties/SubnetIds"
- ],
- "definitions": {
- "CacheUsageLimits": {
- "additionalProperties": false,
- "properties": {
- "DataStorage": {
- "$ref": "#/definitions/DataStorage"
- },
- "ECPUPerSecond": {
- "$ref": "#/definitions/ECPUPerSecond"
- }
- },
- "type": "object"
- },
- "DataStorage": {
- "additionalProperties": false,
- "properties": {
- "Maximum": {
- "type": "integer"
- },
- "Minimum": {
- "type": "integer"
- },
- "Unit": {
- "enum": [
- "GB"
- ],
- "type": "string"
- }
- },
- "required": [
- "Unit"
- ],
- "type": "object"
- },
- "ECPUPerSecond": {
- "additionalProperties": false,
- "properties": {
- "Maximum": {
- "type": "integer"
- },
- "Minimum": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Endpoint": {
- "additionalProperties": false,
- "properties": {
- "Address": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)[a-zA-Z0-9 _\\.\\/=+:\\-@]*$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "pattern": "^[a-zA-Z0-9 _\\.\\/=+:\\-@]*$",
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ServerlessCacheName"
- ],
- "properties": {
- "ARN": {
- "type": "string"
- },
- "CacheUsageLimits": {
- "$ref": "#/definitions/CacheUsageLimits"
- },
- "CreateTime": {
- "type": "string"
- },
- "DailySnapshotTime": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Endpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "Engine": {
- "type": "string"
- },
- "FinalSnapshotName": {
- "type": "string"
- },
- "FullEngineVersion": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "MajorEngineVersion": {
- "type": "string"
- },
- "ReaderEndpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "ServerlessCacheName": {
- "type": "string"
- },
- "SnapshotArnsToRestore": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "SnapshotRetentionLimit": {
- "type": "integer"
- },
- "Status": {
- "type": "string"
- },
- "SubnetIds": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": true
- },
- "UserGroupId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/FullEngineVersion",
- "/properties/CreateTime",
- "/properties/Status",
- "/properties/Endpoint/Address",
- "/properties/Endpoint/Port",
- "/properties/ReaderEndpoint/Address",
- "/properties/ReaderEndpoint/Port",
- "/properties/ARN"
- ],
- "required": [
- "ServerlessCacheName",
- "Engine"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticache",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ElastiCache::ServerlessCache",
- "writeOnlyProperties": [
- "/properties/SnapshotArnsToRestore",
- "/properties/FinalSnapshotName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-kendra-index.json
deleted file mode 100644
index 1dfc2d6d88..0000000000
--- a/src/cfnlint/data/schemas/providers/us_east_2/aws-kendra-index.json
+++ /dev/null
@@ -1,394 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Edition",
- "/properties/ServerSideEncryptionConfiguration"
- ],
- "definitions": {
- "Arn": {
- "maxLength": 1000,
- "type": "string"
- },
- "CapacityUnitsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "QueryCapacityUnits": {
- "$ref": "#/definitions/QueryCapacityUnits"
- },
- "StorageCapacityUnits": {
- "$ref": "#/definitions/StorageCapacityUnits"
- }
- },
- "required": [
- "StorageCapacityUnits",
- "QueryCapacityUnits"
- ],
- "type": "object"
- },
- "ClaimRegex": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Description": {
- "maxLength": 1000,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "DocumentAttributeValueType": {
- "enum": [
- "STRING_VALUE",
- "STRING_LIST_VALUE",
- "LONG_VALUE",
- "DATE_VALUE"
- ],
- "type": "string"
- },
- "DocumentMetadataConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "$ref": "#/definitions/DocumentMetadataConfigurationName"
- },
- "Relevance": {
- "$ref": "#/definitions/Relevance"
- },
- "Search": {
- "$ref": "#/definitions/Search"
- },
- "Type": {
- "$ref": "#/definitions/DocumentAttributeValueType"
- }
- },
- "required": [
- "Name",
- "Type"
- ],
- "type": "object"
- },
- "DocumentMetadataConfigurationList": {
- "items": {
- "$ref": "#/definitions/DocumentMetadataConfiguration"
- },
- "maxItems": 500,
- "type": "array"
- },
- "DocumentMetadataConfigurationName": {
- "maxLength": 30,
- "minLength": 1,
- "type": "string"
- },
- "Duration": {
- "maxLength": 10,
- "minLength": 1,
- "pattern": "[0-9]+[s]",
- "type": "string"
- },
- "Edition": {
- "enum": [
- "DEVELOPER_EDITION",
- "ENTERPRISE_EDITION"
- ],
- "type": "string"
- },
- "Freshness": {
- "type": "boolean"
- },
- "GroupAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "Id": {
- "maxLength": 36,
- "minLength": 36,
- "type": "string"
- },
- "Importance": {
- "maximum": 10,
- "minimum": 1,
- "type": "integer"
- },
- "Issuer": {
- "maxLength": 65,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "JsonTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "UserNameAttributeField",
- "GroupAttributeField"
- ],
- "type": "object"
- },
- "JwtTokenTypeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ClaimRegex": {
- "$ref": "#/definitions/ClaimRegex"
- },
- "GroupAttributeField": {
- "$ref": "#/definitions/GroupAttributeField"
- },
- "Issuer": {
- "$ref": "#/definitions/Issuer"
- },
- "KeyLocation": {
- "$ref": "#/definitions/KeyLocation"
- },
- "SecretManagerArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "URL": {
- "$ref": "#/definitions/Url"
- },
- "UserNameAttributeField": {
- "$ref": "#/definitions/UserNameAttributeField"
- }
- },
- "required": [
- "KeyLocation"
- ],
- "type": "object"
- },
- "KeyLocation": {
- "enum": [
- "URL",
- "SECRET_MANAGER"
- ],
- "type": "string"
- },
- "KmsKeyId": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 1000,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*",
- "type": "string"
- },
- "Order": {
- "enum": [
- "ASCENDING",
- "DESCENDING"
- ],
- "type": "string"
- },
- "QueryCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Relevance": {
- "additionalProperties": false,
- "properties": {
- "Duration": {
- "$ref": "#/definitions/Duration"
- },
- "Freshness": {
- "$ref": "#/definitions/Freshness"
- },
- "Importance": {
- "$ref": "#/definitions/Importance"
- },
- "RankOrder": {
- "$ref": "#/definitions/Order"
- },
- "ValueImportanceItems": {
- "$ref": "#/definitions/ValueImportanceItems"
- }
- },
- "type": "object"
- },
- "RoleArn": {
- "maxLength": 1284,
- "minLength": 1,
- "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}",
- "type": "string"
- },
- "Search": {
- "additionalProperties": false,
- "properties": {
- "Displayable": {
- "type": "boolean"
- },
- "Facetable": {
- "type": "boolean"
- },
- "Searchable": {
- "type": "boolean"
- },
- "Sortable": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ServerSideEncryptionConfiguration": {
- "additionalProperties": false,
- "properties": {
- "KmsKeyId": {
- "$ref": "#/definitions/KmsKeyId"
- }
- },
- "type": "object"
- },
- "StorageCapacityUnits": {
- "minimum": 0,
- "type": "integer"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TagList": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 200,
- "type": "array"
- },
- "Url": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)",
- "type": "string"
- },
- "UserContextPolicy": {
- "enum": [
- "ATTRIBUTE_FILTER",
- "USER_TOKEN"
- ],
- "type": "string"
- },
- "UserNameAttributeField": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^\\P{C}*$",
- "type": "string"
- },
- "UserTokenConfiguration": {
- "additionalProperties": false,
- "properties": {
- "JsonTokenTypeConfiguration": {
- "$ref": "#/definitions/JsonTokenTypeConfiguration"
- },
- "JwtTokenTypeConfiguration": {
- "$ref": "#/definitions/JwtTokenTypeConfiguration"
- }
- },
- "type": "object"
- },
- "UserTokenConfigurationList": {
- "items": {
- "$ref": "#/definitions/UserTokenConfiguration"
- },
- "maxItems": 1,
- "type": "array"
- },
- "ValueImportanceItem": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "$ref": "#/definitions/ValueImportanceItemKey"
- },
- "Value": {
- "$ref": "#/definitions/Importance"
- }
- },
- "type": "object"
- },
- "ValueImportanceItemKey": {
- "maxLength": 50,
- "minLength": 1,
- "type": "string"
- },
- "ValueImportanceItems": {
- "items": {
- "$ref": "#/definitions/ValueImportanceItem"
- },
- "type": "array"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "$ref": "#/definitions/Arn"
- },
- "CapacityUnits": {
- "$ref": "#/definitions/CapacityUnitsConfiguration"
- },
- "Description": {
- "$ref": "#/definitions/Description"
- },
- "DocumentMetadataConfigurations": {
- "$ref": "#/definitions/DocumentMetadataConfigurationList"
- },
- "Edition": {
- "$ref": "#/definitions/Edition"
- },
- "Id": {
- "$ref": "#/definitions/Id"
- },
- "Name": {
- "$ref": "#/definitions/Name"
- },
- "RoleArn": {
- "$ref": "#/definitions/RoleArn"
- },
- "ServerSideEncryptionConfiguration": {
- "$ref": "#/definitions/ServerSideEncryptionConfiguration"
- },
- "Tags": {
- "$ref": "#/definitions/TagList"
- },
- "UserContextPolicy": {
- "$ref": "#/definitions/UserContextPolicy"
- },
- "UserTokenConfigurations": {
- "$ref": "#/definitions/UserTokenConfigurationList"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn"
- ],
- "required": [
- "Name",
- "RoleArn",
- "Edition"
- ],
- "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html",
- "typeName": "AWS::Kendra::Index"
-}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-memorydb-cluster.json
deleted file mode 100644
index cba3a3f129..0000000000
--- a/src/cfnlint/data/schemas/providers/us_east_2/aws-memorydb-cluster.json
+++ /dev/null
@@ -1,195 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ClusterName",
- "/properties/TLSEnabled",
- "/properties/DataTiering",
- "/properties/KmsKeyId",
- "/properties/Port",
- "/properties/SubnetGroupName",
- "/properties/SnapshotArns",
- "/properties/SnapshotName"
- ],
- "definitions": {
- "DataTieringStatus": {
- "enum": [
- "true",
- "false"
- ],
- "type": "string"
- },
- "Endpoint": {
- "additionalProperties": false,
- "properties": {
- "Address": {
- "type": "string"
- },
- "Port": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,128}$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,256}$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ClusterName"
- ],
- "properties": {
- "ACLName": {
- "pattern": "[a-zA-Z][a-zA-Z0-9\\-]*",
- "type": "string"
- },
- "ARN": {
- "type": "string"
- },
- "AutoMinorVersionUpgrade": {
- "type": "boolean"
- },
- "ClusterEndpoint": {
- "$ref": "#/definitions/Endpoint"
- },
- "ClusterName": {
- "pattern": "[a-z][a-z0-9\\-]*",
- "type": "string"
- },
- "DataTiering": {
- "$ref": "#/definitions/DataTieringStatus",
- "type": "object"
- },
- "Description": {
- "type": "string"
- },
- "Engine": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "FinalSnapshotName": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "MaintenanceWindow": {
- "type": "string"
- },
- "NodeType": {
- "type": "string"
- },
- "NumReplicasPerShard": {
- "type": "integer"
- },
- "NumShards": {
- "type": "integer"
- },
- "ParameterGroupName": {
- "type": "string"
- },
- "ParameterGroupStatus": {
- "type": "string"
- },
- "Port": {
- "type": "integer"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SnapshotArns": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SnapshotName": {
- "type": "string"
- },
- "SnapshotRetentionLimit": {
- "type": "integer"
- },
- "SnapshotWindow": {
- "type": "string"
- },
- "SnsTopicArn": {
- "type": "string"
- },
- "SnsTopicStatus": {
- "type": "string"
- },
- "Status": {
- "type": "string"
- },
- "SubnetGroupName": {
- "type": "string"
- },
- "TLSEnabled": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/Status",
- "/properties/ClusterEndpoint/Address",
- "/properties/ClusterEndpoint/Port",
- "/properties/ARN",
- "/properties/ParameterGroupStatus"
- ],
- "required": [
- "ClusterName",
- "NodeType",
- "ACLName"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-memorydb",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::MemoryDB::Cluster",
- "writeOnlyProperties": [
- "/properties/SnapshotArns",
- "/properties/SnapshotName",
- "/properties/FinalSnapshotName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-msk-replicator.json
new file mode 100644
index 0000000000..8ca994e218
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-msk-replicator.json
@@ -0,0 +1,321 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "ReplicationTopicNameConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationTopicNameConfigurationType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationTopicNameConfigurationType": {
+ "enum": [
+ "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS",
+ "IDENTICAL"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicNameConfiguration": {
+ "$ref": "#/definitions/ReplicationTopicNameConfiguration"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-customdbengineversion.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-customdbengineversion.json
new file mode 100644
index 0000000000..ae6cc1e635
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-customdbengineversion.json
@@ -0,0 +1,132 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Engine",
+ "/properties/EngineVersion",
+ "/properties/DatabaseInstallationFilesS3BucketName",
+ "/properties/DatabaseInstallationFilesS3Prefix",
+ "/properties/ImageId",
+ "/properties/KMSKeyId",
+ "/properties/Manifest",
+ "/properties/SourceCustomDbEngineVersionIdentifier",
+ "/properties/UseAwsProvidedLatestImage"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Engine",
+ "/properties/EngineVersion"
+ ],
+ "properties": {
+ "DBEngineVersionArn": {
+ "type": "string"
+ },
+ "DatabaseInstallationFilesS3BucketName": {
+ "maxLength": 63,
+ "minLength": 3,
+ "type": "string"
+ },
+ "DatabaseInstallationFilesS3Prefix": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Engine": {
+ "maxLength": 35,
+ "minLength": 1,
+ "pattern": "^[A-Za-z0-9-]{1,35}$",
+ "type": "string"
+ },
+ "EngineVersion": {
+ "maxLength": 60,
+ "minLength": 1,
+ "pattern": "^[a-z0-9_.-]{1,60}$",
+ "type": "string"
+ },
+ "ImageId": {
+ "format": "AWS::EC2::Image.Id",
+ "type": "string"
+ },
+ "KMSKeyId": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9_:\\-\\/]+",
+ "type": "string"
+ },
+ "Manifest": {
+ "maxLength": 51000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "SourceCustomDbEngineVersionIdentifier": {
+ "type": "string"
+ },
+ "Status": {
+ "default": "available",
+ "enum": [
+ "available",
+ "inactive",
+ "inactive-except-restore"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UseAwsProvidedLatestImage": {
+ "type": "boolean"
+ }
+ },
+ "propertyTransform": {
+ "/properties/Engine": "$lowercase(Engine)",
+ "/properties/EngineVersion": "$lowercase(EngineVersion)",
+ "/properties/KMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KMSKeyId])"
+ },
+ "readOnlyProperties": [
+ "/properties/DBEngineVersionArn"
+ ],
+ "required": [
+ "Engine",
+ "EngineVersion"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "taggable": true
+ },
+ "typeName": "AWS::RDS::CustomDBEngineVersion",
+ "writeOnlyProperties": [
+ "/properties/Manifest",
+ "/properties/SourceCustomDbEngineVersionIdentifier",
+ "/properties/UseAwsProvidedLatestImage"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-redshiftserverless-workgroup.json
new file mode 100644
index 0000000000..60a6356907
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-redshiftserverless-workgroup.json
@@ -0,0 +1,312 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/WorkgroupName",
+ "/properties/NamespaceName"
+ ],
+ "definitions": {
+ "ConfigParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterKey": {
+ "maxLength": 255,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ParameterValue": {
+ "maxLength": 15000,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "VpcEndpoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/VpcEndpoint"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkInterface": {
+ "additionalProperties": false,
+ "properties": {
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ },
+ "SubnetId": {
+ "format": "AWS::EC2::Subnet.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "VpcEndpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkInterfaces": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "type": "array"
+ },
+ "VpcEndpointId": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Workgroup": {
+ "additionalProperties": false,
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CreationDate": {
+ "type": "string"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "EnhancedVpcRouting": {
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]+$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "$ref": "#/definitions/WorkgroupStatus"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "WorkgroupArn": {
+ "type": "string"
+ },
+ "WorkgroupId": {
+ "type": "string"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]*$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "WorkgroupStatus": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "MODIFYING",
+ "DELETING"
+ ],
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/WorkgroupName"
+ ],
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "EnhancedVpcRouting": {
+ "default": false,
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array"
+ },
+ "Workgroup": {
+ "$ref": "#/definitions/Workgroup"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Workgroup",
+ "/properties/Workgroup/WorkgroupId",
+ "/properties/Workgroup/WorkgroupArn",
+ "/properties/Workgroup/WorkgroupName",
+ "/properties/Workgroup/NamespaceName",
+ "/properties/Workgroup/BaseCapacity",
+ "/properties/Workgroup/MaxCapacity",
+ "/properties/Workgroup/EnhancedVpcRouting",
+ "/properties/Workgroup/ConfigParameters/*/ParameterKey",
+ "/properties/Workgroup/ConfigParameters/*/ParameterValue",
+ "/properties/Workgroup/SecurityGroupIds",
+ "/properties/Workgroup/SubnetIds",
+ "/properties/Workgroup/Status",
+ "/properties/Workgroup/Endpoint/Address",
+ "/properties/Workgroup/Endpoint/Port",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone",
+ "/properties/Workgroup/PubliclyAccessible",
+ "/properties/Workgroup/CreationDate"
+ ],
+ "required": [
+ "WorkgroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RedshiftServerless::Workgroup",
+ "writeOnlyProperties": [
+ "/properties/BaseCapacity",
+ "/properties/MaxCapacity",
+ "/properties/ConfigParameters",
+ "/properties/SecurityGroupIds",
+ "/properties/SubnetIds"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-s3express-directorybucket.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-s3express-directorybucket.json
new file mode 100644
index 0000000000..ea6eeee322
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-s3express-directorybucket.json
@@ -0,0 +1,196 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/BucketName",
+ "/properties/LocationName",
+ "/properties/DataRedundancy"
+ ],
+ "definitions": {
+ "AbortIncompleteMultipartUpload": {
+ "additionalProperties": false,
+ "properties": {
+ "DaysAfterInitiation": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DaysAfterInitiation"
+ ],
+ "type": "object"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "BucketEncryption": {
+ "additionalProperties": false,
+ "properties": {
+ "ServerSideEncryptionConfiguration": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ServerSideEncryptionRule"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "ServerSideEncryptionConfiguration"
+ ],
+ "type": "object"
+ },
+ "LifecycleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Rules": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Rule"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "Rules"
+ ],
+ "type": "object"
+ },
+ "Rule": {
+ "additionalProperties": false,
+ "properties": {
+ "AbortIncompleteMultipartUpload": {
+ "$ref": "#/definitions/AbortIncompleteMultipartUpload"
+ },
+ "ExpirationInDays": {
+ "type": "integer"
+ },
+ "Id": {
+ "maxLength": 255,
+ "type": "string"
+ },
+ "ObjectSizeGreaterThan": {
+ "maxLength": 20,
+ "pattern": "[0-9]+",
+ "type": "string"
+ },
+ "ObjectSizeLessThan": {
+ "maxLength": 20,
+ "pattern": "[0-9]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "type": "string"
+ },
+ "Status": {
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Status"
+ ],
+ "type": "object"
+ },
+ "ServerSideEncryptionByDefault": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSMasterKeyID": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/KeyId",
+ "typeName": "AWS::KMS::Key"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ }
+ }
+ ],
+ "type": "string"
+ },
+ "SSEAlgorithm": {
+ "enum": [
+ "aws:kms",
+ "AES256"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "SSEAlgorithm"
+ ],
+ "type": "object"
+ },
+ "ServerSideEncryptionRule": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketKeyEnabled": {
+ "type": "boolean"
+ },
+ "ServerSideEncryptionByDefault": {
+ "$ref": "#/definitions/ServerSideEncryptionByDefault"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/BucketName"
+ ],
+ "properties": {
+ "Arn": {
+ "$ref": "#/definitions/Arn",
+ "examples": [
+ "arn:aws:s3express:us-west-2:123456789123:bucket/DOC-EXAMPLE-BUCKET--usw2-az1--x-s3"
+ ]
+ },
+ "AvailabilityZoneName": {
+ "examples": [
+ "us-east-1f"
+ ],
+ "type": "string"
+ },
+ "BucketEncryption": {
+ "$ref": "#/definitions/BucketEncryption"
+ },
+ "BucketName": {
+ "maxLength": 63,
+ "pattern": "^[a-z0-9][a-z0-9//.//-]*[a-z0-9]$",
+ "type": "string"
+ },
+ "DataRedundancy": {
+ "enum": [
+ "SingleAvailabilityZone"
+ ],
+ "type": "string"
+ },
+ "LifecycleConfiguration": {
+ "$ref": "#/definitions/LifecycleConfiguration"
+ },
+ "LocationName": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/AvailabilityZoneName"
+ ],
+ "required": [
+ "LocationName",
+ "DataRedundancy"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::S3Express::DirectoryBucket"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py
index 74731fc854..da282159dc 100644
--- a/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py
@@ -860,7 +860,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1090,13 +1089,9 @@
"aws-logs-deliverydestination.json",
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
- "aws-m2-environment.json",
+ "aws-m2-application.json",
"aws-msk-batchscramsecret.json",
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
@@ -1132,10 +1127,8 @@
"aws-opsworks-volume.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbsecuritygroup.json",
"aws-rds-dbsecuritygroupingress.json",
@@ -1282,7 +1275,6 @@
"aws-wafv2-loggingconfiguration.json",
"aws-wafv2-webaclassociation.json",
"aws-workspaces-workspace.json",
- "aws-workspaces-workspacespool.json",
"aws-xray-resourcepolicy.json",
"module.json",
]
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-application.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-application.json
deleted file mode 100644
index 6a62b38cd3..0000000000
--- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-application.json
+++ /dev/null
@@ -1,122 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/EngineType",
- "/properties/Name",
- "/properties/KmsKeyId",
- "/properties/RoleArn"
- ],
- "definitions": {
- "Definition": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "S3Location": {
- "pattern": "^\\S{1,2000}$",
- "type": "string"
- }
- },
- "required": [
- "S3Location"
- ],
- "title": "S3Location",
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "Content": {
- "maxLength": 6500,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Content"
- ],
- "title": "Content",
- "type": "object"
- }
- ]
- },
- "EngineType": {
- "enum": [
- "microfocus",
- "bluage"
- ],
- "type": "string"
- },
- "TagMap": {
- "additionalProperties": false,
- "maxProperties": 200,
- "minProperties": 0,
- "patternProperties": {
- "^(?!aws:).+$": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/ApplicationArn"
- ],
- "properties": {
- "ApplicationArn": {
- "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
- "type": "string"
- },
- "ApplicationId": {
- "pattern": "^\\S{1,80}$",
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/Definition"
- },
- "Description": {
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "EngineType": {
- "$ref": "#/definitions/EngineType"
- },
- "KmsKeyId": {
- "maxLength": 2048,
- "type": "string"
- },
- "Name": {
- "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
- "type": "string"
- },
- "RoleArn": {
- "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]|):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
- "type": "string"
- },
- "Tags": {
- "$ref": "#/definitions/TagMap"
- }
- },
- "readOnlyProperties": [
- "/properties/ApplicationArn",
- "/properties/ApplicationId"
- ],
- "required": [
- "Definition",
- "EngineType",
- "Name"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::M2::Application",
- "writeOnlyProperties": [
- "/properties/Definition"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json
new file mode 100644
index 0000000000..19c638ca23
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json
@@ -0,0 +1,158 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/PoolName"
+ ],
+ "definitions": {
+ "ApplicationSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SettingsGroup": {
+ "maxLength": 100,
+ "pattern": "^[A-Za-z0-9_./()!*'-]+$",
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/ApplicationSettingsStatus"
+ }
+ },
+ "required": [
+ "Status"
+ ],
+ "type": "object"
+ },
+ "ApplicationSettingsStatus": {
+ "enum": [
+ "DISABLED",
+ "ENABLED"
+ ],
+ "type": "string"
+ },
+ "Capacity": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredUserSessions": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredUserSessions"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TimeoutSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DisconnectTimeoutInSeconds": {
+ "maximum": 36000,
+ "minimum": 60,
+ "type": "integer"
+ },
+ "IdleDisconnectTimeoutInSeconds": {
+ "maximum": 36000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "MaxUserDurationInSeconds": {
+ "maximum": 432000,
+ "minimum": 600,
+ "type": "integer"
+ }
+ },
+ "required": [],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/PoolId"
+ ],
+ "properties": {
+ "ApplicationSettings": {
+ "$ref": "#/definitions/ApplicationSettings"
+ },
+ "BundleId": {
+ "pattern": "^wsb-[0-9a-z]{8,63}$",
+ "type": "string"
+ },
+ "Capacity": {
+ "$ref": "#/definitions/Capacity"
+ },
+ "CreatedAt": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_./() -]+$",
+ "type": "string"
+ },
+ "DirectoryId": {
+ "maxLength": 65,
+ "minLength": 10,
+ "pattern": "^wsd-[0-9a-z]{8,63}$",
+ "type": "string"
+ },
+ "PoolArn": {
+ "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$",
+ "type": "string"
+ },
+ "PoolId": {
+ "pattern": "^wspool-[0-9a-z]{9}$",
+ "type": "string"
+ },
+ "PoolName": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TimeoutSettings": {
+ "$ref": "#/definitions/TimeoutSettings"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/PoolId",
+ "/properties/PoolArn",
+ "/properties/CreatedAt"
+ ],
+ "required": [
+ "PoolName",
+ "BundleId",
+ "DirectoryId",
+ "Capacity"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": false,
+ "taggable": true
+ },
+ "typeName": "AWS::WorkSpaces::WorkspacesPool",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py
index 4e7218407e..28423d0038 100644
--- a/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py
@@ -679,6 +679,7 @@
"AWS::S3::AccessPoint",
"AWS::S3::Bucket",
"AWS::S3::BucketPolicy",
+ "AWS::S3::StorageLensGroup",
"AWS::S3ObjectLambda::AccessPoint",
"AWS::S3ObjectLambda::AccessPointPolicy",
"AWS::S3Outposts::AccessPoint",
@@ -840,6 +841,7 @@
"aws-apigateway-documentationversion.json",
"aws-apigateway-domainname.json",
"aws-apigateway-domainnameaccessassociation.json",
+ "aws-apigateway-domainnamev2.json",
"aws-apigateway-gatewayresponse.json",
"aws-apigateway-method.json",
"aws-apigateway-model.json",
@@ -1014,7 +1016,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1086,6 +1087,7 @@
"aws-ec2-vpcendpointservice.json",
"aws-ec2-vpcendpointservicepermissions.json",
"aws-ec2-vpcpeeringconnection.json",
+ "aws-ec2-vpnconnection.json",
"aws-ec2-vpnconnectionroute.json",
"aws-ec2-vpngateway.json",
"aws-ec2-vpngatewayroutepropagation.json",
@@ -1271,13 +1273,8 @@
"aws-logs-deliverydestination.json",
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
- "aws-m2-environment.json",
"aws-msk-batchscramsecret.json",
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
@@ -1339,7 +1336,6 @@
"aws-quicksight-theme.json",
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbsecuritygroup.json",
"aws-rds-dbsecuritygroupingress.json",
@@ -1383,6 +1379,7 @@
"aws-s3-accesspoint.json",
"aws-s3-bucket.json",
"aws-s3-bucketpolicy.json",
+ "aws-s3-storagelensgroup.json",
"aws-s3objectlambda-accesspoint.json",
"aws-s3objectlambda-accesspointpolicy.json",
"aws-s3outposts-accesspoint.json",
@@ -1502,7 +1499,6 @@
"aws-wafv2-loggingconfiguration.json",
"aws-wafv2-webaclassociation.json",
"aws-workspaces-workspace.json",
- "aws-workspaces-workspacespool.json",
"aws-xray-resourcepolicy.json",
"module.json",
]
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-domainnamev2.json
deleted file mode 100644
index 04d35d51f4..0000000000
--- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-domainnamev2.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DomainName",
- "/properties/SecurityPolicy",
- "/properties/EndpointConfiguration"
- ],
- "definitions": {
- "EndpointConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Types": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/DomainNameArn"
- ],
- "properties": {
- "CertificateArn": {
- "type": "string"
- },
- "DomainName": {
- "type": "string"
- },
- "DomainNameArn": {
- "type": "string"
- },
- "DomainNameId": {
- "type": "string"
- },
- "EndpointConfiguration": {
- "$ref": "#/definitions/EndpointConfiguration"
- },
- "ManagementPolicy": {
- "type": [
- "object",
- "string"
- ]
- },
- "Policy": {
- "type": [
- "object",
- "string"
- ]
- },
- "SecurityPolicy": {
- "type": "string"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/DomainNameId",
- "/properties/DomainNameArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ApiGateway::DomainNameV2"
-}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-vpnconnection.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-vpnconnection.json
deleted file mode 100644
index a9d5be394d..0000000000
--- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-vpnconnection.json
+++ /dev/null
@@ -1,383 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Type",
- "/properties/CustomerGatewayId",
- "/properties/VpnGatewayId",
- "/properties/TransitGatewayId",
- "/properties/EnableAcceleration",
- "/properties/LocalIpv4NetworkCidr",
- "/properties/LocalIpv6NetworkCidr",
- "/properties/OutsideIpAddressType",
- "/properties/RemoteIpv4NetworkCidr",
- "/properties/RemoteIpv6NetworkCidr",
- "/properties/StaticRoutesOnly",
- "/properties/TransportTransitGatewayAttachmentId",
- "/properties/TunnelInsideIpVersion",
- "/properties/VpnTunnelOptionsSpecifications"
- ],
- "definitions": {
- "CloudwatchLogOptionsSpecification": {
- "additionalProperties": false,
- "properties": {
- "LogEnabled": {
- "type": "boolean"
- },
- "LogGroupArn": {
- "type": "string"
- },
- "LogOutputFormat": {
- "enum": [
- "json",
- "text"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "IKEVersionsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "ikev1",
- "ikev2"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Phase1DHGroupNumbersRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- 2,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24
- ],
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Phase1EncryptionAlgorithmsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "AES128",
- "AES256",
- "AES128-GCM-16",
- "AES256-GCM-16"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Phase1IntegrityAlgorithmsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "SHA1",
- "SHA2-256",
- "SHA2-384",
- "SHA2-512"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Phase2DHGroupNumbersRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- 2,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24
- ],
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Phase2EncryptionAlgorithmsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "AES128",
- "AES256",
- "AES128-GCM-16",
- "AES256-GCM-16"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Phase2IntegrityAlgorithmsRequestListValue": {
- "additionalProperties": false,
- "properties": {
- "Value": {
- "enum": [
- "SHA1",
- "SHA2-256",
- "SHA2-384",
- "SHA2-512"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- },
- "VpnTunnelLogOptionsSpecification": {
- "additionalProperties": false,
- "properties": {
- "CloudwatchLogOptions": {
- "$ref": "#/definitions/CloudwatchLogOptionsSpecification"
- }
- },
- "type": "object"
- },
- "VpnTunnelOptionsSpecification": {
- "additionalProperties": false,
- "properties": {
- "DPDTimeoutAction": {
- "enum": [
- "clear",
- "none",
- "restart"
- ],
- "type": "string"
- },
- "DPDTimeoutSeconds": {
- "minimum": 30,
- "type": "integer"
- },
- "EnableTunnelLifecycleControl": {
- "type": "boolean"
- },
- "IKEVersions": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/IKEVersionsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "LogOptions": {
- "$ref": "#/definitions/VpnTunnelLogOptionsSpecification"
- },
- "Phase1DHGroupNumbers": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase1DHGroupNumbersRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase1EncryptionAlgorithms": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase1EncryptionAlgorithmsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase1IntegrityAlgorithms": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase1IntegrityAlgorithmsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase1LifetimeSeconds": {
- "maximum": 28800,
- "minimum": 900,
- "type": "integer"
- },
- "Phase2DHGroupNumbers": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase2DHGroupNumbersRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase2EncryptionAlgorithms": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase2EncryptionAlgorithmsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase2IntegrityAlgorithms": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Phase2IntegrityAlgorithmsRequestListValue"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Phase2LifetimeSeconds": {
- "maximum": 3600,
- "minimum": 900,
- "type": "integer"
- },
- "PreSharedKey": {
- "type": "string"
- },
- "RekeyFuzzPercentage": {
- "maximum": 100,
- "minimum": 0,
- "type": "integer"
- },
- "RekeyMarginTimeSeconds": {
- "minimum": 60,
- "type": "integer"
- },
- "ReplayWindowSize": {
- "maximum": 2048,
- "minimum": 64,
- "type": "integer"
- },
- "StartupAction": {
- "enum": [
- "add",
- "start"
- ],
- "type": "string"
- },
- "TunnelInsideCidr": {
- "type": "string"
- },
- "TunnelInsideIpv6Cidr": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/VpnConnectionId"
- ],
- "properties": {
- "CustomerGatewayId": {
- "type": "string"
- },
- "EnableAcceleration": {
- "type": "boolean"
- },
- "LocalIpv4NetworkCidr": {
- "type": "string"
- },
- "LocalIpv6NetworkCidr": {
- "type": "string"
- },
- "OutsideIpAddressType": {
- "type": "string"
- },
- "RemoteIpv4NetworkCidr": {
- "type": "string"
- },
- "RemoteIpv6NetworkCidr": {
- "type": "string"
- },
- "StaticRoutesOnly": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TransitGatewayId": {
- "type": "string"
- },
- "TransportTransitGatewayAttachmentId": {
- "type": "string"
- },
- "TunnelInsideIpVersion": {
- "type": "string"
- },
- "Type": {
- "type": "string"
- },
- "VpnConnectionId": {
- "type": "string"
- },
- "VpnGatewayId": {
- "type": "string"
- },
- "VpnTunnelOptionsSpecifications": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/VpnTunnelOptionsSpecification"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/VpnConnectionId"
- ],
- "required": [
- "Type",
- "CustomerGatewayId"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::EC2::VPNConnection"
-}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-organizations-policy.json
index c643b0cf6f..eb45adde3d 100644
--- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-organizations-policy.json
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-organizations-policy.json
@@ -86,7 +86,8 @@
"AISERVICES_OPT_OUT_POLICY",
"BACKUP_POLICY",
"TAG_POLICY",
- "CHATBOT_POLICY"
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
],
"type": "string"
}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json
new file mode 100644
index 0000000000..19c638ca23
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json
@@ -0,0 +1,158 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/PoolName"
+ ],
+ "definitions": {
+ "ApplicationSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SettingsGroup": {
+ "maxLength": 100,
+ "pattern": "^[A-Za-z0-9_./()!*'-]+$",
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/ApplicationSettingsStatus"
+ }
+ },
+ "required": [
+ "Status"
+ ],
+ "type": "object"
+ },
+ "ApplicationSettingsStatus": {
+ "enum": [
+ "DISABLED",
+ "ENABLED"
+ ],
+ "type": "string"
+ },
+ "Capacity": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredUserSessions": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredUserSessions"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TimeoutSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DisconnectTimeoutInSeconds": {
+ "maximum": 36000,
+ "minimum": 60,
+ "type": "integer"
+ },
+ "IdleDisconnectTimeoutInSeconds": {
+ "maximum": 36000,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "MaxUserDurationInSeconds": {
+ "maximum": 432000,
+ "minimum": 600,
+ "type": "integer"
+ }
+ },
+ "required": [],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/PoolId"
+ ],
+ "properties": {
+ "ApplicationSettings": {
+ "$ref": "#/definitions/ApplicationSettings"
+ },
+ "BundleId": {
+ "pattern": "^wsb-[0-9a-z]{8,63}$",
+ "type": "string"
+ },
+ "Capacity": {
+ "$ref": "#/definitions/Capacity"
+ },
+ "CreatedAt": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_./() -]+$",
+ "type": "string"
+ },
+ "DirectoryId": {
+ "maxLength": 65,
+ "minLength": 10,
+ "pattern": "^wsd-[0-9a-z]{8,63}$",
+ "type": "string"
+ },
+ "PoolArn": {
+ "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$",
+ "type": "string"
+ },
+ "PoolId": {
+ "pattern": "^wspool-[0-9a-z]{9}$",
+ "type": "string"
+ },
+ "PoolName": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TimeoutSettings": {
+ "$ref": "#/definitions/TimeoutSettings"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/PoolId",
+ "/properties/PoolArn",
+ "/properties/CreatedAt"
+ ],
+ "required": [
+ "PoolName",
+ "BundleId",
+ "DirectoryId",
+ "Capacity"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": false,
+ "taggable": true
+ },
+ "typeName": "AWS::WorkSpaces::WorkspacesPool",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py
index ff9ed2dc9b..a0e07245d4 100644
--- a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py
@@ -524,12 +524,14 @@
"AWS::InspectorV2::CisScanConfiguration",
"AWS::InspectorV2::Filter",
"AWS::InternetMonitor::Monitor",
+ "AWS::Invoicing::InvoiceUnit",
"AWS::IoT::AccountAuditConfiguration",
"AWS::IoT::Authorizer",
"AWS::IoT::BillingGroup",
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -602,6 +604,7 @@
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
"AWS::M2::Application",
+ "AWS::M2::Deployment",
"AWS::M2::Environment",
"AWS::MSK::BatchScramSecret",
"AWS::MSK::Cluster",
@@ -638,6 +641,7 @@
"AWS::MediaPackageV2::OriginEndpointPolicy",
"AWS::MemoryDB::ACL",
"AWS::MemoryDB::Cluster",
+ "AWS::MemoryDB::MultiRegionCluster",
"AWS::MemoryDB::ParameterGroup",
"AWS::MemoryDB::SubnetGroup",
"AWS::MemoryDB::User",
@@ -915,10 +919,13 @@
"AWS::VpcLattice::AccessLogSubscription",
"AWS::VpcLattice::AuthPolicy",
"AWS::VpcLattice::Listener",
+ "AWS::VpcLattice::ResourceConfiguration",
+ "AWS::VpcLattice::ResourceGateway",
"AWS::VpcLattice::ResourcePolicy",
"AWS::VpcLattice::Rule",
"AWS::VpcLattice::Service",
"AWS::VpcLattice::ServiceNetwork",
+ "AWS::VpcLattice::ServiceNetworkResourceAssociation",
"AWS::VpcLattice::ServiceNetworkServiceAssociation",
"AWS::VpcLattice::ServiceNetworkVpcAssociation",
"AWS::VpcLattice::TargetGroup",
@@ -1101,7 +1108,6 @@
"aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
"aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-cloudfront-distribution.json",
"aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
"aws-cloudfront-keyvaluestore.json",
@@ -1214,7 +1220,6 @@
"aws-ec2-clientvpnendpoint.json",
"aws-ec2-clientvpnroute.json",
"aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
"aws-ec2-egressonlyinternetgateway.json",
@@ -1456,12 +1461,14 @@
"aws-inspectorv2-cisscanconfiguration.json",
"aws-inspectorv2-filter.json",
"aws-internetmonitor-monitor.json",
+ "aws-invoicing-invoiceunit.json",
"aws-iot-accountauditconfiguration.json",
"aws-iot-authorizer.json",
"aws-iot-billinggroup.json",
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -1522,14 +1529,10 @@
"aws-logs-deliverysource.json",
"aws-logs-destination.json",
"aws-logs-loganomalydetector.json",
- "aws-logs-loggroup.json",
"aws-logs-logstream.json",
- "aws-logs-metricfilter.json",
- "aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
- "aws-logs-subscriptionfilter.json",
"aws-m2-application.json",
- "aws-m2-environment.json",
+ "aws-m2-deployment.json",
"aws-macie-allowlist.json",
"aws-macie-customdataidentifier.json",
"aws-macie-findingsfilter.json",
@@ -1557,6 +1560,7 @@
"aws-mediapackagev2-originendpoint.json",
"aws-mediapackagev2-originendpointpolicy.json",
"aws-memorydb-acl.json",
+ "aws-memorydb-multiregioncluster.json",
"aws-memorydb-parametergroup.json",
"aws-memorydb-subnetgroup.json",
"aws-memorydb-user.json",
@@ -1564,7 +1568,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
"aws-neptune-dbcluster.json",
@@ -1603,7 +1606,6 @@
"aws-organizations-account.json",
"aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
- "aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
"aws-pcaconnectorad-connector.json",
"aws-pcaconnectorad-directoryregistration.json",
@@ -1614,7 +1616,6 @@
"aws-pcaconnectorscep-connector.json",
"aws-pipes-pipe.json",
"aws-ram-permission.json",
- "aws-ram-resourceshare.json",
"aws-rbin-rule.json",
"aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
@@ -1641,7 +1642,6 @@
"aws-redshift-integration.json",
"aws-redshift-scheduledaction.json",
"aws-redshiftserverless-namespace.json",
- "aws-redshiftserverless-workgroup.json",
"aws-refactorspaces-application.json",
"aws-refactorspaces-environment.json",
"aws-refactorspaces-route.json",
@@ -1834,10 +1834,13 @@
"aws-vpclattice-accesslogsubscription.json",
"aws-vpclattice-authpolicy.json",
"aws-vpclattice-listener.json",
+ "aws-vpclattice-resourceconfiguration.json",
+ "aws-vpclattice-resourcegateway.json",
"aws-vpclattice-resourcepolicy.json",
"aws-vpclattice-rule.json",
"aws-vpclattice-service.json",
"aws-vpclattice-servicenetwork.json",
+ "aws-vpclattice-servicenetworkresourceassociation.json",
"aws-vpclattice-servicenetworkserviceassociation.json",
"aws-vpclattice-servicenetworkvpcassociation.json",
"aws-vpclattice-targetgroup.json",
diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-cloudfront-distribution.json
new file mode 100644
index 0000000000..066d90ae55
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-cloudfront-distribution.json
@@ -0,0 +1,1202 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "type": "string"
+ },
+ "PathPattern": {
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "PathPattern",
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "Cookies": {
+ "additionalProperties": false,
+ "properties": {
+ "Forward": {
+ "enum": [
+ "all",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ },
+ "WhitelistedNames": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Forward"
+ ],
+ "type": "object"
+ },
+ "CustomErrorResponse": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "ResponseCode": [
+ "ResponsePagePath"
+ ]
+ },
+ "properties": {
+ "ErrorCachingMinTTL": {
+ "default": 300,
+ "type": "number"
+ },
+ "ErrorCode": {
+ "enum": [
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponseCode": {
+ "enum": [
+ 200,
+ 400,
+ 403,
+ 404,
+ 405,
+ 414,
+ 416,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504
+ ],
+ "type": "integer"
+ },
+ "ResponsePagePath": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ErrorCode"
+ ],
+ "type": "object"
+ },
+ "CustomOriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginKeepaliveTimeout": {
+ "default": 5,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "type": "string"
+ },
+ "OriginReadTimeout": {
+ "default": 30,
+ "type": "integer"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "OriginProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DefaultCacheBehavior": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CachePolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "CachedMethods": {
+ "default": [
+ "GET",
+ "HEAD"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Compress": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DefaultTTL": {
+ "default": 86400,
+ "type": "number"
+ },
+ "FieldLevelEncryptionId": {
+ "default": "",
+ "type": "string"
+ },
+ "ForwardedValues": {
+ "$ref": "#/definitions/ForwardedValues"
+ },
+ "FunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/FunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "LambdaFunctionAssociations": {
+ "items": {
+ "$ref": "#/definitions/LambdaFunctionAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "MaxTTL": {
+ "default": 31536000,
+ "type": "number"
+ },
+ "MinTTL": {
+ "default": 0,
+ "type": "number"
+ },
+ "OriginRequestPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "RealtimeLogConfigArn": {
+ "default": "",
+ "type": "string"
+ },
+ "ResponseHeadersPolicyId": {
+ "default": "",
+ "type": "string"
+ },
+ "SmoothStreaming": {
+ "default": false,
+ "type": "boolean"
+ },
+ "TargetOriginId": {
+ "type": "string"
+ },
+ "TrustedKeyGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrustedSigners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ViewerProtocolPolicy": {
+ "enum": [
+ "allow-all",
+ "https-only",
+ "redirect-to-https"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetOriginId",
+ "ViewerProtocolPolicy"
+ ],
+ "type": "object"
+ },
+ "DistributionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CNAMEs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CacheBehaviors": {
+ "items": {
+ "$ref": "#/definitions/CacheBehavior"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Comment": {
+ "default": "",
+ "type": "string"
+ },
+ "ContinuousDeploymentPolicyId": {
+ "type": "string"
+ },
+ "CustomErrorResponses": {
+ "items": {
+ "$ref": "#/definitions/CustomErrorResponse"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomOrigin": {
+ "$ref": "#/definitions/LegacyCustomOrigin"
+ },
+ "DefaultCacheBehavior": {
+ "$ref": "#/definitions/DefaultCacheBehavior"
+ },
+ "DefaultRootObject": {
+ "default": "",
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "HttpVersion": {
+ "default": "http1.1",
+ "enum": [
+ "http1.1",
+ "http2",
+ "http2and3",
+ "http3"
+ ],
+ "type": "string"
+ },
+ "IPV6Enabled": {
+ "type": "boolean"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "OriginGroups": {
+ "$ref": "#/definitions/OriginGroups"
+ },
+ "Origins": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PriceClass": {
+ "default": "PriceClass_All",
+ "enum": [
+ "PriceClass_100",
+ "PriceClass_200",
+ "PriceClass_All"
+ ],
+ "type": "string"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "default": {
+ "GeoRestriction": {
+ "RestrictionType": "none"
+ }
+ }
+ },
+ "S3Origin": {
+ "$ref": "#/definitions/LegacyS3Origin"
+ },
+ "Staging": {
+ "type": "boolean"
+ },
+ "ViewerCertificate": {
+ "$ref": "#/definitions/ViewerCertificate",
+ "default": {
+ "CloudFrontDefaultCertificate": true
+ }
+ },
+ "WebACLId": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled",
+ "DefaultCacheBehavior"
+ ],
+ "type": "object"
+ },
+ "ForwardedValues": {
+ "additionalProperties": false,
+ "properties": {
+ "Cookies": {
+ "$ref": "#/definitions/Cookies",
+ "default": {
+ "Forward": "none"
+ }
+ },
+ "Headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "QueryString": {
+ "type": "boolean"
+ },
+ "QueryStringCacheKeys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "QueryString"
+ ],
+ "type": "object"
+ },
+ "FunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "enum": [
+ "origin-request",
+ "origin-response",
+ "viewer-request",
+ "viewer-response"
+ ],
+ "type": "string"
+ },
+ "FunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GeoRestriction": {
+ "additionalProperties": false,
+ "properties": {
+ "Locations": {
+ "items": {
+ "enum": [
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AS",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CC",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CU",
+ "CV",
+ "CW",
+ "CX",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FM",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HM",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IR",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KP",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MH",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MP",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NF",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PW",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SD",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SY",
+ "SZ",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "UM",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VI",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RestrictionType": {
+ "enum": [
+ "blacklist",
+ "none",
+ "whitelist"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionType"
+ ],
+ "type": "object"
+ },
+ "LambdaFunctionAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "EventType": {
+ "type": "string"
+ },
+ "IncludeBody": {
+ "type": "boolean"
+ },
+ "LambdaFunctionARN": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LegacyCustomOrigin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "OriginProtocolPolicy": {
+ "enum": [
+ "http-only",
+ "https-only",
+ "match-viewer"
+ ],
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "items": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1",
+ "TLSv1.2"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "DNSName",
+ "OriginProtocolPolicy",
+ "OriginSSLProtocols"
+ ],
+ "type": "object"
+ },
+ "LegacyS3Origin": {
+ "additionalProperties": false,
+ "properties": {
+ "DNSName": {
+ "type": "string"
+ },
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DNSName"
+ ],
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "IncludeCookies": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Prefix": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket"
+ ],
+ "type": "object"
+ },
+ "Origin": {
+ "additionalProperties": false,
+ "dependentExcluded": {
+ "CustomOriginConfig": [
+ "S3OriginConfig"
+ ],
+ "S3OriginConfig": [
+ "CustomOriginConfig"
+ ]
+ },
+ "properties": {
+ "ConnectionAttempts": {
+ "type": "integer"
+ },
+ "ConnectionTimeout": {
+ "type": "integer"
+ },
+ "CustomOriginConfig": {
+ "$ref": "#/definitions/CustomOriginConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "OriginAccessControlId": {
+ "type": "string"
+ },
+ "OriginCustomHeaders": {
+ "items": {
+ "$ref": "#/definitions/OriginCustomHeader"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "OriginPath": {
+ "default": "",
+ "type": "string"
+ },
+ "OriginShield": {
+ "$ref": "#/definitions/OriginShield"
+ },
+ "S3OriginConfig": {
+ "$ref": "#/definitions/S3OriginConfig"
+ }
+ },
+ "required": [
+ "DomainName",
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OriginCustomHeader": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "OriginGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "FailoverCriteria": {
+ "$ref": "#/definitions/OriginGroupFailoverCriteria"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Members": {
+ "$ref": "#/definitions/OriginGroupMembers"
+ }
+ },
+ "required": [
+ "Id",
+ "FailoverCriteria",
+ "Members"
+ ],
+ "type": "object"
+ },
+ "OriginGroupFailoverCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "StatusCodes": {
+ "$ref": "#/definitions/StatusCodes"
+ }
+ },
+ "required": [
+ "StatusCodes"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMember": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OriginId"
+ ],
+ "type": "object"
+ },
+ "OriginGroupMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroupMember"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "OriginGroups": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "$ref": "#/definitions/OriginGroup"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity"
+ ],
+ "type": "object"
+ },
+ "OriginShield": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "OriginShieldRegion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoRestriction": {
+ "$ref": "#/definitions/GeoRestriction"
+ }
+ },
+ "required": [
+ "GeoRestriction"
+ ],
+ "type": "object"
+ },
+ "S3OriginConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OriginAccessIdentity": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StatusCodes": {
+ "additionalProperties": false,
+ "properties": {
+ "Items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Quantity",
+ "Items"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ViewerCertificate": {
+ "additionalProperties": false,
+ "dependentRequired": {
+ "AcmCertificateArn": [
+ "SslSupportMethod"
+ ],
+ "IamCertificateId": [
+ "SslSupportMethod"
+ ]
+ },
+ "properties": {
+ "AcmCertificateArn": {
+ "type": "string"
+ },
+ "CloudFrontDefaultCertificate": {
+ "type": "boolean"
+ },
+ "IamCertificateId": {
+ "type": "string"
+ },
+ "MinimumProtocolVersion": {
+ "enum": [
+ "SSLv3",
+ "TLSv1",
+ "TLSv1.1_2016",
+ "TLSv1.2_2018",
+ "TLSv1.2_2019",
+ "TLSv1.2_2021",
+ "TLSv1_2016"
+ ],
+ "type": "string"
+ },
+ "SslSupportMethod": {
+ "enum": [
+ "sni-only",
+ "static-ip",
+ "vip"
+ ],
+ "type": "string"
+ }
+ },
+ "requiredXor": [
+ "AcmCertificateArn",
+ "CloudFrontDefaultCertificate",
+ "IamCertificateId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DistributionConfig/CustomOrigin",
+ "/properties/DistributionConfig/S3Origin"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "DistributionConfig": {
+ "$ref": "#/definitions/DistributionConfig"
+ },
+ "DomainName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DomainName"
+ ],
+ "required": [
+ "DistributionConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::CloudFront::Distribution"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-ec2-customergateway.json
new file mode 100644
index 0000000000..64904e4f63
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-ec2-customergateway.json
@@ -0,0 +1,86 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CertificateArn",
+ "/properties/BgpAsn",
+ "/properties/BgpAsnExtended",
+ "/properties/Type",
+ "/properties/IpAddress",
+ "/properties/DeviceName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CustomerGatewayId"
+ ],
+ "properties": {
+ "BgpAsn": {
+ "default": 65000,
+ "type": "integer"
+ },
+ "BgpAsnExtended": {
+ "maximum": 4294967294,
+ "minimum": 2147483648,
+ "multipleOf": 1,
+ "type": "number"
+ },
+ "CertificateArn": {
+ "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$",
+ "type": "string"
+ },
+ "CustomerGatewayId": {
+ "type": "string"
+ },
+ "DeviceName": {
+ "type": "string"
+ },
+ "IpAddress": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Type": {
+ "enum": [
+ "ipsec.1"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerGatewayId"
+ ],
+ "required": [
+ "IpAddress",
+ "Type"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::CustomerGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-loggroup.json
new file mode 100644
index 0000000000..dc9996082f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-loggroup.json
@@ -0,0 +1,109 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DataProtectionPolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "KmsKeyId": {
+ "maxLength": 256,
+ "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z",
+ "type": "string"
+ },
+ "LogGroupClass": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "INFREQUENT_ACCESS"
+ ],
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z",
+ "type": "string"
+ },
+ "RetentionInDays": {
+ "enum": [
+ 1,
+ 3,
+ 5,
+ 7,
+ 14,
+ 30,
+ 60,
+ 90,
+ 120,
+ 150,
+ 180,
+ 365,
+ 400,
+ 545,
+ 731,
+ 1096,
+ 1827,
+ 2192,
+ 2557,
+ 2922,
+ 3288,
+ 3653
+ ],
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Logs::LogGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-metricfilter.json
new file mode 100644
index 0000000000..dc29d53471
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-metricfilter.json
@@ -0,0 +1,153 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "definitions": {
+ "Dimension": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MetricTransformation": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValue": {
+ "type": "number"
+ },
+ "Dimensions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MetricName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}",
+ "type": "string"
+ },
+ "MetricNamespace": {
+ "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#",
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}",
+ "type": "string"
+ },
+ "MetricValue": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^(([0-9]*)|(\\$.*))$",
+ "type": "string"
+ },
+ "Unit": {
+ "enum": [
+ "Seconds",
+ "Microseconds",
+ "Milliseconds",
+ "Bytes",
+ "Kilobytes",
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Bits",
+ "Kilobits",
+ "Megabits",
+ "Gigabits",
+ "Terabits",
+ "Percent",
+ "Count",
+ "Bytes/Second",
+ "Kilobytes/Second",
+ "Megabytes/Second",
+ "Gigabytes/Second",
+ "Terabytes/Second",
+ "Bits/Second",
+ "Kilobits/Second",
+ "Megabits/Second",
+ "Gigabits/Second",
+ "Terabits/Second",
+ "Count/Second",
+ "None"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "MetricName",
+ "MetricNamespace",
+ "MetricValue"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/LogGroupName",
+ "/properties/FilterName"
+ ],
+ "properties": {
+ "FilterName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[^:*]{1,512}",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "LogGroupName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}",
+ "type": "string"
+ },
+ "MetricTransformations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MetricTransformation"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "FilterPattern",
+ "LogGroupName",
+ "MetricTransformations"
+ ],
+ "resourceLink": {
+ "mappings": {
+ "LogGroupName": "/LogGroupName",
+ "MetricName": "/MetricName"
+ },
+ "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::MetricFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-querydefinition.json
new file mode 100644
index 0000000000..a39f89cf2a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-querydefinition.json
@@ -0,0 +1,50 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "LogGroup": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/QueryDefinitionId"
+ ],
+ "properties": {
+ "LogGroupNames": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogGroup"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "QueryDefinitionId": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "QueryString": {
+ "maxLength": 10000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/QueryDefinitionId"
+ ],
+ "required": [
+ "Name",
+ "QueryString"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::QueryDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-subscriptionfilter.json
new file mode 100644
index 0000000000..f82a16ecb0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-subscriptionfilter.json
@@ -0,0 +1,52 @@
+{
+ "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "primaryIdentifier": [
+ "/properties/FilterName",
+ "/properties/LogGroupName"
+ ],
+ "properties": {
+ "DestinationArn": {
+ "type": "string"
+ },
+ "Distribution": {
+ "enum": [
+ "Random",
+ "ByLogStream"
+ ],
+ "type": "string"
+ },
+ "FilterName": {
+ "pattern": "[^:*]*",
+ "type": "string"
+ },
+ "FilterPattern": {
+ "type": "string"
+ },
+ "LogGroupName": {
+ "pattern": "[\\.\\-_/#A-Za-z0-9]+",
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "DestinationArn",
+ "FilterPattern",
+ "LogGroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Logs::SubscriptionFilter"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-m2-environment.json
new file mode 100644
index 0000000000..1c433a260d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-m2-environment.json
@@ -0,0 +1,203 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/EngineType",
+ "/properties/KmsKeyId",
+ "/properties/Name",
+ "/properties/PubliclyAccessible",
+ "/properties/SecurityGroupIds",
+ "/properties/StorageConfigurations",
+ "/properties/SubnetIds"
+ ],
+ "definitions": {
+ "EfsStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "EngineType": {
+ "enum": [
+ "microfocus",
+ "bluage"
+ ],
+ "type": "string"
+ },
+ "FsxStorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ },
+ "MountPoint": {
+ "pattern": "^\\S{1,200}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId",
+ "MountPoint"
+ ],
+ "type": "object"
+ },
+ "HighAvailabilityConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DesiredCapacity": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "DesiredCapacity"
+ ],
+ "type": "object"
+ },
+ "StorageConfiguration": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Efs": {
+ "$ref": "#/definitions/EfsStorageConfiguration"
+ }
+ },
+ "required": [
+ "Efs"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "Fsx": {
+ "$ref": "#/definitions/FsxStorageConfiguration"
+ }
+ },
+ "required": [
+ "Fsx"
+ ]
+ }
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 200,
+ "minProperties": 0,
+ "patternProperties": {
+ "^(?!aws:).+$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/EnvironmentArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "EngineType": {
+ "$ref": "#/definitions/EngineType"
+ },
+ "EngineVersion": {
+ "pattern": "^\\S{1,10}$",
+ "type": "string"
+ },
+ "EnvironmentArn": {
+ "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$",
+ "type": "string"
+ },
+ "EnvironmentId": {
+ "pattern": "^\\S{1,80}$",
+ "type": "string"
+ },
+ "HighAvailabilityConfig": {
+ "$ref": "#/definitions/HighAvailabilityConfig"
+ },
+ "InstanceType": {
+ "pattern": "^\\S{1,20}$",
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$",
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "StorageConfigurations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/StorageConfiguration"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^\\S{1,50}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/definitions/TagMap"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/EnvironmentArn",
+ "/properties/EnvironmentId"
+ ],
+ "required": [
+ "EngineType",
+ "InstanceType",
+ "Name"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::M2::Environment"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-msk-replicator.json
new file mode 100644
index 0000000000..8ca994e218
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-msk-replicator.json
@@ -0,0 +1,321 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "ReplicationTopicNameConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationTopicNameConfigurationType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationTopicNameConfigurationType": {
+ "enum": [
+ "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS",
+ "IDENTICAL"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicNameConfiguration": {
+ "$ref": "#/definitions/ReplicationTopicNameConfiguration"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-organizations-policy.json
new file mode 100644
index 0000000000..eb45adde3d
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-organizations-policy.json
@@ -0,0 +1,114 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}",
+ "type": "string"
+ },
+ "AwsManaged": {
+ "type": "boolean"
+ },
+ "Content": {
+ "maxLength": 1000000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Description": {
+ "maxLength": 512,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 130,
+ "pattern": "^p-[0-9a-zA-Z_]{8,128}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIds": {
+ "insertionOrder": false,
+ "items": {
+ "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "SERVICE_CONTROL_POLICY",
+ "AISERVICES_OPT_OUT_POLICY",
+ "BACKUP_POLICY",
+ "TAG_POLICY",
+ "CHATBOT_POLICY",
+ "RESOURCE_CONTROL_POLICY"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/AwsManaged"
+ ],
+ "required": [
+ "Name",
+ "Type",
+ "Content"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Organizations::Policy"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-ram-resourceshare.json
new file mode 100644
index 0000000000..e55421c92f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-ram-resourceshare.json
@@ -0,0 +1,81 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AllowExternalPrincipals": {
+ "type": "boolean"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "PermissionArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ResourceArns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "typeName": "AWS::RAM::ResourceShare"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-redshiftserverless-workgroup.json
new file mode 100644
index 0000000000..60a6356907
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-redshiftserverless-workgroup.json
@@ -0,0 +1,312 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/WorkgroupName",
+ "/properties/NamespaceName"
+ ],
+ "definitions": {
+ "ConfigParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterKey": {
+ "maxLength": 255,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ParameterValue": {
+ "maxLength": 15000,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "VpcEndpoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/VpcEndpoint"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkInterface": {
+ "additionalProperties": false,
+ "properties": {
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ },
+ "SubnetId": {
+ "format": "AWS::EC2::Subnet.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "VpcEndpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkInterfaces": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "type": "array"
+ },
+ "VpcEndpointId": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Workgroup": {
+ "additionalProperties": false,
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CreationDate": {
+ "type": "string"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "EnhancedVpcRouting": {
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]+$",
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "$ref": "#/definitions/WorkgroupStatus"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "WorkgroupArn": {
+ "type": "string"
+ },
+ "WorkgroupId": {
+ "type": "string"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-]*$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "WorkgroupStatus": {
+ "enum": [
+ "CREATING",
+ "AVAILABLE",
+ "MODIFYING",
+ "DELETING"
+ ],
+ "type": "string"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/WorkgroupName"
+ ],
+ "properties": {
+ "BaseCapacity": {
+ "type": "integer"
+ },
+ "ConfigParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ConfigParameter"
+ },
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "EnhancedVpcRouting": {
+ "default": false,
+ "type": "boolean"
+ },
+ "MaxCapacity": {
+ "type": "integer"
+ },
+ "NamespaceName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "default": false,
+ "type": "boolean"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^sg-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 0,
+ "pattern": "^subnet-[0-9a-fA-F]{8,}$",
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array"
+ },
+ "Workgroup": {
+ "$ref": "#/definitions/Workgroup"
+ },
+ "WorkgroupName": {
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^(?=^[a-z0-9-]+$).{3,64}$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Workgroup",
+ "/properties/Workgroup/WorkgroupId",
+ "/properties/Workgroup/WorkgroupArn",
+ "/properties/Workgroup/WorkgroupName",
+ "/properties/Workgroup/NamespaceName",
+ "/properties/Workgroup/BaseCapacity",
+ "/properties/Workgroup/MaxCapacity",
+ "/properties/Workgroup/EnhancedVpcRouting",
+ "/properties/Workgroup/ConfigParameters/*/ParameterKey",
+ "/properties/Workgroup/ConfigParameters/*/ParameterValue",
+ "/properties/Workgroup/SecurityGroupIds",
+ "/properties/Workgroup/SubnetIds",
+ "/properties/Workgroup/Status",
+ "/properties/Workgroup/Endpoint/Address",
+ "/properties/Workgroup/Endpoint/Port",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress",
+ "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone",
+ "/properties/Workgroup/PubliclyAccessible",
+ "/properties/Workgroup/CreationDate"
+ ],
+ "required": [
+ "WorkgroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RedshiftServerless::Workgroup",
+ "writeOnlyProperties": [
+ "/properties/BaseCapacity",
+ "/properties/MaxCapacity",
+ "/properties/ConfigParameters",
+ "/properties/SecurityGroupIds",
+ "/properties/SubnetIds"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py
index 1f159269fd..d248494c81 100644
--- a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py
@@ -697,6 +697,7 @@
"AWS::IoT::CACertificate",
"AWS::IoT::Certificate",
"AWS::IoT::CertificateProvider",
+ "AWS::IoT::Command",
"AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
"AWS::IoT::DomainConfiguration",
@@ -827,6 +828,7 @@
"AWS::Logs::QueryDefinition",
"AWS::Logs::ResourcePolicy",
"AWS::Logs::SubscriptionFilter",
+ "AWS::Logs::Transformer",
"AWS::LookoutMetrics::Alert",
"AWS::LookoutMetrics::AnomalyDetector",
"AWS::LookoutVision::Project",
@@ -913,6 +915,7 @@
"AWS::NetworkManager::CoreNetwork",
"AWS::NetworkManager::CustomerGatewayAssociation",
"AWS::NetworkManager::Device",
+ "AWS::NetworkManager::DirectConnectGatewayAttachment",
"AWS::NetworkManager::GlobalNetwork",
"AWS::NetworkManager::Link",
"AWS::NetworkManager::LinkAssociation",
@@ -1490,7 +1493,6 @@
"aws-backup-restoretestingselection.json",
"aws-backupgateway-hypervisor.json",
"aws-batch-computeenvironment.json",
- "aws-batch-jobdefinition.json",
"aws-batch-jobqueue.json",
"aws-batch-schedulingpolicy.json",
"aws-bedrock-agent.json",
@@ -1638,6 +1640,7 @@
"aws-connect-rule.json",
"aws-connect-securitykey.json",
"aws-connect-securityprofile.json",
+ "aws-connect-tasktemplate.json",
"aws-connect-trafficdistributiongroup.json",
"aws-connect-user.json",
"aws-connect-userhierarchygroup.json",
@@ -1833,6 +1836,7 @@
"aws-ecs-clustercapacityproviderassociations.json",
"aws-ecs-primarytaskset.json",
"aws-ecs-service.json",
+ "aws-ecs-taskdefinition.json",
"aws-ecs-taskset.json",
"aws-efs-accesspoint.json",
"aws-efs-filesystem.json",
@@ -2024,6 +2028,7 @@
"aws-iot-cacertificate.json",
"aws-iot-certificate.json",
"aws-iot-certificateprovider.json",
+ "aws-iot-command.json",
"aws-iot-custommetric.json",
"aws-iot-dimension.json",
"aws-iot-domainconfiguration.json",
@@ -2039,7 +2044,6 @@
"aws-iot-scheduledaudit.json",
"aws-iot-securityprofile.json",
"aws-iot-softwarepackage.json",
- "aws-iot-softwarepackageversion.json",
"aws-iot-thing.json",
"aws-iot-thinggroup.json",
"aws-iot-thingprincipalattachment.json",
@@ -2168,6 +2172,7 @@
"aws-logs-querydefinition.json",
"aws-logs-resourcepolicy.json",
"aws-logs-subscriptionfilter.json",
+ "aws-logs-transformer.json",
"aws-lookoutmetrics-alert.json",
"aws-lookoutmetrics-anomalydetector.json",
"aws-lookoutvision-project.json",
@@ -2252,6 +2257,7 @@
"aws-networkmanager-corenetwork.json",
"aws-networkmanager-customergatewayassociation.json",
"aws-networkmanager-device.json",
+ "aws-networkmanager-directconnectgatewayattachment.json",
"aws-networkmanager-globalnetwork.json",
"aws-networkmanager-link.json",
"aws-networkmanager-linkassociation.json",
@@ -2460,6 +2466,8 @@
"aws-s3outposts-bucket.json",
"aws-s3outposts-bucketpolicy.json",
"aws-s3outposts-endpoint.json",
+ "aws-s3tables-tablebucket.json",
+ "aws-s3tables-tablebucketpolicy.json",
"aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-cluster.json",
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-batch-jobdefinition.json
new file mode 100644
index 0000000000..2444dac742
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-batch-jobdefinition.json
@@ -0,0 +1,1192 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/JobDefinitionName"
+ ],
+ "definitions": {
+ "ContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "FargatePlatformConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PlatformVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MountPoint"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EFSAuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "Iam": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EFSVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/EFSAuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/EcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "EcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "PlatformVersion": {
+ "type": "string"
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EksContainer": {
+ "additionalProperties": false,
+ "properties": {
+ "Args": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Command": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Env": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/EksContainerEnvironmentVariable"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImagePullPolicy": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Resources": {
+ "$ref": "#/definitions/EksContainerResourceRequirements"
+ },
+ "SecurityContext": {
+ "$ref": "#/definitions/EksContainerSecurityContext"
+ },
+ "VolumeMounts": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/EksContainerVolumeMount"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "EksContainerEnvironmentVariable": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "EksContainerResourceRequirements": {
+ "additionalProperties": false,
+ "properties": {
+ "Limits": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Requests": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerSecurityContext": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowPrivilegeEscalation": {
+ "type": "boolean"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadOnlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RunAsGroup": {
+ "type": "integer"
+ },
+ "RunAsNonRoot": {
+ "type": "boolean"
+ },
+ "RunAsUser": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerVolumeMount": {
+ "additionalProperties": false,
+ "properties": {
+ "MountPath": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "EksEmptyDir": {
+ "additionalProperties": false,
+ "properties": {
+ "Medium": {
+ "type": "string"
+ },
+ "SizeLimit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksHostPath": {
+ "additionalProperties": false,
+ "properties": {
+ "Path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksMetadata": {
+ "additionalProperties": false,
+ "properties": {
+ "Labels": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "EksPodProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsPolicy": {
+ "type": "string"
+ },
+ "HostNetwork": {
+ "type": "boolean"
+ },
+ "ImagePullSecrets": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ImagePullSecret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitContainers": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Metadata": {
+ "$ref": "#/definitions/EksMetadata"
+ },
+ "ServiceAccountName": {
+ "type": "string"
+ },
+ "ShareProcessNamespace": {
+ "type": "boolean"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/EksVolume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EksProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "PodProperties": {
+ "$ref": "#/definitions/EksPodProperties"
+ }
+ },
+ "type": "object"
+ },
+ "EksSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Optional": {
+ "type": "boolean"
+ },
+ "SecretName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "SecretName"
+ ],
+ "type": "object"
+ },
+ "EksVolume": {
+ "additionalProperties": false,
+ "properties": {
+ "EmptyDir": {
+ "$ref": "#/definitions/EksEmptyDir"
+ },
+ "HostPath": {
+ "$ref": "#/definitions/EksHostPath"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Secret": {
+ "$ref": "#/definitions/EksSecret"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Environment": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SizeInGiB"
+ ],
+ "type": "object"
+ },
+ "EvaluateOnExit": {
+ "additionalProperties": false,
+ "properties": {
+ "Action": {
+ "type": "string"
+ },
+ "OnExitCode": {
+ "type": "string"
+ },
+ "OnReason": {
+ "type": "string"
+ },
+ "OnStatusReason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Action"
+ ],
+ "type": "object"
+ },
+ "Host": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ImagePullSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "JobTimeout": {
+ "additionalProperties": false,
+ "properties": {
+ "AttemptDurationSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Devices": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "type": "string"
+ },
+ "Options": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretOptions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "MountPoint": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "MultiNodeContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MountPoint"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "MultiNodeEcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MultiNodeEcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "MultiNodeEcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AssignPublicIp": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NodeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "MainNode": {
+ "type": "integer"
+ },
+ "NodeRangeProperties": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/NodeRangeProperty"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NumNodes": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "NumNodes",
+ "MainNode",
+ "NodeRangeProperties"
+ ],
+ "type": "object"
+ },
+ "NodeRangeProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "Container": {
+ "$ref": "#/definitions/MultiNodeContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/MultiNodeEcsProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "InstanceTypes": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TargetNodes": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetNodes"
+ ],
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter"
+ ],
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RetryStrategy": {
+ "additionalProperties": false,
+ "properties": {
+ "Attempts": {
+ "type": "integer"
+ },
+ "EvaluateOnExit": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/EvaluateOnExit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name",
+ "ValueFrom"
+ ],
+ "type": "object"
+ },
+ "TaskContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ContainerName",
+ "Condition"
+ ],
+ "type": "object"
+ },
+ "TaskContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DependsOn": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/TaskContainerDependency"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "MountPoints": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MountPoint"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Secrets": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "ContainerPath",
+ "Size"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "HardLimit",
+ "Name",
+ "SoftLimit"
+ ],
+ "type": "object"
+ },
+ "Volume": {
+ "additionalProperties": false,
+ "properties": {
+ "EfsVolumeConfiguration": {
+ "$ref": "#/definitions/EFSVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/Host"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/JobDefinitionName"
+ ],
+ "properties": {
+ "ContainerProperties": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "JobDefinitionName": {
+ "maxLength": 128,
+ "type": "string"
+ },
+ "NodeProperties": {
+ "$ref": "#/definitions/NodeProperties"
+ },
+ "Parameters": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PlatformCapabilities": {
+ "insertionOrder": true,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PropagateTags": {
+ "type": "boolean"
+ },
+ "RetryStrategy": {
+ "$ref": "#/definitions/RetryStrategy"
+ },
+ "SchedulingPriority": {
+ "type": "integer"
+ },
+ "Tags": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Timeout": {
+ "$ref": "#/definitions/JobTimeout"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Batch::JobDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-connect-tasktemplate.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-connect-tasktemplate.json
deleted file mode 100644
index 97d8288921..0000000000
--- a/src/cfnlint/data/schemas/providers/us_west_2/aws-connect-tasktemplate.json
+++ /dev/null
@@ -1,271 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "ClientToken": {
- "pattern": "^$|[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
- "type": "string"
- },
- "DefaultFieldValue": {
- "additionalProperties": false,
- "properties": {
- "DefaultValue": {
- "$ref": "#/definitions/FieldValue"
- },
- "Id": {
- "$ref": "#/definitions/FieldIdentifier"
- }
- },
- "required": [
- "Id",
- "DefaultValue"
- ],
- "type": "object"
- },
- "Field": {
- "additionalProperties": false,
- "properties": {
- "Description": {
- "maxLength": 255,
- "minLength": 0,
- "type": "string"
- },
- "Id": {
- "$ref": "#/definitions/FieldIdentifier"
- },
- "SingleSelectOptions": {
- "items": {
- "$ref": "#/definitions/FieldOption"
- },
- "maxItems": 50,
- "type": "array"
- },
- "Type": {
- "$ref": "#/definitions/FieldType"
- }
- },
- "required": [
- "Id",
- "Type"
- ],
- "type": "object"
- },
- "FieldIdentifier": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Name"
- ],
- "type": "object"
- },
- "FieldOption": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9_.,\\s-]*[A-Za-z0-9_.,-])?$",
- "type": "string"
- },
- "FieldType": {
- "enum": [
- "NAME",
- "DESCRIPTION",
- "SCHEDULED_TIME",
- "QUICK_CONNECT",
- "URL",
- "NUMBER",
- "TEXT",
- "TEXT_AREA",
- "DATE_TIME",
- "BOOLEAN",
- "SINGLE_SELECT",
- "EMAIL",
- "EXPIRY_DURATION",
- "SELF_ASSIGN"
- ],
- "type": "string"
- },
- "FieldValue": {
- "maxLength": 4096,
- "minLength": 1,
- "type": "string"
- },
- "InvisibleFieldInfo": {
- "additionalProperties": false,
- "properties": {
- "Id": {
- "$ref": "#/definitions/FieldIdentifier"
- }
- },
- "required": [
- "Id"
- ],
- "type": "object"
- },
- "InvisibleTaskTemplateFields": {
- "items": {
- "$ref": "#/definitions/InvisibleFieldInfo"
- },
- "maxItems": 50,
- "type": "array"
- },
- "ReadOnlyFieldInfo": {
- "additionalProperties": false,
- "properties": {
- "Id": {
- "$ref": "#/definitions/FieldIdentifier"
- }
- },
- "required": [
- "Id"
- ],
- "type": "object"
- },
- "ReadOnlyTaskTemplateFields": {
- "items": {
- "$ref": "#/definitions/ReadOnlyFieldInfo"
- },
- "maxItems": 50,
- "type": "array"
- },
- "RequiredFieldInfo": {
- "additionalProperties": false,
- "properties": {
- "Id": {
- "$ref": "#/definitions/FieldIdentifier"
- }
- },
- "required": [
- "Id"
- ],
- "type": "object"
- },
- "RequiredTaskTemplateFields": {
- "items": {
- "$ref": "#/definitions/RequiredFieldInfo"
- },
- "maxItems": 50,
- "type": "array"
- },
- "Status": {
- "enum": [
- "ACTIVE",
- "INACTIVE"
- ],
- "type": "string"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/task-template/[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$",
- "type": "string"
- },
- "ClientToken": {
- "$ref": "#/definitions/ClientToken"
- },
- "Constraints": {
- "additionalProperties": false,
- "properties": {
- "InvisibleFields": {
- "$ref": "#/definitions/InvisibleTaskTemplateFields"
- },
- "ReadOnlyFields": {
- "$ref": "#/definitions/ReadOnlyTaskTemplateFields"
- },
- "RequiredFields": {
- "$ref": "#/definitions/RequiredTaskTemplateFields"
- }
- },
- "type": "object"
- },
- "ContactFlowArn": {
- "pattern": "^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "Defaults": {
- "items": {
- "$ref": "#/definitions/DefaultFieldValue"
- },
- "maxItems": 50,
- "type": "array"
- },
- "Description": {
- "maxLength": 255,
- "minLength": 0,
- "type": "string"
- },
- "Fields": {
- "items": {
- "$ref": "#/definitions/Field"
- },
- "maxItems": 50,
- "type": "array"
- },
- "InstanceArn": {
- "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "Name": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "SelfAssignContactFlowArn": {
- "pattern": "^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$",
- "type": "string"
- },
- "Status": {
- "$ref": "#/definitions/Status"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "InstanceArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": false,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Connect::TaskTemplate"
-}
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-iot-softwarepackageversion.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-iot-softwarepackageversion.json
new file mode 100644
index 0000000000..48ddfbd4c0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-iot-softwarepackageversion.json
@@ -0,0 +1,111 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/PackageName",
+ "/properties/VersionName"
+ ],
+ "definitions": {
+ "PackageVersionStatus": {
+ "enum": [
+ "DRAFT",
+ "PUBLISHED",
+ "DEPRECATED"
+ ],
+ "type": "string"
+ },
+ "ResourceAttributes": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[a-zA-Z0-9:_-]+$": {
+ "minLength": 1,
+ "pattern": "^[^\\p{C}]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/PackageName",
+ "/properties/VersionName"
+ ],
+ "properties": {
+ "Attributes": {
+ "$ref": "#/definitions/ResourceAttributes"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "pattern": "^[^\\p{C}]+$",
+ "type": "string"
+ },
+ "ErrorReason": {
+ "type": "string"
+ },
+ "PackageName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-_.]+$",
+ "type": "string"
+ },
+ "PackageVersionArn": {
+ "pattern": "^arn:[!-~]+$",
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/PackageVersionStatus"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "VersionName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-_.]+$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ErrorReason",
+ "/properties/PackageVersionArn",
+ "/properties/Status"
+ ],
+ "required": [
+ "PackageName"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::IoT::SoftwarePackageVersion"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-s3tables-tablebucket.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-s3tables-tablebucket.json
deleted file mode 100644
index 38d1fa1c9a..0000000000
--- a/src/cfnlint/data/schemas/providers/us_west_2/aws-s3tables-tablebucket.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TableBucketName"
- ],
- "definitions": {
- "TableBucketARN": {
- "examples": [
- "arn:aws:s3tables:us-west-2:123456789012:bucket/mytablebucket"
- ],
- "pattern": "(arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:bucket/[a-z0-9_-]{3,63})",
- "type": "string"
- },
- "TableBucketName": {
- "maxLength": 63,
- "minLength": 3,
- "type": "string"
- },
- "UnreferencedFileRemoval": {
- "additionalProperties": false,
- "properties": {
- "NoncurrentDays": {
- "minimum": 1,
- "type": "integer"
- },
- "Status": {
- "enum": [
- "Enabled",
- "Disabled"
- ],
- "type": "string"
- },
- "UnreferencedDays": {
- "minimum": 1,
- "type": "integer"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/TableBucketARN"
- ],
- "properties": {
- "TableBucketARN": {
- "$ref": "#/definitions/TableBucketARN"
- },
- "TableBucketName": {
- "$ref": "#/definitions/TableBucketName"
- },
- "UnreferencedFileRemoval": {
- "$ref": "#/definitions/UnreferencedFileRemoval"
- }
- },
- "readOnlyProperties": [
- "/properties/TableBucketARN"
- ],
- "required": [
- "TableBucketName"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::S3Tables::TableBucket"
-}
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-s3tables-tablebucketpolicy.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-s3tables-tablebucketpolicy.json
deleted file mode 100644
index 3a4601dfa0..0000000000
--- a/src/cfnlint/data/schemas/providers/us_west_2/aws-s3tables-tablebucketpolicy.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TableBucketARN"
- ],
- "definitions": {
- "ResourcePolicy": {
- "type": [
- "object",
- "string"
- ]
- },
- "TableBucketARN": {
- "examples": [
- "arn:aws:s3tables:us-west-2:123456789012:bucket/mytablebucket"
- ],
- "pattern": "(arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:bucket/[a-z0-9_-]{3,63})",
- "type": "string"
- }
- },
- "primaryIdentifier": [
- "/properties/TableBucketARN"
- ],
- "properties": {
- "ResourcePolicy": {
- "$ref": "#/definitions/ResourcePolicy"
- },
- "TableBucketARN": {
- "$ref": "#/definitions/TableBucketARN"
- }
- },
- "required": [
- "ResourcePolicy",
- "TableBucketARN"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::S3Tables::TableBucketPolicy"
-}