diff --git a/docs/rules.md b/docs/rules.md
index 167e163798..b5894de431 100644
--- a/docs/rules.md
+++ b/docs/rules.md
@@ -46,7 +46,7 @@ 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 **209** rules are applied by this linter:
+The following **221** rules are applied by this linter:
| Rule ID | Title | Description | Config
(Name:Type:Default) | Source | Tags |
| -------- | ----- | ----------- | ---------- | ------ | ---- |
@@ -94,7 +94,6 @@ The following **209** rules are applied by this linter:
| [E2529](../src/cfnlint/rules/resources/lmbd/EventsLogGroupName.py) | Check for SubscriptionFilters have beyond 2 attachments to a CloudWatch Log Group | The current limit for a CloudWatch Log Group is they can have 2 subscription filters. We will look for duplicate LogGroupNames inside Subscription Filters and make sure they are within 2. This doesn't account for any other subscription filters getting set. | | [Source](https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#user-content-cloudwatchlogs) | `resources`,`lambda` |
| [E2530](../src/cfnlint/rules/resources/lmbd/SnapStartSupported.py) | SnapStart supports the configured runtime | To properly leverage SnapStart, you must have a runtime of Java11 or greater | | [Source](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) | `resources`,`lambda` |
| [E2531](../src/cfnlint/rules/resources/lmbd/DeprecatedRuntimeCreate.py) | Validate if lambda runtime is deprecated | Check the lambda runtime has reached the end of life | | [Source](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) | `resources`,`lambda`,`runtime` |
-| [E2532](../src/cfnlint/rules/resources/stepfunctions/StateMachine.py) | Check State Machine Definition for proper syntax | Check the State Machine String Definition to make sure its JSON. Validate basic syntax of the file to determine validity. | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html) | `resources`,`stepfunctions` |
| [E2533](../src/cfnlint/rules/resources/lmbd/DeprecatedRuntimeUpdate.py) | Check if Lambda Function Runtimes are updatable | Check if an EOL Lambda Runtime is specified and you cannot update the function | | [Source](https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html) | `resources`,`lambda`,`runtime` |
| [E2540](../src/cfnlint/rules/resources/codepipeline/CodepipelineStages.py) | CodePipeline Stages | See if CodePipeline stages are set correctly | | [Source](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#pipeline-requirements) | `properties`,`codepipeline` |
| [E2541](../src/cfnlint/rules/resources/codepipeline/CodepipelineStageActions.py) | CodePipeline Stage Actions | See if CodePipeline stage actions are set correctly | | [Source](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#pipeline-requirements) | `resources`,`codepipeline` |
@@ -144,13 +143,17 @@ The following **209** rules are applied by this linter:
| [E3044](../src/cfnlint/rules/resources/ecs/FargateDeploymentSchedulingStrategy.py) | ECS service using FARGATE or EXTERNAL can only use SchedulingStrategy of REPLICA | When using a TargetType of Fargate or External the SchedulingStrategy has to be Replica | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-schedulingstrategy) | `properties`,`ecs`,`service`,`container`,`fargate` |
| [E3045](../src/cfnlint/rules/resources/s3/AccessControlOwnership.py) | Validate AccessControl are set with OwnershipControls | When using AccessControl other than private you must also configure OwnershipControls. The default is bucket owner enforced which disables ACLs. | | [Source](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) | `resources`,`s3` |
| [E3046](../src/cfnlint/rules/resources/ecs/LogConfiguration.py) | Validate ECS task logging configuration for awslogs | When 'awslogs' the options 'awslogs-group' and 'awslogs-region' are required | | [Source]() | `resources` |
+| [E3047](../src/cfnlint/rules/resources/ecs/FargateCpuMemory.py) | Validate ECS Fargate tasks have the right combination of CPU and memory | When using a ECS Fargate task there is a specfic combination of memory and cpu that can be used | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-memory) | `properties`,`ecs`,`service`,`container`,`fargate` |
+| [E3048](../src/cfnlint/rules/resources/ecs/TaskFargateProperties.py) | Validate ECS Fargate tasks have required properties and values | When using a ECS Fargate task there is a specfic combination of required properties and values | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-memory) | `properties`,`ecs`,`service`,`container`,`fargate` |
| [E3050](../src/cfnlint/rules/resources/iam/RefWithPath.py) | Check if REFing to a IAM resource with path set | Some resources don't support looking up the IAM resource by name. This check validates when a REF is being used and the Path is not '/' | | [Source](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) | `properties`,`iam` |
+| [E3051](../src/cfnlint/rules/resources/ssm/Document.py) | Validate the structure of a SSM document | SSM documents are nested JSON/YAML in CloudFormation this rule adds validation to those documents | | [Source](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) | `properties`,`ssm`,`document` |
| [E3503](../src/cfnlint/rules/resources/certificatemanager/DomainValidationOptions.py) | ValidationDomain is superdomain of DomainName | In ValidationDomainOptions, the ValidationDomain must be a superdomain of the DomainName being validated | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-certificatemanager-certificate-domainvalidationoption.html#cfn-certificatemanager-certificate-domainvalidationoption-validationdomain) | `certificate`,`certificatemanager`,`domainvalidationoptions`,`validationdomain` |
| [E3504](../src/cfnlint/rules/resources/backup/BackupPlanLifecycleRule.py) | Check minimum 90 period is met between BackupPlan cold and delete | Check that Backup plans with lifecycle rules have >= 90 days between cold and delete | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-lifecycleresourcetype.html) | `properties`,`backup`,`plan`,`lifecycle` |
| [E3510](../src/cfnlint/rules/resources/iam/IdentityPolicy.py) | Validate identity based IAM polices | IAM identity polices are embedded JSON in CloudFormation. This rule validates those embedded policies. | | [Source](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) | `resources`,`iam` |
| [E3511](../src/cfnlint/rules/resources/iam/RoleArnPattern.py) | Validate IAM role arn pattern | Validate an IAM role arn pattern matches | | [Source](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) | `parameters`,`iam` |
| [E3512](../src/cfnlint/rules/resources/iam/ResourcePolicy.py) | Validate resource based IAM polices | IAM resources polices are embedded JSON in CloudFormation. This rule validates those embedded policies. | | [Source](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) | `resources`,`iam` |
| [E3513](../src/cfnlint/rules/resources/iam/ResourceEcrPolicy.py) | Validate ECR repository policy | Private ECR repositories have a policy. This rule validates those policies. | | [Source](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policies.html) | `resources`,`iam`,`ecr` |
+| [E3601](../src/cfnlint/rules/resources/stepfunctions/StateMachineDefinition.py) | Validate the structure of a StateMachine definition | Validate the Definition or DefinitionString inside a AWS::StepFunctions::StateMachine resource | | [Source](https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-state-machine-structure.html) | `resources`,`statemachine` |
| [E3615](../src/cfnlint/rules/resources/cloudwatch/AlarmAwsNamespacePeriod.py) | Validate CloudWatch Alarm using AWS metrics has a correct period | Period < 60 not supported for namespaces with the following prefix: AWS/ | | [Source]() | `resources` |
| [E3617](../src/cfnlint/rules/resources/managedblockchain/NodeNodeConfigurationInstanceTypeEnum.py) | Validate ManagedBlockchain instance type | Validates the ManagedBlockchain instance types based on region and data gathered from the pricing APIs | | [Source]() | `resources` |
| [E3620](../src/cfnlint/rules/resources/docdb/DBInstanceClassEnum.py) | Validate a DocDB DB Instance class | Validates the DocDB instance types based on region and data gathered from the pricing APIs | | [Source]() | `resources` |
@@ -167,6 +170,7 @@ The following **209** rules are applied by this linter:
| [E3652](../src/cfnlint/rules/resources/elasticsearch/DomainClusterConfigInstanceTypeEnum.py) | Validate Elasticsearch domain cluster instance | Validates the Elasticsearch instance types based on region and data gathered from the pricing APIs | | [Source]() | `resources` |
| [E3660](../src/cfnlint/rules/resources/apigateway/RestApiOpenApi.py) | RestApi requires a name when not using an OpenAPI specification | When using AWS::ApiGateway::RestApi you have to provide 'Name' if you don't provide 'Body' or 'BodyS3Location' | | [Source]() | `resources`,`apigateway` |
| [E3661](../src/cfnlint/rules/resources/route53/HealthCheckHealthCheckConfigTypeInclusive.py) | Validate Route53 health check has AlarmIdentifier when using CloudWatch | When 'Type' is 'CLOUDWATCH_METRIC' you must specify 'AlarmIdentifier' | | [Source]() | `resources` |
+| [E3663](../src/cfnlint/rules/resources/lmbd/FunctionEnvironmentKeys.py) | Validate Lambda environment variable names aren't reserved | Lambda reserves a set of environment variable names for its use. This rule validates that the provided environment variable names don't use the reserved variable names | | [Source](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html) | `resources`,`lambda`,`runtime` |
| [E3667](../src/cfnlint/rules/resources/redshift/ClusterNodeTypeEnum.py) | Validate RedShift cluster node type | Validates the RedShift instance types based on region and data gathered from the pricing APIs | | [Source]() | `resources` |
| [E3670](../src/cfnlint/rules/resources/amazonmq/BrokerInstanceTypeEnum.py) | Validate the instance types for an AmazonMQ Broker | Validates the instance types for AmazonMQ broker based on region and data gathered from the pricing APIs | | [Source]() | `resources` |
| [E3671](../src/cfnlint/rules/resources/ectwo/Ebs.py) | Validate block device mapping configuration | Certain volume types require Iops to be specified | | [Source]() | `resources`,`ec2` |
@@ -230,6 +234,14 @@ The following **209** rules are applied by this linter:
| [W1011](../src/cfnlint/rules/parameters/DynamicReferenceSecret.py) | Instead of REFing a parameter for a secret use a dynamic reference | Instead of REFing a parameter for a secret use a dynamic reference. Solutions like SSM parameter store and secrets manager provide better security of sercrets | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/security-best-practices.html#creds) | `functions`,`dynamic reference`,`ref` |
| [W1019](../src/cfnlint/rules/functions/SubParametersUsed.py) | Validate that parameters to a Fn::Sub are used | Validate that Fn::Sub Parameters are used | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) | `functions`,`sub` |
| [W1020](../src/cfnlint/rules/functions/SubUnneeded.py) | Sub isn't needed if it doesn't have a variable defined | Checks sub strings to see if a variable is defined. | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) | `functions`,`sub` |
+| [W1030](../src/cfnlint/rules/functions/RefResolved.py) | Validate the values that come from a Ref function | Resolve the Ref and then validate the values against the schema | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) | `functions`,`ref` |
+| [W1031](../src/cfnlint/rules/functions/SubResolved.py) | Validate the values that come from a Fn::Sub function | Resolve the Fn::Sub and then validate the values against the schema | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) | `functions`,`sub` |
+| [W1032](../src/cfnlint/rules/functions/JoinResolved.py) | Validate the values that come from a Fn::Join function | Resolve the Fn::Join and then validate the values against the schema | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) | `functions`,`join` |
+| [W1033](../src/cfnlint/rules/functions/SplitResolved.py) | Validate the values that come from a Fn::Split function | Resolve the Fn::Split and then validate the values against the schema | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-split.html) | `functions`,`split` |
+| [W1034](../src/cfnlint/rules/functions/FindInMapResolved.py) | Validate the values that come from a Fn::FindInMap function | Resolve the Fn::FindInMap and then validate the values against the schema | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html) | `functions`,`findinmap` |
+| [W1035](../src/cfnlint/rules/functions/SelectResolved.py) | Validate the values that come from a Fn::Select function | Resolve the Fn::Select and then validate the values against the schema | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-select.html) | `functions`,`select` |
+| [W1036](../src/cfnlint/rules/functions/GetAzResolved.py) | Validate the values that come from a Fn::GetAZs function | Resolve the Fn::GetAZs and then validate the values against the schema | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getavailabilityzones.html) | `functions`,`getazs` |
+| [W1040](../src/cfnlint/rules/functions/ToJsonStringResolved.py) | Validate the values that come from a Fn::ToJsonString function | Resolve the Fn::ToJsonString and then validate the values against the schema | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ToJsonString.html) | `functions`,`tojsonstring` |
| [W2001](../src/cfnlint/rules/parameters/Used.py) | Check if Parameters are Used | Making sure the parameters defined are used | | [Source](https://github.com/aws-cloudformation/cfn-lint) | `parameters` |
| [W2010](../src/cfnlint/rules/parameters/NoEcho.py) | NoEcho parameters are not masked when used in Metadata and Outputs | Using the NoEcho attribute does not mask any information stored in the following: Metadata, Outputs, Resource Metadata | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) | `functions`,`dynamic reference`,`ref` |
| [W2030](../src/cfnlint/rules/parameters/Enum.py) | Check if parameters have a valid value | Check if parameters have a valid value in case of an enumator. The Parameter's allowed values is based on the usages in property (Ref) | | [Source](https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#enum) | `parameters`,`resources`,`property`,`allowed value` |
diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
index aaf030f8e4..ba38ac9957 100644
--- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
@@ -1 +1 @@
-{"etag": "\"ce25bdb8abb4b4a5000196604acac74e\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"e307e8687bfecd606f0e899afa9dc391\"", "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 3ed2bf2b96..c7eac535ff 100644
--- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
@@ -1 +1 @@
-{"etag": "\"faf6989a0a41e53ef30253e597cccdb6\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"}
+{"etag": "\"4ef0c1c5720349e0aa42d8c03f2190c6\"", "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 acc2351d12..07632650b6 100644
--- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
@@ -1 +1 @@
-{"etag": "\"b89b27fc4f4b6afa8d35284f82b3e523\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"2d862f85e75942a5867c34b7bfc3c77c\"", "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 19cb4a1f6b..206f3f4cc8 100644
--- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json
@@ -1 +1 @@
-{"etag": "\"baa16e498e4422d8e6b6d7df17b3c871\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"6914ce33d190b3e1e349df96fe4db5f9\"", "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 c1b99f3369..3f07e1ffbd 100644
--- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
@@ -1 +1 @@
-{"etag": "\"e29122cd8f571bb1f576b02be7f4b6a7\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"c4159999fa081b0705a8cc19ad90fb11\"", "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 967c75ce71..5b7c0545bf 100644
--- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
@@ -1 +1 @@
-{"etag": "\"4239e96fd4bfe94d6a92732935d427d5\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"6166354d9ef7dd31623bf06449411818\"", "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 5cf503bd9d..365768b561 100644
--- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
@@ -1 +1 @@
-{"etag": "\"711637f79ae4999e68d86de65488084b\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"f1089cc4844a66b81cc344a5614f7ed1\"", "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 f73e34ac0c..a39e047d7f 100644
--- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
@@ -1 +1 @@
-{"etag": "\"d7df680cf8929470502f430b81fafe8e\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"}
+{"etag": "\"86ec8b36787356cf267f5f432a71b88a\"", "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 c6adbb3df2..6e2095c941 100644
--- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
@@ -1 +1 @@
-{"etag": "\"56f1471173bcb928fcff8c21bfe63e50\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"bdf82bb714b18ff4ec7486d87a06212b\"", "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 9243d1f26a..1fbef7b8ba 100644
--- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
@@ -1 +1 @@
-{"etag": "\"b86db309264607a404022713c045c4bd\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"990578a386215d4d7dd180c403b696f2\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
index 7a941046f1..3b580ffd15 100644
--- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
@@ -1 +1 @@
-{"etag": "\"2baa3ab1691a30c9ab9e411f48a9e69a\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"178d4817771d0ee17f6c632e6263e86d\"", "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 717707178b..5d5e5182fe 100644
--- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
@@ -1 +1 @@
-{"etag": "\"ac4af4ac6c2571af2dd07f84b588f173\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"f542e9eb0c8ef1fda4e9accd88d04ec1\"", "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 84d58d04c6..aec50bb52b 100644
--- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
@@ -1 +1 @@
-{"etag": "\"85ccef5385fdcdf047d545f0555ef36d\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"b1f3e2bc177dfb5452e563b28eef273b\"", "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 4d574081bb..db8b6337a7 100644
--- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
@@ -1 +1 @@
-{"etag": "\"3349c3ec7cdd5b5538d7a8d2d9fc4547\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"c01fe376a860da2279ea3e7260906c08\"", "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 60bcae7ff0..e13c9b5e63 100644
--- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
@@ -1 +1 @@
-{"etag": "\"c2c2d3b5eeae69f92f76a2b0b22a2c99\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"aecc2aa6763a28865b7f195a594bef80\"", "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 b4ad123f70..28d75e1dfa 100644
--- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
@@ -1 +1 @@
-{"etag": "\"2d5815402c22aeb1f604ce3420c18881\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"bc19846ab910bace53be50c587ffb760\"", "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 b6431b7afe..489be762d2 100644
--- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json
@@ -1 +1 @@
-{"etag": "\"52648d3b5f835beb5891fe9349d9c175\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"e1f243714320251572d25da110e9b902\"", "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 cbd5ad708e..21edc339eb 100644
--- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
@@ -1 +1 @@
-{"etag": "\"4c96a22f1ec1e60f3e942aaa692cde1a\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"32c73a70fccaa874203ff2eb8914a077\"", "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 8f482ef838..5cb476ac80 100644
--- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
@@ -1 +1 @@
-{"etag": "\"86ef0954e5ef771de9191db93454128a\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"ffccd5671a87d141834e154742dae609\"", "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 44e49f2f5f..b98013f502 100644
--- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
@@ -1 +1 @@
-{"etag": "\"e69ca71cda7efb845e1266a77b4a3447\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"c9f66a4cfd33f63d6dac097c5bac714a\"", "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 8444c964b2..0396772120 100644
--- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
@@ -1 +1 @@
-{"etag": "\"237854d0fa36fb5360f396c170cca855\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"336f0cfccc8ddcedada9423340923f23\"", "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 15444105ba..e97ecd5e5d 100644
--- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
@@ -1 +1 @@
-{"etag": "\"f6175d481dcfaf1ec2221cf6d0151e33\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"9767f723613c3d641cbb8690ae37bd53\"", "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 4f8dd5c2d8..2d7195f252 100644
--- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
@@ -1 +1 @@
-{"etag": "\"a6d6a670f398cc6e5260d8c5ce1ae439\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"d886ddf5ed68d76eab9d79cec3239472\"", "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 709ffd9b50..3a83950a0f 100644
--- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json
@@ -1 +1 @@
-{"etag": "\"73566ec980b06d325ce1a4a22ad77a68\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"1147baab40516d3a031370d4bc77285e\"", "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 eb453f0fd9..5d2eef745a 100644
--- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
@@ -1 +1 @@
-{"etag": "\"529c71e48771ea303608d647d1518de1\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"1949bdac883ab18547ad1e2d650edd28\"", "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 ae7046deef..41f7440a3a 100644
--- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
@@ -1 +1 @@
-{"etag": "\"a5bf068c9d9bdfd570adee4b483565c2\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"4a0b2550d58f623905a8d24bbff19624\"", "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 52b1349715..fcdc03e708 100644
--- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
@@ -1 +1 @@
-{"etag": "\"7f8bb2537d2691db7d2fc5a3c24cdd25\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"dff9682ab80fd00ea68dc846cfb26d76\"", "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 529461b80f..dbd95e1dc6 100644
--- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
@@ -1 +1 @@
-{"etag": "\"f5d0315754b97b8839f818c821184e3b\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"88bea80c58b26f8df4bc055c49d9c882\"", "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 8d45c2bf36..09b0cad4b1 100644
--- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json
@@ -1 +1 @@
-{"etag": "\"c682f6742631520e7a4d1154bb40d456\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"30ea24111dc167f861eabf7c607f30e7\"", "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 09b5fe9b03..84d990106b 100644
--- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
@@ -1 +1 @@
-{"etag": "\"179bf748fddd08c2ba72fff97ea29170\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"1b6e43838754f853a2011f6bdbbb9d65\"", "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 879f354726..87dd75f580 100644
--- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
@@ -1 +1 @@
-{"etag": "\"0374385d2a54a4bf42d5a875021c7787\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"98d51c8c91b0f43c1899379c3adf8de1\"", "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 eb4c95c263..db88b75a05 100644
--- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
@@ -1 +1 @@
-{"etag": "\"f8cfac6e3f447d0214133c57e1e7f9f4\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"5d38608f33613d0b0b067aab286e6ab6\"", "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 68a5246f3b..8ea8670957 100644
--- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
@@ -1 +1 @@
-{"etag": "\"53ecce19317b2394f6ba8f7389bf58c7\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"7aba9bac1f6a83caceaad3b7a055c6e7\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"}
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 6489d32045..277363dbe0 100644
--- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py
@@ -1007,6 +1007,7 @@
"aws-connect-view.json",
"aws-connect-viewversion.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-customerprofiles-calculatedattributedefinition.json",
"aws-customerprofiles-domain.json",
@@ -1324,6 +1325,7 @@
"aws-msk-configuration.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-neptune-eventsubscription.json",
"aws-networkfirewall-firewall.json",
@@ -1373,6 +1375,7 @@
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -1445,6 +1448,7 @@
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelpackage.json",
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 ba398ef6bd..e440383beb 100644
--- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
@@ -1320,6 +1320,7 @@
"aws-msk-configuration.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-neptune-eventsubscription.json",
"aws-networkfirewall-firewall.json",
@@ -1357,6 +1358,7 @@
"aws-pipes-pipe.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -1432,6 +1434,7 @@
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-sagemaker-mlflowtrackingserver.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-sagemaker-mlflowtrackingserver.json
deleted file mode 100644
index 84791991d5..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-sagemaker-mlflowtrackingserver.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/MlflowVersion",
- "/properties/RoleArn"
- ],
- "createOnlyProperties": [
- "/properties/TrackingServerName"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "sagemaker:CreateMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:AddTags",
- "sagemaker:ListTags",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 65
- },
- "delete": {
- "permissions": [
- "sagemaker:DeleteMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer"
- ],
- "timeoutInMinutes": 65
- },
- "list": {
- "permissions": [
- "sagemaker:ListMlflowTrackingServers"
- ]
- },
- "read": {
- "permissions": [
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:ListTags"
- ]
- },
- "update": {
- "permissions": [
- "sagemaker:UpdateMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:ListTags",
- "sagemaker:AddTags",
- "sagemaker:DeleteTags",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 65
- }
- },
- "primaryIdentifier": [
- "/properties/TrackingServerName"
- ],
- "properties": {
- "ArtifactStoreUri": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^s3:\\/\\/([^\\/]+)\\/?(.*)$",
- "type": "string"
- },
- "AutomaticModelRegistration": {
- "type": "boolean"
- },
- "MlflowVersion": {
- "maxLength": 32,
- "minLength": 1,
- "pattern": "^\\d+(\\.\\d+)+$",
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role\\/?[a-zA-Z_0-9+=,.@\\-_\\/]+$",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TrackingServerArn": {
- "maxLength": 2048,
- "pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:mlflow-tracking-server/.*$",
- "type": "string"
- },
- "TrackingServerName": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,255}$",
- "type": "string"
- },
- "TrackingServerSize": {
- "enum": [
- "Small",
- "Medium",
- "Large"
- ],
- "type": "string"
- },
- "WeeklyMaintenanceWindowStart": {
- "maxLength": 9,
- "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\\d|2[0-3]):([0-5]\\d)$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/TrackingServerArn"
- ],
- "required": [
- "TrackingServerName",
- "ArtifactStoreUri",
- "RoleArn"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "permissions": [
- "sagemaker:AddTags",
- "sagemaker:ListTags",
- "sagemaker:DeleteTags"
- ],
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::SageMaker::MlflowTrackingServer"
-}
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 1b33719c56..7996392da5 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py
@@ -1550,7 +1550,6 @@
"aws-dms-eventsubscription.json",
"aws-dms-instanceprofile.json",
"aws-dms-migrationproject.json",
- "aws-dms-replicationconfig.json",
"aws-dms-replicationinstance.json",
"aws-dms-replicationsubnetgroup.json",
"aws-dms-replicationtask.json",
@@ -2036,6 +2035,7 @@
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-neptune-eventsubscription.json",
"aws-neptunegraph-graph.json",
@@ -2081,7 +2081,6 @@
"aws-opsworks-volume.json",
"aws-opsworkscm-server.json",
"aws-organizations-account.json",
- "aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
"aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
@@ -2227,6 +2226,7 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
@@ -2308,7 +2308,6 @@
"aws-shield-drtaccess.json",
"aws-shield-proactiveengagement.json",
"aws-shield-protection.json",
- "aws-shield-protectiongroup.json",
"aws-signer-profilepermission.json",
"aws-signer-signingprofile.json",
"aws-sns-subscription.json",
@@ -2409,10 +2408,8 @@
"aws-workspacesweb-identityprovider.json",
"aws-workspacesweb-ipaccesssettings.json",
"aws-workspacesweb-networksettings.json",
- "aws-workspacesweb-portal.json",
"aws-workspacesweb-truststore.json",
"aws-workspacesweb-useraccessloggingsettings.json",
- "aws-workspacesweb-usersettings.json",
"aws-xray-group.json",
"aws-xray-resourcepolicy.json",
"aws-xray-samplingrule.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-dms-replicationconfig.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-dms-replicationconfig.json
new file mode 100644
index 0000000000..83b9074702
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-dms-replicationconfig.json
@@ -0,0 +1,204 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicationConfigIdentifier"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ComputeConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "DnsNameServers": {
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "MaxCapacityUnits": {
+ "type": "integer"
+ },
+ "MinCapacityUnits": {
+ "type": "integer"
+ },
+ "MultiAZ": {
+ "type": "boolean"
+ },
+ "PreferredMaintenanceWindow": {
+ "type": "string"
+ },
+ "ReplicationSubnetGroupId": {
+ "type": "string"
+ },
+ "VpcSecurityGroupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "MaxCapacityUnits"
+ ],
+ "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"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "dms:CreateReplicationConfig",
+ "dms:AddTagsToResource",
+ "dms:ListTagsForResource",
+ "iam:CreateServiceLinkedRole",
+ "iam:AttachRolePolicy",
+ "iam:PutRolePolicy",
+ "iam:UpdateRoleDescription"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "dms:DescribeReplicationConfigs",
+ "dms:DeleteReplicationConfig",
+ "dms:ListTagsForResource",
+ "iam:DeleteServiceLinkedRole",
+ "iam:GetServiceLinkedRoleDeletionStatus"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "dms:DescribeReplicationConfigs",
+ "dms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "dms:DescribeReplicationConfigs",
+ "dms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "dms:ModifyReplicationConfig",
+ "dms:AddTagsToResource",
+ "dms:RemoveTagsFromResource",
+ "dms:ListTagsForResource",
+ "iam:CreateServiceLinkedRole",
+ "iam:AttachRolePolicy",
+ "iam:PutRolePolicy",
+ "iam:UpdateRoleDescription"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicationConfigArn"
+ ],
+ "properties": {
+ "ComputeConfig": {
+ "$ref": "#/definitions/ComputeConfig"
+ },
+ "ReplicationConfigArn": {
+ "type": "string"
+ },
+ "ReplicationConfigIdentifier": {
+ "type": "string"
+ },
+ "ReplicationSettings": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "ReplicationType": {
+ "enum": [
+ "full-load",
+ "full-load-and-cdc",
+ "cdc"
+ ],
+ "type": "string"
+ },
+ "ResourceIdentifier": {
+ "type": "string"
+ },
+ "SourceEndpointArn": {
+ "type": "string"
+ },
+ "SupplementalSettings": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TableMappings": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "type": "array"
+ },
+ "TargetEndpointArn": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicationConfigArn"
+ ],
+ "required": [
+ "ReplicationConfigIdentifier",
+ "SourceEndpointArn",
+ "TargetEndpointArn",
+ "ReplicationType",
+ "ComputeConfig",
+ "TableMappings"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-dms",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "permissions": [
+ "dms:AddTagsToResource",
+ "dms:ListTagsForResource",
+ "dms:RemoveTagsFromResource"
+ ],
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::DMS::ReplicationConfig"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-organization.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-organization.json
new file mode 100644
index 0000000000..844033a13a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-organization.json
@@ -0,0 +1,88 @@
+{
+ "additionalProperties": false,
+ "handlers": {
+ "create": {
+ "permissions": [
+ "organizations:CreateOrganization",
+ "organizations:DescribeOrganization",
+ "iam:CreateServiceLinkedRole",
+ "organizations:ListRoots"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "organizations:DeleteOrganization",
+ "organizations:DescribeOrganization"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "organizations:DescribeOrganization"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "organizations:DescribeOrganization",
+ "organizations:ListRoots"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "organizations:DescribeOrganization"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}",
+ "type": "string"
+ },
+ "FeatureSet": {
+ "default": "ALL",
+ "enum": [
+ "ALL",
+ "CONSOLIDATED_BILLING"
+ ],
+ "type": "string"
+ },
+ "Id": {
+ "pattern": "^o-[a-z0-9]{10,32}$",
+ "type": "string"
+ },
+ "ManagementAccountArn": {
+ "pattern": "^arn:aws.*:organizations::\\d{12}:account\\/o-[a-z0-9]{10,32}\\/\\d{12}",
+ "type": "string"
+ },
+ "ManagementAccountEmail": {
+ "maxLength": 64,
+ "minLength": 6,
+ "pattern": "[^\\s@]+@[^\\s@]+\\.[^\\s@]+",
+ "type": "string"
+ },
+ "ManagementAccountId": {
+ "pattern": "^\\d{12}$",
+ "type": "string"
+ },
+ "RootId": {
+ "maxLength": 64,
+ "pattern": "^r-[0-9a-z]{4,32}$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/ManagementAccountArn",
+ "/properties/ManagementAccountId",
+ "/properties/ManagementAccountEmail",
+ "/properties/RootId"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Organizations::Organization"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-mlflowtrackingserver.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-mlflowtrackingserver.json
deleted file mode 100644
index 84791991d5..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-mlflowtrackingserver.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/MlflowVersion",
- "/properties/RoleArn"
- ],
- "createOnlyProperties": [
- "/properties/TrackingServerName"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "sagemaker:CreateMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:AddTags",
- "sagemaker:ListTags",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 65
- },
- "delete": {
- "permissions": [
- "sagemaker:DeleteMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer"
- ],
- "timeoutInMinutes": 65
- },
- "list": {
- "permissions": [
- "sagemaker:ListMlflowTrackingServers"
- ]
- },
- "read": {
- "permissions": [
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:ListTags"
- ]
- },
- "update": {
- "permissions": [
- "sagemaker:UpdateMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:ListTags",
- "sagemaker:AddTags",
- "sagemaker:DeleteTags",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 65
- }
- },
- "primaryIdentifier": [
- "/properties/TrackingServerName"
- ],
- "properties": {
- "ArtifactStoreUri": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^s3:\\/\\/([^\\/]+)\\/?(.*)$",
- "type": "string"
- },
- "AutomaticModelRegistration": {
- "type": "boolean"
- },
- "MlflowVersion": {
- "maxLength": 32,
- "minLength": 1,
- "pattern": "^\\d+(\\.\\d+)+$",
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role\\/?[a-zA-Z_0-9+=,.@\\-_\\/]+$",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TrackingServerArn": {
- "maxLength": 2048,
- "pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:mlflow-tracking-server/.*$",
- "type": "string"
- },
- "TrackingServerName": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,255}$",
- "type": "string"
- },
- "TrackingServerSize": {
- "enum": [
- "Small",
- "Medium",
- "Large"
- ],
- "type": "string"
- },
- "WeeklyMaintenanceWindowStart": {
- "maxLength": 9,
- "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\\d|2[0-3]):([0-5]\\d)$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/TrackingServerArn"
- ],
- "required": [
- "TrackingServerName",
- "ArtifactStoreUri",
- "RoleArn"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "permissions": [
- "sagemaker:AddTags",
- "sagemaker:ListTags",
- "sagemaker:DeleteTags"
- ],
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::SageMaker::MlflowTrackingServer"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-shield-protectiongroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-shield-protectiongroup.json
new file mode 100644
index 0000000000..5feda49337
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-shield-protectiongroup.json
@@ -0,0 +1,141 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ProtectionGroupId"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "shield:CreateProtectionGroup",
+ "shield:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "shield:DeleteProtectionGroup",
+ "shield:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "shield:ListProtectionGroups"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "shield:DescribeProtectionGroup",
+ "shield:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "shield:UpdateProtectionGroup",
+ "shield:ListTagsForResource",
+ "shield:TagResource",
+ "shield:UntagResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ProtectionGroupArn"
+ ],
+ "properties": {
+ "Aggregation": {
+ "enum": [
+ "SUM",
+ "MEAN",
+ "MAX"
+ ],
+ "type": "string"
+ },
+ "Members": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 10000,
+ "type": "array"
+ },
+ "Pattern": {
+ "enum": [
+ "ALL",
+ "ARBITRARY",
+ "BY_RESOURCE_TYPE"
+ ],
+ "type": "string"
+ },
+ "ProtectionGroupArn": {
+ "type": "string"
+ },
+ "ProtectionGroupId": {
+ "maxLength": 36,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\-]*",
+ "type": "string"
+ },
+ "ResourceType": {
+ "enum": [
+ "CLOUDFRONT_DISTRIBUTION",
+ "ROUTE_53_HOSTED_ZONE",
+ "ELASTIC_IP_ALLOCATION",
+ "CLASSIC_LOAD_BALANCER",
+ "APPLICATION_LOAD_BALANCER",
+ "GLOBAL_ACCELERATOR"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ProtectionGroupArn"
+ ],
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "Aggregation",
+ "Pattern",
+ "ProtectionGroupId"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-shield.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "permissions": [
+ "shield:ListTagsForResource",
+ "shield:UntagResource",
+ "shield:TagResource"
+ ],
+ "tagProperty": "/properties/Tags",
+ "taggable": true
+ },
+ "typeName": "AWS::Shield::ProtectionGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-portal.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-portal.json
new file mode 100644
index 0000000000..9588a3f3dc
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-portal.json
@@ -0,0 +1,311 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AdditionalEncryptionContext",
+ "/properties/CustomerManagedKey"
+ ],
+ "definitions": {
+ "AuthenticationType": {
+ "enum": [
+ "Standard",
+ "IAM_Identity_Center"
+ ],
+ "type": "string"
+ },
+ "BrowserType": {
+ "enum": [
+ "Chrome"
+ ],
+ "type": "string"
+ },
+ "EncryptionContextMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[\\s\\S]*$": {
+ "maxLength": 131072,
+ "minLength": 0,
+ "pattern": "^[\\s\\S]*$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InstanceType": {
+ "enum": [
+ "standard.regular",
+ "standard.large",
+ "standard.xlarge"
+ ],
+ "type": "string"
+ },
+ "PortalStatus": {
+ "enum": [
+ "Incomplete",
+ "Pending",
+ "Active"
+ ],
+ "type": "string"
+ },
+ "RendererType": {
+ "enum": [
+ "AppStream"
+ ],
+ "type": "string"
+ },
+ "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"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "workspaces-web:CreatePortal",
+ "workspaces-web:GetPortal",
+ "workspaces-web:GetPortalServiceProviderMetadata",
+ "workspaces-web:AssociateBrowserSettings",
+ "workspaces-web:AssociateIpAccessSettings",
+ "workspaces-web:AssociateNetworkSettings",
+ "workspaces-web:AssociateTrustStore",
+ "workspaces-web:AssociateUserAccessLoggingSettings",
+ "workspaces-web:AssociateUserSettings",
+ "workspaces-web:ListTagsForResource",
+ "workspaces-web:TagResource",
+ "kms:CreateGrant",
+ "kms:GenerateDataKey",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "ec2:CreateNetworkInterface",
+ "ec2:CreateNetworkInterfacePermission",
+ "ec2:DeleteNetworkInterface",
+ "ec2:DeleteNetworkInterfacePermission",
+ "ec2:ModifyNetworkInterfaceAttribute",
+ "kinesis:PutRecord",
+ "kinesis:PutRecords",
+ "kinesis:DescribeStreamSummary",
+ "sso:CreateManagedApplicationInstance",
+ "sso:DescribeRegisteredRegions"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "workspaces-web:GetPortal",
+ "workspaces-web:DeletePortal",
+ "workspaces-web:DisassociateBrowserSettings",
+ "workspaces-web:DisassociateIpAccessSettings",
+ "workspaces-web:DisassociateNetworkSettings",
+ "workspaces-web:DisassociateTrustStore",
+ "workspaces-web:DisassociateUserAccessLoggingSettings",
+ "workspaces-web:DisassociateUserSettings",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "sso:DeleteManagedApplicationInstance"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "workspaces-web:ListPortals",
+ "kms:Decrypt",
+ "kms:DescribeKey"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "workspaces-web:GetPortal",
+ "workspaces-web:GetPortalServiceProviderMetadata",
+ "workspaces-web:ListTagsForResource",
+ "kms:Decrypt",
+ "kms:DescribeKey"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "workspaces-web:GetPortal",
+ "workspaces-web:GetPortalServiceProviderMetadata",
+ "workspaces-web:UpdatePortal",
+ "workspaces-web:AssociateBrowserSettings",
+ "workspaces-web:AssociateIpAccessSettings",
+ "workspaces-web:AssociateNetworkSettings",
+ "workspaces-web:AssociateTrustStore",
+ "workspaces-web:AssociateUserAccessLoggingSettings",
+ "workspaces-web:AssociateUserSettings",
+ "workspaces-web:DisassociateBrowserSettings",
+ "workspaces-web:DisassociateIpAccessSettings",
+ "workspaces-web:DisassociateNetworkSettings",
+ "workspaces-web:DisassociateTrustStore",
+ "workspaces-web:DisassociateUserAccessLoggingSettings",
+ "workspaces-web:DisassociateUserSettings",
+ "workspaces-web:ListTagsForResource",
+ "workspaces-web:TagResource",
+ "workspaces-web:UntagResource",
+ "kms:CreateGrant",
+ "kms:Encrypt",
+ "kms:GenerateDataKey",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "ec2:CreateNetworkInterface",
+ "ec2:CreateNetworkInterfacePermission",
+ "ec2:DeleteNetworkInterface",
+ "ec2:DeleteNetworkInterfacePermission",
+ "ec2:ModifyNetworkInterfaceAttribute",
+ "kinesis:PutRecord",
+ "kinesis:PutRecords",
+ "kinesis:DescribeStreamSummary",
+ "sso:CreateManagedApplicationInstance",
+ "sso:DeleteManagedApplicationInstance",
+ "sso:DescribeRegisteredRegions",
+ "sso:GetApplicationInstance",
+ "sso:ListApplicationInstances"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/PortalArn"
+ ],
+ "properties": {
+ "AdditionalEncryptionContext": {
+ "$ref": "#/definitions/EncryptionContextMap"
+ },
+ "AuthenticationType": {
+ "$ref": "#/definitions/AuthenticationType"
+ },
+ "BrowserSettingsArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
+ "type": "string"
+ },
+ "BrowserType": {
+ "$ref": "#/definitions/BrowserType"
+ },
+ "CreationDate": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "CustomerManagedKey": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "DisplayName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^.+$",
+ "type": "string"
+ },
+ "InstanceType": {
+ "$ref": "#/definitions/InstanceType"
+ },
+ "IpAccessSettingsArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
+ "type": "string"
+ },
+ "MaxConcurrentSessions": {
+ "maximum": 5000,
+ "minimum": 1,
+ "type": "number"
+ },
+ "NetworkSettingsArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
+ "type": "string"
+ },
+ "PortalArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
+ "type": "string"
+ },
+ "PortalEndpoint": {
+ "maxLength": 253,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9]?((?!-)([A-Za-z0-9-]*[A-Za-z0-9])\\.)+[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "PortalStatus": {
+ "$ref": "#/definitions/PortalStatus"
+ },
+ "RendererType": {
+ "$ref": "#/definitions/RendererType"
+ },
+ "ServiceProviderSamlMetadata": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "pattern": "^.*$",
+ "type": "string"
+ },
+ "StatusReason": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array"
+ },
+ "TrustStoreArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
+ "type": "string"
+ },
+ "UserAccessLoggingSettingsArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
+ "type": "string"
+ },
+ "UserSettingsArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/BrowserType",
+ "/properties/CreationDate",
+ "/properties/PortalArn",
+ "/properties/PortalEndpoint",
+ "/properties/PortalStatus",
+ "/properties/RendererType",
+ "/properties/ServiceProviderSamlMetadata",
+ "/properties/StatusReason"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::WorkSpacesWeb::Portal"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-usersettings.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-usersettings.json
new file mode 100644
index 0000000000..42252e5db8
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-usersettings.json
@@ -0,0 +1,250 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AdditionalEncryptionContext",
+ "/properties/CustomerManagedKey"
+ ],
+ "definitions": {
+ "CookieSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "Domain": {
+ "maxLength": 253,
+ "minLength": 0,
+ "pattern": "^(\\.?)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Path": {
+ "maxLength": 2000,
+ "minLength": 0,
+ "pattern": "^/(\\S)*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Domain"
+ ],
+ "type": "object"
+ },
+ "CookieSynchronizationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Allowlist": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CookieSpecification"
+ },
+ "maxItems": 10,
+ "minItems": 0,
+ "type": "array"
+ },
+ "Blocklist": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CookieSpecification"
+ },
+ "maxItems": 10,
+ "minItems": 0,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Allowlist"
+ ],
+ "type": "object"
+ },
+ "EnabledType": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "EncryptionContextMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[\\s\\S]*$": {
+ "maxLength": 131072,
+ "minLength": 0,
+ "pattern": "^[\\s\\S]*$",
+ "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": 0,
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "workspaces-web:CreateUserSettings",
+ "workspaces-web:GetUserSettings",
+ "workspaces-web:ListTagsForResource",
+ "workspaces-web:TagResource",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "kms:GenerateDataKey",
+ "kms:Decrypt"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "workspaces-web:GetUserSettings",
+ "workspaces-web:DeleteUserSettings",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "kms:GenerateDataKey",
+ "kms:Decrypt"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "workspaces-web:ListUserSettings",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "kms:GenerateDataKey",
+ "kms:Decrypt"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "workspaces-web:GetUserSettings",
+ "workspaces-web:ListTagsForResource",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "kms:GenerateDataKey",
+ "kms:Decrypt"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "workspaces-web:UpdateUserSettings",
+ "workspaces-web:TagResource",
+ "workspaces-web:UntagResource",
+ "workspaces-web:GetUserSettings",
+ "workspaces-web:ListTagsForResource",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "kms:GenerateDataKey",
+ "kms:Decrypt"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/UserSettingsArn"
+ ],
+ "properties": {
+ "AdditionalEncryptionContext": {
+ "$ref": "#/definitions/EncryptionContextMap"
+ },
+ "AssociatedPortalArns": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "CookieSynchronizationConfiguration": {
+ "$ref": "#/definitions/CookieSynchronizationConfiguration"
+ },
+ "CopyAllowed": {
+ "$ref": "#/definitions/EnabledType"
+ },
+ "CustomerManagedKey": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "DeepLinkAllowed": {
+ "$ref": "#/definitions/EnabledType"
+ },
+ "DisconnectTimeoutInMinutes": {
+ "default": null,
+ "maximum": 600,
+ "minimum": 1,
+ "type": "number"
+ },
+ "DownloadAllowed": {
+ "$ref": "#/definitions/EnabledType"
+ },
+ "IdleDisconnectTimeoutInMinutes": {
+ "default": null,
+ "maximum": 60,
+ "minimum": 0,
+ "type": "number"
+ },
+ "PasteAllowed": {
+ "$ref": "#/definitions/EnabledType"
+ },
+ "PrintAllowed": {
+ "$ref": "#/definitions/EnabledType"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array"
+ },
+ "UploadAllowed": {
+ "$ref": "#/definitions/EnabledType"
+ },
+ "UserSettingsArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/AssociatedPortalArns",
+ "/properties/UserSettingsArn"
+ ],
+ "required": [
+ "CopyAllowed",
+ "DownloadAllowed",
+ "PasteAllowed",
+ "PrintAllowed",
+ "UploadAllowed"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::WorkSpacesWeb::UserSettings"
+}
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 7c19b9e2ef..795fafafcc 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py
@@ -979,6 +979,7 @@
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceComponent",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelBiasJobDefinition",
"AWS::SageMaker::ModelCard",
@@ -1358,6 +1359,7 @@
"aws-connect-view.json",
"aws-connect-viewversion.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-customerprofiles-calculatedattributedefinition.json",
"aws-customerprofiles-domain.json",
@@ -1857,6 +1859,7 @@
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-neptune-eventsubscription.json",
"aws-networkfirewall-firewall.json",
@@ -1934,6 +1937,7 @@
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
"aws-rds-customdbengineversion.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -2021,6 +2025,7 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 3eee0f2648..ebb24d75b0 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py
@@ -664,6 +664,7 @@
"AWS::SageMaker::Image",
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelBiasJobDefinition",
"AWS::SageMaker::ModelCard",
@@ -1242,6 +1243,7 @@
"aws-msk-configuration.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-neptune-eventsubscription.json",
"aws-networkfirewall-firewall.json",
@@ -1287,6 +1289,7 @@
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
"aws-rds-customdbengineversion.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -1367,6 +1370,7 @@
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 5e4592095c..13a3009f7b 100644
--- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py
@@ -977,6 +977,7 @@
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceComponent",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelBiasJobDefinition",
"AWS::SageMaker::ModelCard",
@@ -1853,6 +1854,7 @@
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-neptune-eventsubscription.json",
"aws-networkfirewall-firewall.json",
@@ -1891,7 +1893,6 @@
"aws-opsworks-userprofile.json",
"aws-opsworks-volume.json",
"aws-organizations-account.json",
- "aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
"aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
@@ -1940,6 +1941,7 @@
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
"aws-rds-customdbengineversion.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -2030,6 +2032,7 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-organizations-organization.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-organizations-organization.json
new file mode 100644
index 0000000000..844033a13a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-organizations-organization.json
@@ -0,0 +1,88 @@
+{
+ "additionalProperties": false,
+ "handlers": {
+ "create": {
+ "permissions": [
+ "organizations:CreateOrganization",
+ "organizations:DescribeOrganization",
+ "iam:CreateServiceLinkedRole",
+ "organizations:ListRoots"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "organizations:DeleteOrganization",
+ "organizations:DescribeOrganization"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "organizations:DescribeOrganization"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "organizations:DescribeOrganization",
+ "organizations:ListRoots"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "organizations:DescribeOrganization"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}",
+ "type": "string"
+ },
+ "FeatureSet": {
+ "default": "ALL",
+ "enum": [
+ "ALL",
+ "CONSOLIDATED_BILLING"
+ ],
+ "type": "string"
+ },
+ "Id": {
+ "pattern": "^o-[a-z0-9]{10,32}$",
+ "type": "string"
+ },
+ "ManagementAccountArn": {
+ "pattern": "^arn:aws.*:organizations::\\d{12}:account\\/o-[a-z0-9]{10,32}\\/\\d{12}",
+ "type": "string"
+ },
+ "ManagementAccountEmail": {
+ "maxLength": 64,
+ "minLength": 6,
+ "pattern": "[^\\s@]+@[^\\s@]+\\.[^\\s@]+",
+ "type": "string"
+ },
+ "ManagementAccountId": {
+ "pattern": "^\\d{12}$",
+ "type": "string"
+ },
+ "RootId": {
+ "maxLength": 64,
+ "pattern": "^r-[0-9a-z]{4,32}$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/ManagementAccountArn",
+ "/properties/ManagementAccountId",
+ "/properties/ManagementAccountEmail",
+ "/properties/RootId"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Organizations::Organization"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 c9b0928dda..62e578329a 100644
--- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py
@@ -540,6 +540,7 @@
"AWS::SSO::Instance",
"AWS::SSO::InstanceAccessControlAttributeConfiguration",
"AWS::SSO::PermissionSet",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::ModelCard",
"AWS::Scheduler::Schedule",
"AWS::Scheduler::ScheduleGroup",
@@ -743,6 +744,7 @@
"aws-config-organizationconfigrule.json",
"aws-config-storedquery.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-datasync-agent.json",
"aws-datasync-locationazureblob.json",
@@ -1017,6 +1019,7 @@
"aws-pipes-pipe.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -1071,6 +1074,7 @@
"aws-s3-bucketpolicy.json",
"aws-s3objectlambda-accesspoint.json",
"aws-s3objectlambda-accesspointpolicy.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-modelcard.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 bc8f45a6e3..9e5cf9623a 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py
@@ -1039,6 +1039,7 @@
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceComponent",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelBiasJobDefinition",
"AWS::SageMaker::ModelCard",
@@ -1973,6 +1974,7 @@
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-neptune-eventsubscription.json",
"aws-neptunegraph-graph.json",
@@ -2021,7 +2023,6 @@
"aws-opsworks-volume.json",
"aws-opsworkscm-server.json",
"aws-organizations-account.json",
- "aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
"aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
@@ -2166,6 +2167,7 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-organizations-organization.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-organizations-organization.json
new file mode 100644
index 0000000000..844033a13a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-organizations-organization.json
@@ -0,0 +1,88 @@
+{
+ "additionalProperties": false,
+ "handlers": {
+ "create": {
+ "permissions": [
+ "organizations:CreateOrganization",
+ "organizations:DescribeOrganization",
+ "iam:CreateServiceLinkedRole",
+ "organizations:ListRoots"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "organizations:DeleteOrganization",
+ "organizations:DescribeOrganization"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "organizations:DescribeOrganization"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "organizations:DescribeOrganization",
+ "organizations:ListRoots"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "organizations:DescribeOrganization"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}",
+ "type": "string"
+ },
+ "FeatureSet": {
+ "default": "ALL",
+ "enum": [
+ "ALL",
+ "CONSOLIDATED_BILLING"
+ ],
+ "type": "string"
+ },
+ "Id": {
+ "pattern": "^o-[a-z0-9]{10,32}$",
+ "type": "string"
+ },
+ "ManagementAccountArn": {
+ "pattern": "^arn:aws.*:organizations::\\d{12}:account\\/o-[a-z0-9]{10,32}\\/\\d{12}",
+ "type": "string"
+ },
+ "ManagementAccountEmail": {
+ "maxLength": 64,
+ "minLength": 6,
+ "pattern": "[^\\s@]+@[^\\s@]+\\.[^\\s@]+",
+ "type": "string"
+ },
+ "ManagementAccountId": {
+ "pattern": "^\\d{12}$",
+ "type": "string"
+ },
+ "RootId": {
+ "maxLength": 64,
+ "pattern": "^r-[0-9a-z]{4,32}$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/ManagementAccountArn",
+ "/properties/ManagementAccountId",
+ "/properties/ManagementAccountEmail",
+ "/properties/RootId"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Organizations::Organization"
+}
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 6ece2fb6d2..8043862667 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py
@@ -2020,6 +2020,7 @@
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-neptune-eventsubscription.json",
"aws-networkfirewall-firewall.json",
@@ -2063,7 +2064,6 @@
"aws-opsworks-volume.json",
"aws-opsworkscm-server.json",
"aws-organizations-account.json",
- "aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
"aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
@@ -2210,6 +2210,7 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-organizations-organization.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-organizations-organization.json
new file mode 100644
index 0000000000..844033a13a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-organizations-organization.json
@@ -0,0 +1,88 @@
+{
+ "additionalProperties": false,
+ "handlers": {
+ "create": {
+ "permissions": [
+ "organizations:CreateOrganization",
+ "organizations:DescribeOrganization",
+ "iam:CreateServiceLinkedRole",
+ "organizations:ListRoots"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "organizations:DeleteOrganization",
+ "organizations:DescribeOrganization"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "organizations:DescribeOrganization"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "organizations:DescribeOrganization",
+ "organizations:ListRoots"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "organizations:DescribeOrganization"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "pattern": "^arn:aws.*:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}",
+ "type": "string"
+ },
+ "FeatureSet": {
+ "default": "ALL",
+ "enum": [
+ "ALL",
+ "CONSOLIDATED_BILLING"
+ ],
+ "type": "string"
+ },
+ "Id": {
+ "pattern": "^o-[a-z0-9]{10,32}$",
+ "type": "string"
+ },
+ "ManagementAccountArn": {
+ "pattern": "^arn:aws.*:organizations::\\d{12}:account\\/o-[a-z0-9]{10,32}\\/\\d{12}",
+ "type": "string"
+ },
+ "ManagementAccountEmail": {
+ "maxLength": 64,
+ "minLength": 6,
+ "pattern": "[^\\s@]+@[^\\s@]+\\.[^\\s@]+",
+ "type": "string"
+ },
+ "ManagementAccountId": {
+ "pattern": "^\\d{12}$",
+ "type": "string"
+ },
+ "RootId": {
+ "maxLength": 64,
+ "pattern": "^r-[0-9a-z]{4,32}$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/ManagementAccountArn",
+ "/properties/ManagementAccountId",
+ "/properties/ManagementAccountEmail",
+ "/properties/RootId"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations.git",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Organizations::Organization"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-mlflowtrackingserver.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-mlflowtrackingserver.json
deleted file mode 100644
index 84791991d5..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-mlflowtrackingserver.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/MlflowVersion",
- "/properties/RoleArn"
- ],
- "createOnlyProperties": [
- "/properties/TrackingServerName"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "sagemaker:CreateMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:AddTags",
- "sagemaker:ListTags",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 65
- },
- "delete": {
- "permissions": [
- "sagemaker:DeleteMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer"
- ],
- "timeoutInMinutes": 65
- },
- "list": {
- "permissions": [
- "sagemaker:ListMlflowTrackingServers"
- ]
- },
- "read": {
- "permissions": [
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:ListTags"
- ]
- },
- "update": {
- "permissions": [
- "sagemaker:UpdateMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:ListTags",
- "sagemaker:AddTags",
- "sagemaker:DeleteTags",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 65
- }
- },
- "primaryIdentifier": [
- "/properties/TrackingServerName"
- ],
- "properties": {
- "ArtifactStoreUri": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^s3:\\/\\/([^\\/]+)\\/?(.*)$",
- "type": "string"
- },
- "AutomaticModelRegistration": {
- "type": "boolean"
- },
- "MlflowVersion": {
- "maxLength": 32,
- "minLength": 1,
- "pattern": "^\\d+(\\.\\d+)+$",
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role\\/?[a-zA-Z_0-9+=,.@\\-_\\/]+$",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TrackingServerArn": {
- "maxLength": 2048,
- "pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:mlflow-tracking-server/.*$",
- "type": "string"
- },
- "TrackingServerName": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,255}$",
- "type": "string"
- },
- "TrackingServerSize": {
- "enum": [
- "Small",
- "Medium",
- "Large"
- ],
- "type": "string"
- },
- "WeeklyMaintenanceWindowStart": {
- "maxLength": 9,
- "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\\d|2[0-3]):([0-5]\\d)$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/TrackingServerArn"
- ],
- "required": [
- "TrackingServerName",
- "ArtifactStoreUri",
- "RoleArn"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "permissions": [
- "sagemaker:AddTags",
- "sagemaker:ListTags",
- "sagemaker:DeleteTags"
- ],
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::SageMaker::MlflowTrackingServer"
-}
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 fae78f5765..0fbb899196 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py
@@ -40,6 +40,7 @@
"AWS::ApiGatewayV2::Model",
"AWS::ApiGatewayV2::Route",
"AWS::ApiGatewayV2::RouteResponse",
+ "AWS::ApiGatewayV2::Stage",
"AWS::AppConfig::Application",
"AWS::AppConfig::ConfigurationProfile",
"AWS::AppConfig::Deployment",
@@ -55,6 +56,7 @@
"AWS::AppMesh::VirtualNode",
"AWS::AppMesh::VirtualRouter",
"AWS::AppMesh::VirtualService",
+ "AWS::AppSync::ApiCache",
"AWS::AppSync::ApiKey",
"AWS::AppSync::DataSource",
"AWS::AppSync::DomainName",
@@ -129,6 +131,9 @@
"AWS::CloudWatch::Dashboard",
"AWS::CloudWatch::InsightRule",
"AWS::CloudWatch::MetricStream",
+ "AWS::CodeBuild::Project",
+ "AWS::CodeBuild::ReportGroup",
+ "AWS::CodeBuild::SourceCredential",
"AWS::CodeDeploy::Application",
"AWS::CodeDeploy::DeploymentConfig",
"AWS::CodeDeploy::DeploymentGroup",
@@ -140,8 +145,12 @@
"AWS::Cognito::LogDeliveryConfiguration",
"AWS::Cognito::UserPool",
"AWS::Cognito::UserPoolClient",
+ "AWS::Cognito::UserPoolDomain",
"AWS::Cognito::UserPoolGroup",
+ "AWS::Cognito::UserPoolIdentityProvider",
+ "AWS::Cognito::UserPoolResourceServer",
"AWS::Cognito::UserPoolRiskConfigurationAttachment",
+ "AWS::Cognito::UserPoolUICustomizationAttachment",
"AWS::Cognito::UserPoolUser",
"AWS::Cognito::UserPoolUserToGroupAttachment",
"AWS::Config::AggregationAuthorization",
@@ -150,12 +159,14 @@
"AWS::Config::ConfigurationRecorder",
"AWS::Config::ConformancePack",
"AWS::Config::DeliveryChannel",
+ "AWS::Config::OrganizationConfigRule",
"AWS::Config::OrganizationConformancePack",
"AWS::Config::RemediationConfiguration",
"AWS::Config::StoredQuery",
"AWS::ControlTower::EnabledBaseline",
"AWS::ControlTower::EnabledControl",
"AWS::ControlTower::LandingZone",
+ "AWS::DLM::LifecyclePolicy",
"AWS::DMS::DataProvider",
"AWS::DMS::InstanceProfile",
"AWS::DMS::MigrationProject",
@@ -179,6 +190,10 @@
"AWS::DynamoDB::Table",
"AWS::EC2::CapacityReservation",
"AWS::EC2::CapacityReservationFleet",
+ "AWS::EC2::ClientVpnAuthorizationRule",
+ "AWS::EC2::ClientVpnEndpoint",
+ "AWS::EC2::ClientVpnRoute",
+ "AWS::EC2::ClientVpnTargetNetworkAssociation",
"AWS::EC2::CustomerGateway",
"AWS::EC2::DHCPOptions",
"AWS::EC2::EC2Fleet",
@@ -224,6 +239,10 @@
"AWS::EC2::SubnetCidrBlock",
"AWS::EC2::SubnetNetworkAclAssociation",
"AWS::EC2::SubnetRouteTableAssociation",
+ "AWS::EC2::TrafficMirrorFilter",
+ "AWS::EC2::TrafficMirrorFilterRule",
+ "AWS::EC2::TrafficMirrorSession",
+ "AWS::EC2::TrafficMirrorTarget",
"AWS::EC2::TransitGateway",
"AWS::EC2::TransitGatewayAttachment",
"AWS::EC2::TransitGatewayConnect",
@@ -323,6 +342,9 @@
"AWS::FMS::ResourceSet",
"AWS::FSx::DataRepositoryAssociation",
"AWS::FSx::FileSystem",
+ "AWS::FSx::Snapshot",
+ "AWS::FSx::StorageVirtualMachine",
+ "AWS::FSx::Volume",
"AWS::GameLift::Alias",
"AWS::GameLift::Build",
"AWS::GameLift::Fleet",
@@ -330,6 +352,21 @@
"AWS::GlobalAccelerator::CrossAccountAttachment",
"AWS::GlobalAccelerator::EndpointGroup",
"AWS::GlobalAccelerator::Listener",
+ "AWS::Glue::Classifier",
+ "AWS::Glue::Connection",
+ "AWS::Glue::Crawler",
+ "AWS::Glue::CustomEntityType",
+ "AWS::Glue::DataCatalogEncryptionSettings",
+ "AWS::Glue::DataQualityRuleset",
+ "AWS::Glue::Database",
+ "AWS::Glue::DevEndpoint",
+ "AWS::Glue::Job",
+ "AWS::Glue::MLTransform",
+ "AWS::Glue::Partition",
+ "AWS::Glue::SecurityConfiguration",
+ "AWS::Glue::Table",
+ "AWS::Glue::Trigger",
+ "AWS::Glue::Workflow",
"AWS::GuardDuty::Detector",
"AWS::GuardDuty::Filter",
"AWS::GuardDuty::IPSet",
@@ -538,6 +575,9 @@
"AWS::SES::ContactList",
"AWS::SES::DedicatedIpPool",
"AWS::SES::EmailIdentity",
+ "AWS::SES::ReceiptFilter",
+ "AWS::SES::ReceiptRule",
+ "AWS::SES::ReceiptRuleSet",
"AWS::SES::Template",
"AWS::SES::VdmAttributes",
"AWS::SNS::Subscription",
@@ -571,6 +611,7 @@
"AWS::SageMaker::Image",
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceComponent",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelCard",
"AWS::SageMaker::ModelPackage",
@@ -595,13 +636,31 @@
"AWS::SecurityHub::ProductSubscription",
"AWS::SecurityHub::SecurityControl",
"AWS::SecurityHub::Standard",
+ "AWS::ServiceCatalog::AcceptedPortfolioShare",
+ "AWS::ServiceCatalog::CloudFormationProduct",
"AWS::ServiceCatalog::CloudFormationProvisionedProduct",
+ "AWS::ServiceCatalog::LaunchNotificationConstraint",
+ "AWS::ServiceCatalog::LaunchRoleConstraint",
+ "AWS::ServiceCatalog::LaunchTemplateConstraint",
+ "AWS::ServiceCatalog::Portfolio",
+ "AWS::ServiceCatalog::PortfolioPrincipalAssociation",
+ "AWS::ServiceCatalog::PortfolioProductAssociation",
+ "AWS::ServiceCatalog::PortfolioShare",
+ "AWS::ServiceCatalog::ResourceUpdateConstraint",
"AWS::ServiceCatalog::ServiceAction",
"AWS::ServiceCatalog::ServiceActionAssociation",
+ "AWS::ServiceCatalog::StackSetConstraint",
+ "AWS::ServiceCatalog::TagOption",
+ "AWS::ServiceCatalog::TagOptionAssociation",
"AWS::ServiceCatalogAppRegistry::Application",
"AWS::ServiceCatalogAppRegistry::AttributeGroup",
"AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation",
"AWS::ServiceCatalogAppRegistry::ResourceAssociation",
+ "AWS::ServiceDiscovery::HttpNamespace",
+ "AWS::ServiceDiscovery::Instance",
+ "AWS::ServiceDiscovery::PrivateDnsNamespace",
+ "AWS::ServiceDiscovery::PublicDnsNamespace",
+ "AWS::ServiceDiscovery::Service",
"AWS::Shield::DRTAccess",
"AWS::Shield::ProactiveEngagement",
"AWS::Shield::Protection",
@@ -662,6 +721,7 @@
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
"aws-apigatewayv2-routeresponse.json",
+ "aws-apigatewayv2-stage.json",
"aws-appconfig-application.json",
"aws-appconfig-configurationprofile.json",
"aws-appconfig-deployment.json",
@@ -681,6 +741,7 @@
"aws-appmesh-virtualnode.json",
"aws-appmesh-virtualrouter.json",
"aws-appmesh-virtualservice.json",
+ "aws-appsync-apicache.json",
"aws-appsync-apikey.json",
"aws-appsync-datasource.json",
"aws-appsync-domainname.json",
@@ -749,6 +810,9 @@
"aws-cloudwatch-dashboard.json",
"aws-cloudwatch-insightrule.json",
"aws-cloudwatch-metricstream.json",
+ "aws-codebuild-project.json",
+ "aws-codebuild-reportgroup.json",
+ "aws-codebuild-sourcecredential.json",
"aws-codedeploy-application.json",
"aws-codedeploy-deploymentconfig.json",
"aws-codedeploy-deploymentgroup.json",
@@ -759,7 +823,9 @@
"aws-cognito-logdeliveryconfiguration.json",
"aws-cognito-userpool.json",
"aws-cognito-userpoolclient.json",
+ "aws-cognito-userpooldomain.json",
"aws-cognito-userpoolgroup.json",
+ "aws-cognito-userpoolidentityprovider.json",
"aws-cognito-userpoolriskconfigurationattachment.json",
"aws-cognito-userpooluser.json",
"aws-cognito-userpoolusertogroupattachment.json",
@@ -769,10 +835,12 @@
"aws-config-configurationrecorder.json",
"aws-config-conformancepack.json",
"aws-config-deliverychannel.json",
+ "aws-config-organizationconfigrule.json",
"aws-config-organizationconformancepack.json",
"aws-config-remediationconfiguration.json",
"aws-config-storedquery.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-datasync-agent.json",
"aws-datasync-locationazureblob.json",
@@ -786,6 +854,7 @@
"aws-datasync-locations3.json",
"aws-datasync-locationsmb.json",
"aws-datasync-task.json",
+ "aws-dlm-lifecyclepolicy.json",
"aws-dms-dataprovider.json",
"aws-dms-instanceprofile.json",
"aws-dms-migrationproject.json",
@@ -794,6 +863,9 @@
"aws-dynamodb-table.json",
"aws-ec2-capacityreservation.json",
"aws-ec2-capacityreservationfleet.json",
+ "aws-ec2-clientvpnendpoint.json",
+ "aws-ec2-clientvpnroute.json",
+ "aws-ec2-clientvpntargetnetworkassociation.json",
"aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
@@ -836,6 +908,8 @@
"aws-ec2-subnetcidrblock.json",
"aws-ec2-subnetnetworkaclassociation.json",
"aws-ec2-subnetroutetableassociation.json",
+ "aws-ec2-trafficmirrorfilter.json",
+ "aws-ec2-trafficmirrortarget.json",
"aws-ec2-transitgatewayconnect.json",
"aws-ec2-transitgatewaymulticastdomain.json",
"aws-ec2-transitgatewaymulticastdomainassociation.json",
@@ -929,10 +1003,28 @@
"aws-fms-resourceset.json",
"aws-fsx-datarepositoryassociation.json",
"aws-fsx-filesystem.json",
+ "aws-fsx-snapshot.json",
+ "aws-fsx-storagevirtualmachine.json",
+ "aws-fsx-volume.json",
"aws-globalaccelerator-accelerator.json",
"aws-globalaccelerator-crossaccountattachment.json",
"aws-globalaccelerator-endpointgroup.json",
"aws-globalaccelerator-listener.json",
+ "aws-glue-classifier.json",
+ "aws-glue-connection.json",
+ "aws-glue-crawler.json",
+ "aws-glue-customentitytype.json",
+ "aws-glue-database.json",
+ "aws-glue-datacatalogencryptionsettings.json",
+ "aws-glue-dataqualityruleset.json",
+ "aws-glue-devendpoint.json",
+ "aws-glue-job.json",
+ "aws-glue-mltransform.json",
+ "aws-glue-partition.json",
+ "aws-glue-securityconfiguration.json",
+ "aws-glue-table.json",
+ "aws-glue-trigger.json",
+ "aws-glue-workflow.json",
"aws-guardduty-detector.json",
"aws-guardduty-filter.json",
"aws-guardduty-ipset.json",
@@ -943,6 +1035,7 @@
"aws-iam-group.json",
"aws-iam-grouppolicy.json",
"aws-iam-instanceprofile.json",
+ "aws-iam-oidcprovider.json",
"aws-iam-policy.json",
"aws-iam-role.json",
"aws-iam-rolepolicy.json",
@@ -1058,6 +1151,7 @@
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -1126,6 +1220,7 @@
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelpackage.json",
@@ -1150,18 +1245,33 @@
"aws-securityhub-productsubscription.json",
"aws-securityhub-securitycontrol.json",
"aws-securityhub-standard.json",
+ "aws-servicecatalog-cloudformationproduct.json",
"aws-servicecatalog-cloudformationprovisionedproduct.json",
+ "aws-servicecatalog-launchnotificationconstraint.json",
+ "aws-servicecatalog-launchroleconstraint.json",
+ "aws-servicecatalog-launchtemplateconstraint.json",
+ "aws-servicecatalog-portfolioshare.json",
+ "aws-servicecatalog-resourceupdateconstraint.json",
"aws-servicecatalog-serviceaction.json",
"aws-servicecatalog-serviceactionassociation.json",
+ "aws-servicecatalog-stacksetconstraint.json",
+ "aws-servicecatalog-tagoption.json",
"aws-servicecatalogappregistry-application.json",
"aws-servicecatalogappregistry-attributegroup.json",
"aws-servicecatalogappregistry-attributegroupassociation.json",
"aws-servicecatalogappregistry-resourceassociation.json",
+ "aws-servicediscovery-httpnamespace.json",
+ "aws-servicediscovery-instance.json",
+ "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",
"aws-ses-emailidentity.json",
+ "aws-ses-receiptfilter.json",
+ "aws-ses-receiptruleset.json",
"aws-ses-template.json",
"aws-ses-vdmattributes.json",
"aws-shield-drtaccess.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-userpoolresourceserver.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-userpoolresourceserver.json
new file mode 100644
index 0000000000..d1a816f497
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-userpoolresourceserver.json
@@ -0,0 +1,58 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Identifier",
+ "/properties/UserPoolId"
+ ],
+ "definitions": {
+ "ResourceServerScopeType": {
+ "additionalProperties": false,
+ "properties": {
+ "ScopeDescription": {
+ "type": "string"
+ },
+ "ScopeName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ScopeName",
+ "ScopeDescription"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Id": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Scopes": {
+ "items": {
+ "$ref": "#/definitions/ResourceServerScopeType"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserPoolId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "UserPoolId",
+ "Identifier",
+ "Name"
+ ],
+ "typeName": "AWS::Cognito::UserPoolResourceServer"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-userpooluicustomizationattachment.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-userpooluicustomizationattachment.json
new file mode 100644
index 0000000000..98baaf1ea2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-userpooluicustomizationattachment.json
@@ -0,0 +1,32 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/UserPoolId",
+ "/properties/ClientId"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CSS": {
+ "type": "string"
+ },
+ "ClientId": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "UserPoolId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "UserPoolId",
+ "ClientId"
+ ],
+ "typeName": "AWS::Cognito::UserPoolUICustomizationAttachment"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-clientvpnauthorizationrule.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-clientvpnauthorizationrule.json
new file mode 100644
index 0000000000..a47ceaa39c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-clientvpnauthorizationrule.json
@@ -0,0 +1,41 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ClientVpnEndpointId",
+ "/properties/AccessGroupId",
+ "/properties/TargetNetworkCidr",
+ "/properties/AuthorizeAllGroups",
+ "/properties/Description"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AccessGroupId": {
+ "type": "string"
+ },
+ "AuthorizeAllGroups": {
+ "type": "boolean"
+ },
+ "ClientVpnEndpointId": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "TargetNetworkCidr": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "ClientVpnEndpointId",
+ "TargetNetworkCidr"
+ ],
+ "typeName": "AWS::EC2::ClientVpnAuthorizationRule"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-trafficmirrorfilterrule.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-trafficmirrorfilterrule.json
new file mode 100644
index 0000000000..95028d4c8a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-trafficmirrorfilterrule.json
@@ -0,0 +1,74 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/TrafficMirrorFilterId"
+ ],
+ "definitions": {
+ "TrafficMirrorPortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "FromPort": {
+ "type": "integer"
+ },
+ "ToPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FromPort",
+ "ToPort"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Description": {
+ "type": "string"
+ },
+ "DestinationCidrBlock": {
+ "type": "string"
+ },
+ "DestinationPortRange": {
+ "$ref": "#/definitions/TrafficMirrorPortRange"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Protocol": {
+ "type": "integer"
+ },
+ "RuleAction": {
+ "type": "string"
+ },
+ "RuleNumber": {
+ "type": "integer"
+ },
+ "SourceCidrBlock": {
+ "type": "string"
+ },
+ "SourcePortRange": {
+ "$ref": "#/definitions/TrafficMirrorPortRange"
+ },
+ "TrafficDirection": {
+ "type": "string"
+ },
+ "TrafficMirrorFilterId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "RuleAction",
+ "SourceCidrBlock",
+ "RuleNumber",
+ "DestinationCidrBlock",
+ "TrafficMirrorFilterId",
+ "TrafficDirection"
+ ],
+ "typeName": "AWS::EC2::TrafficMirrorFilterRule"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-trafficmirrorsession.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-trafficmirrorsession.json
new file mode 100644
index 0000000000..bb62feb445
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-trafficmirrorsession.json
@@ -0,0 +1,70 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/NetworkInterfaceId"
+ ],
+ "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"
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PacketLength": {
+ "type": "integer"
+ },
+ "SessionNumber": {
+ "type": "integer"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrafficMirrorFilterId": {
+ "type": "string"
+ },
+ "TrafficMirrorTargetId": {
+ "type": "string"
+ },
+ "VirtualNetworkId": {
+ "type": "integer"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "TrafficMirrorTargetId",
+ "SessionNumber",
+ "NetworkInterfaceId",
+ "TrafficMirrorFilterId"
+ ],
+ "typeName": "AWS::EC2::TrafficMirrorSession"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-iam-oidcprovider.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-iam-oidcprovider.json
deleted file mode 100644
index 1794a452ca..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-iam-oidcprovider.json
+++ /dev/null
@@ -1,120 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Url"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateOpenIDConnectProvider",
- "iam:TagOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "delete": {
- "permissions": [
- "iam:DeleteOpenIDConnectProvider"
- ]
- },
- "list": {
- "permissions": [
- "iam:ListOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "read": {
- "permissions": [
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "update": {
- "permissions": [
- "iam:UpdateOpenIDConnectProviderThumbprint",
- "iam:RemoveClientIDFromOpenIDConnectProvider",
- "iam:AddClientIDToOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider",
- "iam:TagOpenIDConnectProvider",
- "iam:UntagOpenIDConnectProvider",
- "iam:ListOpenIDConnectProviderTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 20,
- "type": "string"
- },
- "ClientIdList": {
- "insertionOrder": false,
- "items": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- },
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "ThumbprintList": {
- "insertionOrder": false,
- "items": {
- "maxLength": 40,
- "minLength": 40,
- "pattern": "[0-9A-Fa-f]{40}",
- "type": "string"
- },
- "maxItems": 5,
- "type": "array"
- },
- "Url": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "ThumbprintList"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::IAM::OIDCProvider"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudwatch-dashboard.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-acceptedportfolioshare.json
similarity index 61%
rename from src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudwatch-dashboard.json
rename to src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-acceptedportfolioshare.json
index 258074cf80..12d64a39fc 100644
--- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudwatch-dashboard.json
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-acceptedportfolioshare.json
@@ -1,19 +1,20 @@
{
"additionalProperties": false,
"createOnlyProperties": [
- "/properties/DashboardName"
+ "/properties/AcceptLanguage",
+ "/properties/PortfolioId"
],
"primaryIdentifier": [
"/properties/Id"
],
"properties": {
- "DashboardBody": {
+ "AcceptLanguage": {
"type": "string"
},
- "DashboardName": {
+ "Id": {
"type": "string"
},
- "Id": {
+ "PortfolioId": {
"type": "string"
}
},
@@ -21,7 +22,7 @@
"/properties/Id"
],
"required": [
- "DashboardBody"
+ "PortfolioId"
],
- "typeName": "AWS::CloudWatch::Dashboard"
+ "typeName": "AWS::ServiceCatalog::AcceptedPortfolioShare"
}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-portfolio.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-portfolio.json
new file mode 100644
index 0000000000..42850b244f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-portfolio.json
@@ -0,0 +1,60 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AcceptLanguage": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "DisplayName": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "PortfolioName": {
+ "type": "string"
+ },
+ "ProviderName": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/PortfolioName"
+ ],
+ "required": [
+ "ProviderName",
+ "DisplayName"
+ ],
+ "typeName": "AWS::ServiceCatalog::Portfolio"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-portfolioprincipalassociation.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-portfolioprincipalassociation.json
new file mode 100644
index 0000000000..9be3710efd
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-portfolioprincipalassociation.json
@@ -0,0 +1,38 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AcceptLanguage",
+ "/properties/PortfolioId",
+ "/properties/PrincipalARN",
+ "/properties/PrincipalType"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AcceptLanguage": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "PortfolioId": {
+ "type": "string"
+ },
+ "PrincipalARN": {
+ "type": "string"
+ },
+ "PrincipalType": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "PrincipalARN",
+ "PortfolioId",
+ "PrincipalType"
+ ],
+ "typeName": "AWS::ServiceCatalog::PortfolioPrincipalAssociation"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-portfolioproductassociation.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-portfolioproductassociation.json
new file mode 100644
index 0000000000..51ef37ad72
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-portfolioproductassociation.json
@@ -0,0 +1,37 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AcceptLanguage",
+ "/properties/SourcePortfolioId",
+ "/properties/PortfolioId",
+ "/properties/ProductId"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AcceptLanguage": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "PortfolioId": {
+ "type": "string"
+ },
+ "ProductId": {
+ "type": "string"
+ },
+ "SourcePortfolioId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "PortfolioId",
+ "ProductId"
+ ],
+ "typeName": "AWS::ServiceCatalog::PortfolioProductAssociation"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudwatch-dashboard.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-tagoptionassociation.json
similarity index 61%
rename from src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudwatch-dashboard.json
rename to src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-tagoptionassociation.json
index 258074cf80..71dc9c071e 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudwatch-dashboard.json
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-servicecatalog-tagoptionassociation.json
@@ -1,19 +1,20 @@
{
"additionalProperties": false,
"createOnlyProperties": [
- "/properties/DashboardName"
+ "/properties/ResourceId",
+ "/properties/TagOptionId"
],
"primaryIdentifier": [
"/properties/Id"
],
"properties": {
- "DashboardBody": {
+ "Id": {
"type": "string"
},
- "DashboardName": {
+ "ResourceId": {
"type": "string"
},
- "Id": {
+ "TagOptionId": {
"type": "string"
}
},
@@ -21,7 +22,8 @@
"/properties/Id"
],
"required": [
- "DashboardBody"
+ "TagOptionId",
+ "ResourceId"
],
- "typeName": "AWS::CloudWatch::Dashboard"
+ "typeName": "AWS::ServiceCatalog::TagOptionAssociation"
}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ses-receiptrule.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ses-receiptrule.json
new file mode 100644
index 0000000000..8de28f7601
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ses-receiptrule.json
@@ -0,0 +1,219 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/RuleSetName"
+ ],
+ "definitions": {
+ "Action": {
+ "additionalProperties": false,
+ "properties": {
+ "AddHeaderAction": {
+ "$ref": "#/definitions/AddHeaderAction"
+ },
+ "BounceAction": {
+ "$ref": "#/definitions/BounceAction"
+ },
+ "LambdaAction": {
+ "$ref": "#/definitions/LambdaAction"
+ },
+ "S3Action": {
+ "$ref": "#/definitions/S3Action"
+ },
+ "SNSAction": {
+ "$ref": "#/definitions/SNSAction"
+ },
+ "StopAction": {
+ "$ref": "#/definitions/StopAction"
+ },
+ "WorkmailAction": {
+ "$ref": "#/definitions/WorkmailAction"
+ }
+ },
+ "type": "object"
+ },
+ "AddHeaderAction": {
+ "additionalProperties": false,
+ "properties": {
+ "HeaderName": {
+ "type": "string"
+ },
+ "HeaderValue": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "HeaderValue",
+ "HeaderName"
+ ],
+ "type": "object"
+ },
+ "BounceAction": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Sender": {
+ "type": "string"
+ },
+ "SmtpReplyCode": {
+ "type": "string"
+ },
+ "StatusCode": {
+ "type": "string"
+ },
+ "TopicArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Sender",
+ "SmtpReplyCode",
+ "Message"
+ ],
+ "type": "object"
+ },
+ "LambdaAction": {
+ "additionalProperties": false,
+ "properties": {
+ "FunctionArn": {
+ "type": "string"
+ },
+ "InvocationType": {
+ "type": "string"
+ },
+ "TopicArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "FunctionArn"
+ ],
+ "type": "object"
+ },
+ "Rule": {
+ "additionalProperties": false,
+ "properties": {
+ "Actions": {
+ "items": {
+ "$ref": "#/definitions/Action"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Recipients": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ScanEnabled": {
+ "type": "boolean"
+ },
+ "TlsPolicy": {
+ "enum": [
+ "Optional",
+ "Require"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "S3Action": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketName": {
+ "type": "string"
+ },
+ "KmsKeyArn": {
+ "type": "string"
+ },
+ "ObjectKeyPrefix": {
+ "type": "string"
+ },
+ "TopicArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketName"
+ ],
+ "type": "object"
+ },
+ "SNSAction": {
+ "additionalProperties": false,
+ "properties": {
+ "Encoding": {
+ "type": "string"
+ },
+ "TopicArn": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "StopAction": {
+ "additionalProperties": false,
+ "properties": {
+ "Scope": {
+ "type": "string"
+ },
+ "TopicArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Scope"
+ ],
+ "type": "object"
+ },
+ "WorkmailAction": {
+ "additionalProperties": false,
+ "properties": {
+ "OrganizationArn": {
+ "type": "string"
+ },
+ "TopicArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "OrganizationArn"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "After": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Rule": {
+ "$ref": "#/definitions/Rule"
+ },
+ "RuleSetName": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Rule",
+ "RuleSetName"
+ ],
+ "typeName": "AWS::SES::ReceiptRule"
+}
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 1a4b4d89f1..16f1e0de75 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py
@@ -40,6 +40,7 @@
"AWS::ApiGatewayV2::Model",
"AWS::ApiGatewayV2::Route",
"AWS::ApiGatewayV2::RouteResponse",
+ "AWS::ApiGatewayV2::Stage",
"AWS::AppConfig::Application",
"AWS::AppConfig::ConfigurationProfile",
"AWS::AppConfig::Deployment",
@@ -48,9 +49,14 @@
"AWS::AppConfig::Extension",
"AWS::AppConfig::ExtensionAssociation",
"AWS::AppConfig::HostedConfigurationVersion",
+ "AWS::AppSync::ApiCache",
+ "AWS::AppSync::ApiKey",
+ "AWS::AppSync::DataSource",
"AWS::AppSync::DomainName",
"AWS::AppSync::DomainNameApiAssociation",
"AWS::AppSync::FunctionConfiguration",
+ "AWS::AppSync::GraphQLApi",
+ "AWS::AppSync::GraphQLSchema",
"AWS::AppSync::Resolver",
"AWS::AppSync::SourceApiAssociation",
"AWS::ApplicationAutoScaling::ScalableTarget",
@@ -113,6 +119,9 @@
"AWS::CloudWatch::Dashboard",
"AWS::CloudWatch::InsightRule",
"AWS::CloudWatch::MetricStream",
+ "AWS::CodeBuild::Project",
+ "AWS::CodeBuild::ReportGroup",
+ "AWS::CodeBuild::SourceCredential",
"AWS::CodeDeploy::Application",
"AWS::CodeDeploy::DeploymentConfig",
"AWS::CodeDeploy::DeploymentGroup",
@@ -134,11 +143,13 @@
"AWS::Config::ConfigurationRecorder",
"AWS::Config::ConformancePack",
"AWS::Config::DeliveryChannel",
+ "AWS::Config::OrganizationConfigRule",
"AWS::Config::OrganizationConformancePack",
"AWS::Config::StoredQuery",
"AWS::ControlTower::EnabledBaseline",
"AWS::ControlTower::EnabledControl",
"AWS::ControlTower::LandingZone",
+ "AWS::DLM::LifecyclePolicy",
"AWS::DMS::DataProvider",
"AWS::DMS::InstanceProfile",
"AWS::DMS::MigrationProject",
@@ -162,6 +173,10 @@
"AWS::DynamoDB::Table",
"AWS::EC2::CapacityReservation",
"AWS::EC2::CapacityReservationFleet",
+ "AWS::EC2::ClientVpnAuthorizationRule",
+ "AWS::EC2::ClientVpnEndpoint",
+ "AWS::EC2::ClientVpnRoute",
+ "AWS::EC2::ClientVpnTargetNetworkAssociation",
"AWS::EC2::CustomerGateway",
"AWS::EC2::DHCPOptions",
"AWS::EC2::EC2Fleet",
@@ -203,6 +218,10 @@
"AWS::EC2::SubnetCidrBlock",
"AWS::EC2::SubnetNetworkAclAssociation",
"AWS::EC2::SubnetRouteTableAssociation",
+ "AWS::EC2::TrafficMirrorFilter",
+ "AWS::EC2::TrafficMirrorFilterRule",
+ "AWS::EC2::TrafficMirrorSession",
+ "AWS::EC2::TrafficMirrorTarget",
"AWS::EC2::TransitGateway",
"AWS::EC2::TransitGatewayAttachment",
"AWS::EC2::TransitGatewayConnect",
@@ -282,6 +301,7 @@
"AWS::ElasticLoadBalancingV2::TrustStoreRevocation",
"AWS::Elasticsearch::Domain",
"AWS::Events::EventBus",
+ "AWS::Events::EventBusPolicy",
"AWS::Events::Rule",
"AWS::FMS::NotificationChannel",
"AWS::FMS::Policy",
@@ -443,6 +463,7 @@
"AWS::PCAConnectorAD::Template",
"AWS::PCAConnectorAD::TemplateGroupAccessControlEntry",
"AWS::RAM::Permission",
+ "AWS::RAM::ResourceShare",
"AWS::RDS::DBCluster",
"AWS::RDS::DBClusterParameterGroup",
"AWS::RDS::DBInstance",
@@ -573,6 +594,8 @@
"AWS::Transfer::Certificate",
"AWS::Transfer::Connector",
"AWS::Transfer::Profile",
+ "AWS::Transfer::Server",
+ "AWS::Transfer::User",
"AWS::Transfer::Workflow",
"AWS::VerifiedPermissions::IdentitySource",
"AWS::VerifiedPermissions::Policy",
@@ -617,6 +640,7 @@
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
"aws-apigatewayv2-routeresponse.json",
+ "aws-apigatewayv2-stage.json",
"aws-appconfig-application.json",
"aws-appconfig-configurationprofile.json",
"aws-appconfig-deployment.json",
@@ -628,9 +652,14 @@
"aws-applicationautoscaling-scalabletarget.json",
"aws-applicationautoscaling-scalingpolicy.json",
"aws-applicationsignals-servicelevelobjective.json",
+ "aws-appsync-apicache.json",
+ "aws-appsync-apikey.json",
+ "aws-appsync-datasource.json",
"aws-appsync-domainname.json",
"aws-appsync-domainnameapiassociation.json",
"aws-appsync-functionconfiguration.json",
+ "aws-appsync-graphqlapi.json",
+ "aws-appsync-graphqlschema.json",
"aws-appsync-resolver.json",
"aws-appsync-sourceapiassociation.json",
"aws-arczonalshift-zonalautoshiftconfiguration.json",
@@ -685,6 +714,9 @@
"aws-cloudwatch-dashboard.json",
"aws-cloudwatch-insightrule.json",
"aws-cloudwatch-metricstream.json",
+ "aws-codebuild-project.json",
+ "aws-codebuild-reportgroup.json",
+ "aws-codebuild-sourcecredential.json",
"aws-codedeploy-application.json",
"aws-codedeploy-deploymentconfig.json",
"aws-codedeploy-deploymentgroup.json",
@@ -705,9 +737,11 @@
"aws-config-configurationrecorder.json",
"aws-config-conformancepack.json",
"aws-config-deliverychannel.json",
+ "aws-config-organizationconfigrule.json",
"aws-config-organizationconformancepack.json",
"aws-config-storedquery.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-datasync-agent.json",
"aws-datasync-locationazureblob.json",
@@ -721,6 +755,7 @@
"aws-datasync-locations3.json",
"aws-datasync-locationsmb.json",
"aws-datasync-task.json",
+ "aws-dlm-lifecyclepolicy.json",
"aws-dms-dataprovider.json",
"aws-dms-instanceprofile.json",
"aws-dms-migrationproject.json",
@@ -729,6 +764,9 @@
"aws-dynamodb-table.json",
"aws-ec2-capacityreservation.json",
"aws-ec2-capacityreservationfleet.json",
+ "aws-ec2-clientvpnendpoint.json",
+ "aws-ec2-clientvpnroute.json",
+ "aws-ec2-clientvpntargetnetworkassociation.json",
"aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
@@ -766,6 +804,8 @@
"aws-ec2-subnetcidrblock.json",
"aws-ec2-subnetnetworkaclassociation.json",
"aws-ec2-subnetroutetableassociation.json",
+ "aws-ec2-trafficmirrorfilter.json",
+ "aws-ec2-trafficmirrortarget.json",
"aws-ec2-transitgatewayconnect.json",
"aws-ec2-transitgatewaymulticastdomain.json",
"aws-ec2-transitgatewaymulticastdomainassociation.json",
@@ -831,6 +871,7 @@
"aws-emr-studio.json",
"aws-emr-studiosessionmapping.json",
"aws-events-eventbus.json",
+ "aws-events-eventbuspolicy.json",
"aws-events-rule.json",
"aws-fms-notificationchannel.json",
"aws-fms-policy.json",
@@ -974,6 +1015,8 @@
"aws-pcaconnectorad-template.json",
"aws-pcaconnectorad-templategroupaccesscontrolentry.json",
"aws-ram-permission.json",
+ "aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -1092,6 +1135,8 @@
"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",
"aws-verifiedpermissions-policy.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-clientvpnauthorizationrule.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-clientvpnauthorizationrule.json
new file mode 100644
index 0000000000..a47ceaa39c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-clientvpnauthorizationrule.json
@@ -0,0 +1,41 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ClientVpnEndpointId",
+ "/properties/AccessGroupId",
+ "/properties/TargetNetworkCidr",
+ "/properties/AuthorizeAllGroups",
+ "/properties/Description"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AccessGroupId": {
+ "type": "string"
+ },
+ "AuthorizeAllGroups": {
+ "type": "boolean"
+ },
+ "ClientVpnEndpointId": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "TargetNetworkCidr": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "ClientVpnEndpointId",
+ "TargetNetworkCidr"
+ ],
+ "typeName": "AWS::EC2::ClientVpnAuthorizationRule"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-trafficmirrorfilterrule.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-trafficmirrorfilterrule.json
new file mode 100644
index 0000000000..95028d4c8a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-trafficmirrorfilterrule.json
@@ -0,0 +1,74 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/TrafficMirrorFilterId"
+ ],
+ "definitions": {
+ "TrafficMirrorPortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "FromPort": {
+ "type": "integer"
+ },
+ "ToPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FromPort",
+ "ToPort"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Description": {
+ "type": "string"
+ },
+ "DestinationCidrBlock": {
+ "type": "string"
+ },
+ "DestinationPortRange": {
+ "$ref": "#/definitions/TrafficMirrorPortRange"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Protocol": {
+ "type": "integer"
+ },
+ "RuleAction": {
+ "type": "string"
+ },
+ "RuleNumber": {
+ "type": "integer"
+ },
+ "SourceCidrBlock": {
+ "type": "string"
+ },
+ "SourcePortRange": {
+ "$ref": "#/definitions/TrafficMirrorPortRange"
+ },
+ "TrafficDirection": {
+ "type": "string"
+ },
+ "TrafficMirrorFilterId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "RuleAction",
+ "SourceCidrBlock",
+ "RuleNumber",
+ "DestinationCidrBlock",
+ "TrafficMirrorFilterId",
+ "TrafficDirection"
+ ],
+ "typeName": "AWS::EC2::TrafficMirrorFilterRule"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-trafficmirrorsession.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-trafficmirrorsession.json
new file mode 100644
index 0000000000..bb62feb445
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-trafficmirrorsession.json
@@ -0,0 +1,70 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/NetworkInterfaceId"
+ ],
+ "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"
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PacketLength": {
+ "type": "integer"
+ },
+ "SessionNumber": {
+ "type": "integer"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrafficMirrorFilterId": {
+ "type": "string"
+ },
+ "TrafficMirrorTargetId": {
+ "type": "string"
+ },
+ "VirtualNetworkId": {
+ "type": "integer"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "TrafficMirrorTargetId",
+ "SessionNumber",
+ "NetworkInterfaceId",
+ "TrafficMirrorFilterId"
+ ],
+ "typeName": "AWS::EC2::TrafficMirrorSession"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 a87fc81271..90945ded9d 100644
--- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py
@@ -937,6 +937,7 @@
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceComponent",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelBiasJobDefinition",
"AWS::SageMaker::ModelCard",
@@ -1775,6 +1776,7 @@
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbclusterparametergroup.json",
"aws-neptune-dbinstance.json",
"aws-neptune-dbparametergroup.json",
@@ -1868,6 +1870,7 @@
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
"aws-rds-customdbengineversion.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -1956,6 +1959,7 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 fb23576303..c4500debcd 100644
--- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py
@@ -472,6 +472,7 @@
"AWS::SSM::PatchBaseline",
"AWS::SSM::ResourceDataSync",
"AWS::SSO::Instance",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::ModelCard",
"AWS::SecretsManager::ResourcePolicy",
"AWS::SecretsManager::RotationSchedule",
@@ -629,6 +630,7 @@
"aws-config-remediationconfiguration.json",
"aws-config-storedquery.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-datasync-agent.json",
"aws-datasync-locationazureblob.json",
@@ -851,6 +853,7 @@
"aws-organizations-resourcepolicy.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -899,6 +902,7 @@
"aws-s3-bucketpolicy.json",
"aws-s3objectlambda-accesspoint.json",
"aws-s3objectlambda-accesspointpolicy.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-modelcard.json",
"aws-sdb-domain.json",
"aws-secretsmanager-resourcepolicy.json",
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 88e4df99c4..65b38101ee 100644
--- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py
@@ -193,6 +193,7 @@
"AWS::EC2::Host",
"AWS::EC2::IPAM",
"AWS::EC2::IPAMAllocation",
+ "AWS::EC2::IPAMPool",
"AWS::EC2::IPAMPoolCidr",
"AWS::EC2::IPAMResourceDiscovery",
"AWS::EC2::IPAMResourceDiscoveryAssociation",
@@ -879,11 +880,11 @@
"aws-ec2-flowlog.json",
"aws-ec2-gatewayroutetableassociation.json",
"aws-ec2-host.json",
- "aws-ec2-instance.json",
"aws-ec2-instanceconnectendpoint.json",
"aws-ec2-internetgateway.json",
"aws-ec2-ipam.json",
"aws-ec2-ipamallocation.json",
+ "aws-ec2-ipampool.json",
"aws-ec2-ipampoolcidr.json",
"aws-ec2-ipamresourcediscovery.json",
"aws-ec2-ipamresourcediscoveryassociation.json",
@@ -1157,6 +1158,7 @@
"aws-msk-configuration.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-neptune-eventsubscription.json",
"aws-networkfirewall-firewall.json",
@@ -1191,9 +1193,7 @@
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
- "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
- "aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
"aws-rds-dbproxy.json",
"aws-rds-dbproxyendpoint.json",
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-instance.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-instance.json
new file mode 100644
index 0000000000..0b1faffd5a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-instance.json
@@ -0,0 +1,750 @@
+{
+ "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "conditionalCreateOnlyProperties": [
+ "/properties/AdditionalInfo",
+ "/properties/Affinity",
+ "/properties/EbsOptimized",
+ "/properties/HostId",
+ "/properties/InstanceType",
+ "/properties/KernelId",
+ "/properties/PrivateDnsNameOptions",
+ "/properties/RamdiskId",
+ "/properties/SecurityGroupIds",
+ "/properties/Tenancy",
+ "/properties/UserData",
+ "/properties/BlockDeviceMappings"
+ ],
+ "createOnlyProperties": [
+ "/properties/AvailabilityZone",
+ "/properties/CpuOptions",
+ "/properties/ElasticGpuSpecifications",
+ "/properties/ElasticInferenceAccelerators",
+ "/properties/EnclaveOptions",
+ "/properties/HibernationOptions",
+ "/properties/HostResourceGroupArn",
+ "/properties/ImageId",
+ "/properties/Ipv6AddressCount",
+ "/properties/Ipv6Addresses",
+ "/properties/KeyName",
+ "/properties/LaunchTemplate",
+ "/properties/LicenseSpecifications",
+ "/properties/NetworkInterfaces",
+ "/properties/PlacementGroupName",
+ "/properties/PrivateIpAddress",
+ "/properties/SecurityGroups",
+ "/properties/SubnetId"
+ ],
+ "definitions": {
+ "AssociationParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "BlockDeviceMapping": {
+ "additionalProperties": false,
+ "properties": {
+ "DeviceName": {
+ "type": "string"
+ },
+ "Ebs": {
+ "$ref": "#/definitions/Ebs"
+ },
+ "NoDevice": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "VirtualName": {
+ "pattern": "^ephemeral([0-9]|[1][0-9]|[2][0-3])$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DeviceName"
+ ],
+ "requiredXor": [
+ "VirtualName",
+ "Ebs",
+ "NoDevice"
+ ],
+ "type": "object"
+ },
+ "Ebs": {
+ "additionalProperties": false,
+ "properties": {
+ "DeleteOnTermination": {
+ "type": "boolean"
+ },
+ "Encrypted": {
+ "type": "boolean"
+ },
+ "Iops": {
+ "type": "integer"
+ },
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "SnapshotId": {
+ "type": "string"
+ },
+ "VolumeSize": {
+ "type": "integer"
+ },
+ "VolumeType": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticGpuSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ElasticInferenceAccelerator": {
+ "additionalProperties": false,
+ "properties": {
+ "Count": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "InstanceIpv6Address": {
+ "additionalProperties": false,
+ "properties": {
+ "Ipv6Address": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Ipv6Address"
+ ],
+ "type": "object"
+ },
+ "LaunchTemplateSpecification": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "LaunchTemplateName",
+ "Version"
+ ]
+ },
+ {
+ "required": [
+ "LaunchTemplateId",
+ "Version"
+ ]
+ }
+ ],
+ "properties": {
+ "LaunchTemplateId": {
+ "type": "string"
+ },
+ "LaunchTemplateName": {
+ "type": "string"
+ },
+ "Version": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LicenseSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "LicenseConfigurationArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "LicenseConfigurationArn"
+ ],
+ "type": "object"
+ },
+ "NetworkInterface": {
+ "additionalProperties": false,
+ "properties": {
+ "AssociateCarrierIpAddress": {
+ "type": "boolean"
+ },
+ "AssociatePublicIpAddress": {
+ "type": "boolean"
+ },
+ "DeleteOnTermination": {
+ "type": "boolean"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "DeviceIndex": {
+ "type": "string"
+ },
+ "GroupSet": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ipv6AddressCount": {
+ "type": "integer"
+ },
+ "Ipv6Addresses": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/InstanceIpv6Address"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ },
+ "PrivateIpAddresses": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/PrivateIpAddressSpecification"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SecondaryPrivateIpAddressCount": {
+ "type": "integer"
+ },
+ "SubnetId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DeviceIndex"
+ ],
+ "type": "object"
+ },
+ "PrivateDnsNameOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableResourceNameDnsAAAARecord": {
+ "type": "boolean"
+ },
+ "EnableResourceNameDnsARecord": {
+ "type": "boolean"
+ },
+ "HostnameType": {
+ "enum": [
+ "ip-name",
+ "resource-name"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrivateIpAddressSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "Primary": {
+ "type": "boolean"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateIpAddress",
+ "Primary"
+ ],
+ "type": "object"
+ },
+ "SsmAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "AssociationParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AssociationParameter"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DocumentName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DocumentName"
+ ],
+ "type": "object"
+ },
+ "State": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "Volume": {
+ "additionalProperties": false,
+ "properties": {
+ "Device": {
+ "type": "string"
+ },
+ "VolumeId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "VolumeId",
+ "Device"
+ ],
+ "type": "object"
+ }
+ },
+ "dependentExcluded": {
+ "NetworkInterfaces": [
+ "SubnetId"
+ ],
+ "SubnetId": [
+ "NetworkInterfaces"
+ ]
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "iam:PassRole",
+ "ec2:ModifyPrivateDnsNameOptions",
+ "ec2:DescribeElasticGpus",
+ "ec2:DescribeNetworkInterfaces",
+ "ec2:DescribeVolumes",
+ "ec2:RunInstances",
+ "ec2:AssociateIamInstanceProfile",
+ "ec2:DescribeIamInstanceProfileAssociations",
+ "ec2:DescribeInstances",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeKeyPairs",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeVpcs",
+ "ec2:DescribeInstanceAttribute",
+ "ec2:DescribeInstanceCreditSpecifications",
+ "ec2:DescribeLaunchTemplates",
+ "ec2:DescribeLaunchTemplateVersions",
+ "ec2:DetachVolume",
+ "ec2:DisassociateIamInstanceProfile",
+ "ec2:ModifyInstanceAttribute",
+ "ec2:ModifyInstanceCreditSpecification",
+ "ec2:ModifyInstancePlacement",
+ "ec2:MonitorInstances",
+ "ec2:AttachVolume",
+ "ec2:CreateTags",
+ "ec2:ReplaceIamInstanceProfileAssociation",
+ "ec2:StartInstances",
+ "elastic-inference:DescribeAccelerators",
+ "ssm:CreateAssociation",
+ "ssm:DescribeAssociation",
+ "ssm:ListAssociations"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DescribeInstances",
+ "ec2:TerminateInstances",
+ "ec2:DescribeElasticGpus",
+ "ec2:DescribeNetworkInterfaces",
+ "ec2:DescribeVolumes",
+ "ec2:DescribeInstances",
+ "ec2:DescribeInstanceAttribute",
+ "ec2:DescribeInstanceCreditSpecifications",
+ "ec2:DescribeLaunchTemplates",
+ "elastic-inference:DescribeAccelerators",
+ "ssm:DescribeAssociation",
+ "ssm:ListAssociations"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeInstances"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeElasticGpus",
+ "ec2:DescribeNetworkInterfaces",
+ "ec2:DescribeVolumes",
+ "ec2:DescribeInstances",
+ "ec2:DescribeInstanceAttribute",
+ "ec2:DescribeInstanceCreditSpecifications",
+ "ec2:DescribeLaunchTemplates",
+ "elastic-inference:DescribeAccelerators",
+ "ssm:DescribeAssociation",
+ "ssm:ListAssociations"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:DescribeElasticGpus",
+ "ec2:ModifyPrivateDnsNameOptions",
+ "ec2:DescribeNetworkInterfaces",
+ "ec2:AssociateIamInstanceProfile",
+ "ec2:DescribeIamInstanceProfileAssociations",
+ "ec2:DescribeInstances",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeKeyPairs",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeVpcs",
+ "ec2:DescribeInstanceAttribute",
+ "ec2:DescribeInstanceCreditSpecifications",
+ "ec2:DescribeLaunchTemplates",
+ "ec2:DetachVolume",
+ "ec2:DisassociateIamInstanceProfile",
+ "ec2:ModifyInstanceAttribute",
+ "ec2:ModifyInstanceCreditSpecification",
+ "ec2:ModifyInstanceMaintenanceOptions",
+ "ec2:ModifyInstancePlacement",
+ "ec2:MonitorInstances",
+ "ec2:AttachVolume",
+ "ec2:CreateTags",
+ "ec2:DeleteTags",
+ "ec2:ReplaceIamInstanceProfileAssociation",
+ "ec2:StartInstances",
+ "ec2:StopInstances",
+ "ec2:UnmonitorInstances",
+ "elastic-inference:DescribeAccelerators",
+ "ssm:CreateAssociation",
+ "ssm:DeleteAssociation",
+ "ssm:DescribeAssociation",
+ "ssm:ListAssociations"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/InstanceId"
+ ],
+ "properties": {
+ "AdditionalInfo": {
+ "type": "string"
+ },
+ "Affinity": {
+ "enum": [
+ "default",
+ "host"
+ ],
+ "type": "string"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "BlockDeviceMappings": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/BlockDeviceMapping"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CpuOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "CoreCount": {
+ "type": "integer"
+ },
+ "ThreadsPerCore": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CreditSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "CPUCredits": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DisableApiTermination": {
+ "type": "boolean"
+ },
+ "EbsOptimized": {
+ "type": "boolean"
+ },
+ "ElasticGpuSpecifications": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ElasticGpuSpecification"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ElasticInferenceAccelerators": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ElasticInferenceAccelerator"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EnclaveOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "HibernationOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Configured": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "HostId": {
+ "type": "string"
+ },
+ "HostResourceGroupArn": {
+ "type": "string"
+ },
+ "IamInstanceProfile": {
+ "type": "string"
+ },
+ "ImageId": {
+ "format": "AWS::EC2::Image.Id",
+ "type": "string"
+ },
+ "InstanceId": {
+ "type": "string"
+ },
+ "InstanceInitiatedShutdownBehavior": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "Ipv6AddressCount": {
+ "type": "integer"
+ },
+ "Ipv6Addresses": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/InstanceIpv6Address"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "KernelId": {
+ "type": "string"
+ },
+ "KeyName": {
+ "type": "string"
+ },
+ "LaunchTemplate": {
+ "$ref": "#/definitions/LaunchTemplateSpecification",
+ "type": "object"
+ },
+ "LicenseSpecifications": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LicenseSpecification"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Monitoring": {
+ "type": "boolean"
+ },
+ "NetworkInterfaces": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PlacementGroupName": {
+ "type": "string"
+ },
+ "PrivateDnsName": {
+ "type": "string"
+ },
+ "PrivateDnsNameOptions": {
+ "$ref": "#/definitions/PrivateDnsNameOptions",
+ "type": "object"
+ },
+ "PrivateIp": {
+ "type": "string"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ },
+ "PropagateTagsToVolumeOnCreation": {
+ "type": "boolean"
+ },
+ "PublicDnsName": {
+ "type": "string"
+ },
+ "PublicIp": {
+ "type": "string"
+ },
+ "RamdiskId": {
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SourceDestCheck": {
+ "type": "boolean"
+ },
+ "SsmAssociations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SsmAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "State": {
+ "$ref": "#/definitions/State",
+ "type": "object"
+ },
+ "SubnetId": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tenancy": {
+ "enum": [
+ "dedicated",
+ "default",
+ "host"
+ ],
+ "type": "string"
+ },
+ "UserData": {
+ "type": "string"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/InstanceId",
+ "/properties/PrivateIp",
+ "/properties/PublicDnsName",
+ "/properties/PublicIp",
+ "/properties/PrivateDnsName",
+ "/properties/VpcId",
+ "/properties/State"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::Instance",
+ "writeOnlyProperties": [
+ "/properties/BlockDeviceMappings/*/NoDevice",
+ "/properties/BlockDeviceMappings/*/VirtualName",
+ "/properties/LicenseSpecification",
+ "/properties/AdditionalInfo",
+ "/properties/Ipv6AddressCount",
+ "/properties/Ipv6Addresses",
+ "/properties/PropagateTagsToVolumeOnCreation",
+ "/properties/LaunchTemplate"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbcluster.json
similarity index 97%
rename from src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbcluster.json
rename to src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbcluster.json
index 3355402afa..6dee021f39 100644
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbcluster.json
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbcluster.json
@@ -151,6 +151,7 @@
},
"delete": {
"permissions": [
+ "rds:AddTagsToResource",
"rds:CreateDBClusterSnapshot",
"rds:DeleteDBCluster",
"rds:DeleteDBInstance",
@@ -444,6 +445,17 @@
"/properties/StorageThroughput"
],
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "permissions": [
+ "rds:AddTagsToResource",
+ "rds:RemoveTagsFromResource"
+ ],
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
"typeName": "AWS::RDS::DBCluster",
"writeOnlyProperties": [
"/properties/DBInstanceParameterGroupName",
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbinstance.json
new file mode 100644
index 0000000000..94f443dbfb
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbinstance.json
@@ -0,0 +1,621 @@
+{
+ "additionalProperties": false,
+ "conditionalCreateOnlyProperties": [
+ "/properties/AutoMinorVersionUpgrade",
+ "/properties/AvailabilityZone",
+ "/properties/BackupRetentionPeriod",
+ "/properties/DBClusterSnapshotIdentifier",
+ "/properties/DBParameterGroupName",
+ "/properties/DBSnapshotIdentifier",
+ "/properties/Engine",
+ "/properties/MultiAZ",
+ "/properties/PerformanceInsightsKMSKeyId",
+ "/properties/PreferredMaintenanceWindow",
+ "/properties/RestoreTime",
+ "/properties/SourceDBClusterIdentifier",
+ "/properties/SourceDBInstanceAutomatedBackupsArn",
+ "/properties/SourceDBInstanceIdentifier",
+ "/properties/SourceDbiResourceId",
+ "/properties/StorageType",
+ "/properties/UseLatestRestorableTime"
+ ],
+ "createOnlyProperties": [
+ "/properties/CharacterSetName",
+ "/properties/CustomIAMInstanceProfile",
+ "/properties/DBClusterIdentifier",
+ "/properties/DBInstanceIdentifier",
+ "/properties/DBName",
+ "/properties/DBSubnetGroupName",
+ "/properties/KmsKeyId",
+ "/properties/MasterUsername",
+ "/properties/NcharCharacterSetName",
+ "/properties/Port",
+ "/properties/SourceRegion",
+ "/properties/StorageEncrypted",
+ "/properties/Timezone"
+ ],
+ "definitions": {
+ "CertificateDetails": {
+ "additionalProperties": false,
+ "properties": {
+ "CAIdentifier": {
+ "type": "string"
+ },
+ "ValidTill": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DBInstanceRole": {
+ "additionalProperties": false,
+ "properties": {
+ "FeatureName": {
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "FeatureName",
+ "RoleArn"
+ ],
+ "type": "object"
+ },
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "HostedZoneId": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "MasterUserSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "SecretArn": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessorFeature": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "enum": [
+ "coreCount",
+ "threadsPerCore"
+ ],
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "dependencies": {
+ "KmsKeyId": {
+ "properties": {
+ "StorageEncrypted": {
+ "enum": [
+ "true",
+ "True",
+ true
+ ]
+ }
+ },
+ "required": [
+ "StorageEncrypted"
+ ]
+ }
+ },
+ "dependentExcluded": {
+ "SourceDBInstanceIdentifier": [
+ "CharacterSetName",
+ "MasterUserPassword",
+ "MasterUsername",
+ "StorageEncrypted"
+ ]
+ },
+ "deprecatedProperties": [
+ "/properties/TdeCredentialArn",
+ "/properties/TdeCredentialPassword"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcAttribute",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "iam:GetRole",
+ "iam:ListRoles",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "rds:AddRoleToDBInstance",
+ "rds:AddTagsToResource",
+ "rds:CreateDBInstance",
+ "rds:CreateDBInstanceReadReplica",
+ "rds:DescribeDBInstances",
+ "rds:DescribeDBClusters",
+ "rds:DescribeDBClusterSnapshots",
+ "rds:DescribeDBInstanceAutomatedBackups",
+ "rds:DescribeDBSnapshots",
+ "rds:DescribeEvents",
+ "rds:ModifyDBInstance",
+ "rds:RebootDBInstance",
+ "rds:RestoreDBInstanceFromDBSnapshot",
+ "rds:RestoreDBInstanceToPointInTime",
+ "rds:StartDBInstanceAutomatedBackupsReplication",
+ "secretsmanager:CreateSecret",
+ "secretsmanager:TagResource"
+ ],
+ "timeoutInMinutes": 2160
+ },
+ "delete": {
+ "permissions": [
+ "rds:AddTagsToResource",
+ "rds:CreateDBSnapshot",
+ "rds:DeleteDBInstance",
+ "rds:DescribeDBInstances"
+ ],
+ "timeoutInMinutes": 2160
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeDBInstances"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcAttribute",
+ "ec2:DescribeVpcs",
+ "rds:DescribeDBInstances"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcAttribute",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "iam:GetRole",
+ "iam:ListRoles",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "rds:AddRoleToDBInstance",
+ "rds:AddTagsToResource",
+ "rds:DescribeDBClusters",
+ "rds:DescribeDBEngineVersions",
+ "rds:DescribeDBInstances",
+ "rds:DescribeDBParameterGroups",
+ "rds:DescribeEvents",
+ "rds:ModifyDBInstance",
+ "rds:PromoteReadReplica",
+ "rds:RebootDBInstance",
+ "rds:RemoveRoleFromDBInstance",
+ "rds:RemoveTagsFromResource",
+ "rds:StartDBInstanceAutomatedBackupsReplication",
+ "rds:StopDBInstanceAutomatedBackupsReplication",
+ "secretsmanager:CreateSecret",
+ "secretsmanager:TagResource"
+ ],
+ "timeoutInMinutes": 2160
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DBInstanceIdentifier"
+ ],
+ "properties": {
+ "AllocatedStorage": {
+ "pattern": "^[0-9]*$",
+ "type": "string"
+ },
+ "AllowMajorVersionUpgrade": {
+ "type": "boolean"
+ },
+ "AssociatedRoles": {
+ "items": {
+ "$ref": "#/definitions/DBInstanceRole"
+ },
+ "type": "array"
+ },
+ "AutoMinorVersionUpgrade": {
+ "type": "boolean"
+ },
+ "AutomaticBackupReplicationKmsKeyId": {
+ "type": "string"
+ },
+ "AutomaticBackupReplicationRegion": {
+ "type": "string"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "BackupRetentionPeriod": {
+ "default": 1,
+ "maximum": 35,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "CACertificateIdentifier": {
+ "type": "string"
+ },
+ "CertificateDetails": {
+ "$ref": "#/definitions/CertificateDetails"
+ },
+ "CertificateRotationRestart": {
+ "type": "boolean"
+ },
+ "CharacterSetName": {
+ "type": "string"
+ },
+ "CopyTagsToSnapshot": {
+ "type": "boolean"
+ },
+ "CustomIAMInstanceProfile": {
+ "type": "string"
+ },
+ "DBClusterIdentifier": {
+ "type": "string"
+ },
+ "DBClusterSnapshotIdentifier": {
+ "type": "string"
+ },
+ "DBInstanceArn": {
+ "type": "string"
+ },
+ "DBInstanceClass": {
+ "type": "string"
+ },
+ "DBInstanceIdentifier": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "DBName": {
+ "type": "string"
+ },
+ "DBParameterGroupName": {
+ "type": "string"
+ },
+ "DBSecurityGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DBSnapshotIdentifier": {
+ "type": "string"
+ },
+ "DBSubnetGroupName": {
+ "type": "string"
+ },
+ "DBSystemId": {
+ "type": "string"
+ },
+ "DbiResourceId": {
+ "type": "string"
+ },
+ "DedicatedLogVolume": {
+ "type": "boolean"
+ },
+ "DeleteAutomatedBackups": {
+ "type": "boolean"
+ },
+ "DeletionProtection": {
+ "type": "boolean"
+ },
+ "Domain": {
+ "type": "string"
+ },
+ "DomainAuthSecretArn": {
+ "type": "string"
+ },
+ "DomainDnsIps": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "DomainFqdn": {
+ "type": "string"
+ },
+ "DomainIAMRoleName": {
+ "type": "string"
+ },
+ "DomainOu": {
+ "type": "string"
+ },
+ "EnableCloudwatchLogsExports": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "EnableIAMDatabaseAuthentication": {
+ "type": "boolean"
+ },
+ "EnablePerformanceInsights": {
+ "type": "boolean"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "Engine": {
+ "type": "string"
+ },
+ "EngineLifecycleSupport": {
+ "type": "string"
+ },
+ "EngineVersion": {
+ "type": "string"
+ },
+ "Iops": {
+ "type": "integer"
+ },
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "LicenseModel": {
+ "type": "string"
+ },
+ "ManageMasterUserPassword": {
+ "type": "boolean"
+ },
+ "MasterUserPassword": {
+ "type": "string"
+ },
+ "MasterUserSecret": {
+ "$ref": "#/definitions/MasterUserSecret"
+ },
+ "MasterUsername": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$",
+ "type": "string"
+ },
+ "MaxAllocatedStorage": {
+ "type": "integer"
+ },
+ "MonitoringInterval": {
+ "default": 0,
+ "type": "integer"
+ },
+ "MonitoringRoleArn": {
+ "type": "string"
+ },
+ "MultiAZ": {
+ "type": "boolean"
+ },
+ "NcharCharacterSetName": {
+ "type": "string"
+ },
+ "NetworkType": {
+ "type": "string"
+ },
+ "OptionGroupName": {
+ "type": "string"
+ },
+ "PerformanceInsightsKMSKeyId": {
+ "type": "string"
+ },
+ "PerformanceInsightsRetentionPeriod": {
+ "enum": [
+ 7,
+ 31,
+ 62,
+ 93,
+ 124,
+ 155,
+ 186,
+ 217,
+ 248,
+ 279,
+ 310,
+ 341,
+ 372,
+ 403,
+ 434,
+ 465,
+ 496,
+ 527,
+ 558,
+ 589,
+ 620,
+ 651,
+ 682,
+ 713,
+ 731
+ ],
+ "type": "integer"
+ },
+ "Port": {
+ "pattern": "^\\d*$",
+ "type": "string"
+ },
+ "PreferredBackupWindow": {
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "type": "string"
+ },
+ "ProcessorFeatures": {
+ "items": {
+ "$ref": "#/definitions/ProcessorFeature"
+ },
+ "type": "array"
+ },
+ "PromotionTier": {
+ "default": 1,
+ "maximum": 15,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "ReplicaMode": {
+ "type": "string"
+ },
+ "RestoreTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "SourceDBClusterIdentifier": {
+ "type": "string"
+ },
+ "SourceDBInstanceAutomatedBackupsArn": {
+ "type": "string"
+ },
+ "SourceDBInstanceIdentifier": {
+ "type": "string"
+ },
+ "SourceDbiResourceId": {
+ "type": "string"
+ },
+ "SourceRegion": {
+ "type": "string"
+ },
+ "StorageEncrypted": {
+ "type": "boolean"
+ },
+ "StorageThroughput": {
+ "type": "integer"
+ },
+ "StorageType": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TdeCredentialArn": {
+ "type": "string"
+ },
+ "TdeCredentialPassword": {
+ "type": "string"
+ },
+ "Timezone": {
+ "type": "string"
+ },
+ "UseDefaultProcessorFeatures": {
+ "type": "boolean"
+ },
+ "UseLatestRestorableTime": {
+ "type": "boolean"
+ },
+ "VPCSecurityGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "propertyTransform": {
+ "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
+ "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)",
+ "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)",
+ "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)",
+ "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)",
+ "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)",
+ "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
+ "/properties/Engine": "$lowercase(Engine)",
+ "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
+ "/properties/NetworkType": "$lowercase(NetworkType)",
+ "/properties/OptionGroupName": "$lowercase(OptionGroupName)",
+ "/properties/PerformanceInsightsKMSKeyId": "$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\\/\", PerformanceInsightsKMSKeyId])",
+ "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)",
+ "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)",
+ "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)",
+ "/properties/StorageType": "$lowercase(StorageType)"
+ },
+ "readOnlyProperties": [
+ "/properties/Endpoint/Address",
+ "/properties/Endpoint/Port",
+ "/properties/Endpoint/HostedZoneId",
+ "/properties/DbiResourceId",
+ "/properties/DBInstanceArn",
+ "/properties/DBSystemId",
+ "/properties/MasterUserSecret/SecretArn",
+ "/properties/CertificateDetails/CAIdentifier",
+ "/properties/CertificateDetails/ValidTill"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "typeName": "AWS::RDS::DBInstance",
+ "writeOnlyProperties": [
+ "/properties/AllowMajorVersionUpgrade",
+ "/properties/AutomaticBackupReplicationKmsKeyId",
+ "/properties/CertificateRotationRestart",
+ "/properties/DBSnapshotIdentifier",
+ "/properties/DeleteAutomatedBackups",
+ "/properties/MasterUserPassword",
+ "/properties/Port",
+ "/properties/RestoreTime",
+ "/properties/SourceDBInstanceAutomatedBackupsArn",
+ "/properties/SourceDBInstanceIdentifier",
+ "/properties/SourceDbiResourceId",
+ "/properties/SourceRegion",
+ "/properties/TdeCredentialPassword",
+ "/properties/UseDefaultProcessorFeatures",
+ "/properties/UseLatestRestorableTime"
+ ]
+}
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 0015bb7367..b56d46d7b3 100644
--- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py
@@ -196,7 +196,13 @@
"AWS::EC2::FlowLog",
"AWS::EC2::GatewayRouteTableAssociation",
"AWS::EC2::Host",
+ "AWS::EC2::IPAM",
+ "AWS::EC2::IPAMAllocation",
+ "AWS::EC2::IPAMPool",
+ "AWS::EC2::IPAMPoolCidr",
+ "AWS::EC2::IPAMResourceDiscovery",
"AWS::EC2::IPAMResourceDiscoveryAssociation",
+ "AWS::EC2::IPAMScope",
"AWS::EC2::Instance",
"AWS::EC2::InstanceConnectEndpoint",
"AWS::EC2::InternetGateway",
@@ -767,6 +773,7 @@
"aws-cloudwatch-alarm.json",
"aws-cloudwatch-anomalydetector.json",
"aws-cloudwatch-compositealarm.json",
+ "aws-cloudwatch-dashboard.json",
"aws-cloudwatch-insightrule.json",
"aws-cloudwatch-metricstream.json",
"aws-codebuild-project.json",
@@ -833,7 +840,13 @@
"aws-ec2-instance.json",
"aws-ec2-instanceconnectendpoint.json",
"aws-ec2-internetgateway.json",
+ "aws-ec2-ipam.json",
+ "aws-ec2-ipamallocation.json",
+ "aws-ec2-ipampool.json",
+ "aws-ec2-ipampoolcidr.json",
+ "aws-ec2-ipamresourcediscovery.json",
"aws-ec2-ipamresourcediscoveryassociation.json",
+ "aws-ec2-ipamscope.json",
"aws-ec2-keypair.json",
"aws-ec2-launchtemplate.json",
"aws-ec2-natgateway.json",
@@ -978,6 +991,7 @@
"aws-iam-group.json",
"aws-iam-grouppolicy.json",
"aws-iam-instanceprofile.json",
+ "aws-iam-oidcprovider.json",
"aws-iam-policy.json",
"aws-iam-role.json",
"aws-iam-rolepolicy.json",
@@ -1065,6 +1079,7 @@
"aws-msk-configuration.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-networkfirewall-firewallpolicy.json",
"aws-networkfirewall-rulegroup.json",
@@ -1085,6 +1100,7 @@
"aws-pipes-pipe.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-iam-oidcprovider.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-iam-oidcprovider.json
deleted file mode 100644
index 1794a452ca..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-iam-oidcprovider.json
+++ /dev/null
@@ -1,120 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Url"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateOpenIDConnectProvider",
- "iam:TagOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "delete": {
- "permissions": [
- "iam:DeleteOpenIDConnectProvider"
- ]
- },
- "list": {
- "permissions": [
- "iam:ListOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "read": {
- "permissions": [
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "update": {
- "permissions": [
- "iam:UpdateOpenIDConnectProviderThumbprint",
- "iam:RemoveClientIDFromOpenIDConnectProvider",
- "iam:AddClientIDToOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider",
- "iam:TagOpenIDConnectProvider",
- "iam:UntagOpenIDConnectProvider",
- "iam:ListOpenIDConnectProviderTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 20,
- "type": "string"
- },
- "ClientIdList": {
- "insertionOrder": false,
- "items": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- },
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "ThumbprintList": {
- "insertionOrder": false,
- "items": {
- "maxLength": 40,
- "minLength": 40,
- "pattern": "[0-9A-Fa-f]{40}",
- "type": "string"
- },
- "maxItems": 5,
- "type": "array"
- },
- "Url": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "ThumbprintList"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::IAM::OIDCProvider"
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/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/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py
index ffc78c16bd..5d98e8e4df 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py
@@ -1567,7 +1567,6 @@
"aws-dms-eventsubscription.json",
"aws-dms-instanceprofile.json",
"aws-dms-migrationproject.json",
- "aws-dms-replicationconfig.json",
"aws-dms-replicationinstance.json",
"aws-dms-replicationsubnetgroup.json",
"aws-dms-replicationtask.json",
@@ -1596,7 +1595,6 @@
"aws-ec2-flowlog.json",
"aws-ec2-gatewayroutetableassociation.json",
"aws-ec2-host.json",
- "aws-ec2-instance.json",
"aws-ec2-instanceconnectendpoint.json",
"aws-ec2-internetgateway.json",
"aws-ec2-ipam.json",
@@ -1606,7 +1604,6 @@
"aws-ec2-ipamresourcediscovery.json",
"aws-ec2-ipamresourcediscoveryassociation.json",
"aws-ec2-ipamscope.json",
- "aws-ec2-keypair.json",
"aws-ec2-launchtemplate.json",
"aws-ec2-localgatewayroute.json",
"aws-ec2-localgatewayroutetable.json",
@@ -1639,7 +1636,6 @@
"aws-ec2-trafficmirrorfilterrule.json",
"aws-ec2-trafficmirrorsession.json",
"aws-ec2-trafficmirrortarget.json",
- "aws-ec2-transitgateway.json",
"aws-ec2-transitgatewayconnect.json",
"aws-ec2-transitgatewaymulticastdomain.json",
"aws-ec2-transitgatewaymulticastdomainassociation.json",
@@ -1685,7 +1681,6 @@
"aws-efs-mounttarget.json",
"aws-eks-accessentry.json",
"aws-eks-addon.json",
- "aws-eks-cluster.json",
"aws-eks-fargateprofile.json",
"aws-eks-identityproviderconfig.json",
"aws-eks-nodegroup.json",
@@ -2048,6 +2043,7 @@
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbclusterparametergroup.json",
"aws-neptune-dbinstance.json",
"aws-neptune-dbparametergroup.json",
@@ -2152,9 +2148,7 @@
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
"aws-rds-customdbengineversion.json",
- "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
- "aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
"aws-rds-dbproxy.json",
"aws-rds-dbproxyendpoint.json",
@@ -2251,6 +2245,7 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
@@ -2269,7 +2264,6 @@
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
"aws-sdb-domain.json",
- "aws-secretsmanager-resourcepolicy.json",
"aws-secretsmanager-rotationschedule.json",
"aws-secretsmanager-secret.json",
"aws-secretsmanager-secrettargetattachment.json",
@@ -2332,7 +2326,6 @@
"aws-shield-drtaccess.json",
"aws-shield-proactiveengagement.json",
"aws-shield-protection.json",
- "aws-shield-protectiongroup.json",
"aws-signer-profilepermission.json",
"aws-signer-signingprofile.json",
"aws-simspaceweaver-simulation.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-flowalias.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-flowalias.json
index e439cc9349..29bd17f26b 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-flowalias.json
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-flowalias.json
@@ -8,7 +8,7 @@
"additionalProperties": false,
"properties": {
"FlowVersion": {
- "maxLength": 5,
+ "maxLength": 1,
"minLength": 1,
"pattern": "^(DRAFT|[0-9]{0,4}[1-9][0-9]{0,4})$",
"type": "string"
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-dms-replicationconfig.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-dms-replicationconfig.json
new file mode 100644
index 0000000000..83b9074702
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-dms-replicationconfig.json
@@ -0,0 +1,204 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicationConfigIdentifier"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ComputeConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "DnsNameServers": {
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "MaxCapacityUnits": {
+ "type": "integer"
+ },
+ "MinCapacityUnits": {
+ "type": "integer"
+ },
+ "MultiAZ": {
+ "type": "boolean"
+ },
+ "PreferredMaintenanceWindow": {
+ "type": "string"
+ },
+ "ReplicationSubnetGroupId": {
+ "type": "string"
+ },
+ "VpcSecurityGroupIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "MaxCapacityUnits"
+ ],
+ "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"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "dms:CreateReplicationConfig",
+ "dms:AddTagsToResource",
+ "dms:ListTagsForResource",
+ "iam:CreateServiceLinkedRole",
+ "iam:AttachRolePolicy",
+ "iam:PutRolePolicy",
+ "iam:UpdateRoleDescription"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "dms:DescribeReplicationConfigs",
+ "dms:DeleteReplicationConfig",
+ "dms:ListTagsForResource",
+ "iam:DeleteServiceLinkedRole",
+ "iam:GetServiceLinkedRoleDeletionStatus"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "dms:DescribeReplicationConfigs",
+ "dms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "dms:DescribeReplicationConfigs",
+ "dms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "dms:ModifyReplicationConfig",
+ "dms:AddTagsToResource",
+ "dms:RemoveTagsFromResource",
+ "dms:ListTagsForResource",
+ "iam:CreateServiceLinkedRole",
+ "iam:AttachRolePolicy",
+ "iam:PutRolePolicy",
+ "iam:UpdateRoleDescription"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicationConfigArn"
+ ],
+ "properties": {
+ "ComputeConfig": {
+ "$ref": "#/definitions/ComputeConfig"
+ },
+ "ReplicationConfigArn": {
+ "type": "string"
+ },
+ "ReplicationConfigIdentifier": {
+ "type": "string"
+ },
+ "ReplicationSettings": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "ReplicationType": {
+ "enum": [
+ "full-load",
+ "full-load-and-cdc",
+ "cdc"
+ ],
+ "type": "string"
+ },
+ "ResourceIdentifier": {
+ "type": "string"
+ },
+ "SourceEndpointArn": {
+ "type": "string"
+ },
+ "SupplementalSettings": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TableMappings": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "type": "array"
+ },
+ "TargetEndpointArn": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicationConfigArn"
+ ],
+ "required": [
+ "ReplicationConfigIdentifier",
+ "SourceEndpointArn",
+ "TargetEndpointArn",
+ "ReplicationType",
+ "ComputeConfig",
+ "TableMappings"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-dms",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "permissions": [
+ "dms:AddTagsToResource",
+ "dms:ListTagsForResource",
+ "dms:RemoveTagsFromResource"
+ ],
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::DMS::ReplicationConfig"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-instance.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-instance.json
new file mode 100644
index 0000000000..0b1faffd5a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-instance.json
@@ -0,0 +1,750 @@
+{
+ "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json",
+ "additionalProperties": false,
+ "conditionalCreateOnlyProperties": [
+ "/properties/AdditionalInfo",
+ "/properties/Affinity",
+ "/properties/EbsOptimized",
+ "/properties/HostId",
+ "/properties/InstanceType",
+ "/properties/KernelId",
+ "/properties/PrivateDnsNameOptions",
+ "/properties/RamdiskId",
+ "/properties/SecurityGroupIds",
+ "/properties/Tenancy",
+ "/properties/UserData",
+ "/properties/BlockDeviceMappings"
+ ],
+ "createOnlyProperties": [
+ "/properties/AvailabilityZone",
+ "/properties/CpuOptions",
+ "/properties/ElasticGpuSpecifications",
+ "/properties/ElasticInferenceAccelerators",
+ "/properties/EnclaveOptions",
+ "/properties/HibernationOptions",
+ "/properties/HostResourceGroupArn",
+ "/properties/ImageId",
+ "/properties/Ipv6AddressCount",
+ "/properties/Ipv6Addresses",
+ "/properties/KeyName",
+ "/properties/LaunchTemplate",
+ "/properties/LicenseSpecifications",
+ "/properties/NetworkInterfaces",
+ "/properties/PlacementGroupName",
+ "/properties/PrivateIpAddress",
+ "/properties/SecurityGroups",
+ "/properties/SubnetId"
+ ],
+ "definitions": {
+ "AssociationParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "BlockDeviceMapping": {
+ "additionalProperties": false,
+ "properties": {
+ "DeviceName": {
+ "type": "string"
+ },
+ "Ebs": {
+ "$ref": "#/definitions/Ebs"
+ },
+ "NoDevice": {
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "VirtualName": {
+ "pattern": "^ephemeral([0-9]|[1][0-9]|[2][0-3])$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DeviceName"
+ ],
+ "requiredXor": [
+ "VirtualName",
+ "Ebs",
+ "NoDevice"
+ ],
+ "type": "object"
+ },
+ "Ebs": {
+ "additionalProperties": false,
+ "properties": {
+ "DeleteOnTermination": {
+ "type": "boolean"
+ },
+ "Encrypted": {
+ "type": "boolean"
+ },
+ "Iops": {
+ "type": "integer"
+ },
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "SnapshotId": {
+ "type": "string"
+ },
+ "VolumeSize": {
+ "type": "integer"
+ },
+ "VolumeType": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticGpuSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ElasticInferenceAccelerator": {
+ "additionalProperties": false,
+ "properties": {
+ "Count": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "InstanceIpv6Address": {
+ "additionalProperties": false,
+ "properties": {
+ "Ipv6Address": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Ipv6Address"
+ ],
+ "type": "object"
+ },
+ "LaunchTemplateSpecification": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "LaunchTemplateName",
+ "Version"
+ ]
+ },
+ {
+ "required": [
+ "LaunchTemplateId",
+ "Version"
+ ]
+ }
+ ],
+ "properties": {
+ "LaunchTemplateId": {
+ "type": "string"
+ },
+ "LaunchTemplateName": {
+ "type": "string"
+ },
+ "Version": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LicenseSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "LicenseConfigurationArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "LicenseConfigurationArn"
+ ],
+ "type": "object"
+ },
+ "NetworkInterface": {
+ "additionalProperties": false,
+ "properties": {
+ "AssociateCarrierIpAddress": {
+ "type": "boolean"
+ },
+ "AssociatePublicIpAddress": {
+ "type": "boolean"
+ },
+ "DeleteOnTermination": {
+ "type": "boolean"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "DeviceIndex": {
+ "type": "string"
+ },
+ "GroupSet": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ipv6AddressCount": {
+ "type": "integer"
+ },
+ "Ipv6Addresses": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/InstanceIpv6Address"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ },
+ "PrivateIpAddresses": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/PrivateIpAddressSpecification"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SecondaryPrivateIpAddressCount": {
+ "type": "integer"
+ },
+ "SubnetId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DeviceIndex"
+ ],
+ "type": "object"
+ },
+ "PrivateDnsNameOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableResourceNameDnsAAAARecord": {
+ "type": "boolean"
+ },
+ "EnableResourceNameDnsARecord": {
+ "type": "boolean"
+ },
+ "HostnameType": {
+ "enum": [
+ "ip-name",
+ "resource-name"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrivateIpAddressSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "Primary": {
+ "type": "boolean"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateIpAddress",
+ "Primary"
+ ],
+ "type": "object"
+ },
+ "SsmAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "AssociationParameters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AssociationParameter"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DocumentName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DocumentName"
+ ],
+ "type": "object"
+ },
+ "State": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "Volume": {
+ "additionalProperties": false,
+ "properties": {
+ "Device": {
+ "type": "string"
+ },
+ "VolumeId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "VolumeId",
+ "Device"
+ ],
+ "type": "object"
+ }
+ },
+ "dependentExcluded": {
+ "NetworkInterfaces": [
+ "SubnetId"
+ ],
+ "SubnetId": [
+ "NetworkInterfaces"
+ ]
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "iam:PassRole",
+ "ec2:ModifyPrivateDnsNameOptions",
+ "ec2:DescribeElasticGpus",
+ "ec2:DescribeNetworkInterfaces",
+ "ec2:DescribeVolumes",
+ "ec2:RunInstances",
+ "ec2:AssociateIamInstanceProfile",
+ "ec2:DescribeIamInstanceProfileAssociations",
+ "ec2:DescribeInstances",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeKeyPairs",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeVpcs",
+ "ec2:DescribeInstanceAttribute",
+ "ec2:DescribeInstanceCreditSpecifications",
+ "ec2:DescribeLaunchTemplates",
+ "ec2:DescribeLaunchTemplateVersions",
+ "ec2:DetachVolume",
+ "ec2:DisassociateIamInstanceProfile",
+ "ec2:ModifyInstanceAttribute",
+ "ec2:ModifyInstanceCreditSpecification",
+ "ec2:ModifyInstancePlacement",
+ "ec2:MonitorInstances",
+ "ec2:AttachVolume",
+ "ec2:CreateTags",
+ "ec2:ReplaceIamInstanceProfileAssociation",
+ "ec2:StartInstances",
+ "elastic-inference:DescribeAccelerators",
+ "ssm:CreateAssociation",
+ "ssm:DescribeAssociation",
+ "ssm:ListAssociations"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DescribeInstances",
+ "ec2:TerminateInstances",
+ "ec2:DescribeElasticGpus",
+ "ec2:DescribeNetworkInterfaces",
+ "ec2:DescribeVolumes",
+ "ec2:DescribeInstances",
+ "ec2:DescribeInstanceAttribute",
+ "ec2:DescribeInstanceCreditSpecifications",
+ "ec2:DescribeLaunchTemplates",
+ "elastic-inference:DescribeAccelerators",
+ "ssm:DescribeAssociation",
+ "ssm:ListAssociations"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeInstances"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeElasticGpus",
+ "ec2:DescribeNetworkInterfaces",
+ "ec2:DescribeVolumes",
+ "ec2:DescribeInstances",
+ "ec2:DescribeInstanceAttribute",
+ "ec2:DescribeInstanceCreditSpecifications",
+ "ec2:DescribeLaunchTemplates",
+ "elastic-inference:DescribeAccelerators",
+ "ssm:DescribeAssociation",
+ "ssm:ListAssociations"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:DescribeElasticGpus",
+ "ec2:ModifyPrivateDnsNameOptions",
+ "ec2:DescribeNetworkInterfaces",
+ "ec2:AssociateIamInstanceProfile",
+ "ec2:DescribeIamInstanceProfileAssociations",
+ "ec2:DescribeInstances",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeKeyPairs",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeVpcs",
+ "ec2:DescribeInstanceAttribute",
+ "ec2:DescribeInstanceCreditSpecifications",
+ "ec2:DescribeLaunchTemplates",
+ "ec2:DetachVolume",
+ "ec2:DisassociateIamInstanceProfile",
+ "ec2:ModifyInstanceAttribute",
+ "ec2:ModifyInstanceCreditSpecification",
+ "ec2:ModifyInstanceMaintenanceOptions",
+ "ec2:ModifyInstancePlacement",
+ "ec2:MonitorInstances",
+ "ec2:AttachVolume",
+ "ec2:CreateTags",
+ "ec2:DeleteTags",
+ "ec2:ReplaceIamInstanceProfileAssociation",
+ "ec2:StartInstances",
+ "ec2:StopInstances",
+ "ec2:UnmonitorInstances",
+ "elastic-inference:DescribeAccelerators",
+ "ssm:CreateAssociation",
+ "ssm:DeleteAssociation",
+ "ssm:DescribeAssociation",
+ "ssm:ListAssociations"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/InstanceId"
+ ],
+ "properties": {
+ "AdditionalInfo": {
+ "type": "string"
+ },
+ "Affinity": {
+ "enum": [
+ "default",
+ "host"
+ ],
+ "type": "string"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "BlockDeviceMappings": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/BlockDeviceMapping"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CpuOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "CoreCount": {
+ "type": "integer"
+ },
+ "ThreadsPerCore": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CreditSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "CPUCredits": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DisableApiTermination": {
+ "type": "boolean"
+ },
+ "EbsOptimized": {
+ "type": "boolean"
+ },
+ "ElasticGpuSpecifications": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ElasticGpuSpecification"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ElasticInferenceAccelerators": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ElasticInferenceAccelerator"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EnclaveOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "HibernationOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Configured": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "HostId": {
+ "type": "string"
+ },
+ "HostResourceGroupArn": {
+ "type": "string"
+ },
+ "IamInstanceProfile": {
+ "type": "string"
+ },
+ "ImageId": {
+ "format": "AWS::EC2::Image.Id",
+ "type": "string"
+ },
+ "InstanceId": {
+ "type": "string"
+ },
+ "InstanceInitiatedShutdownBehavior": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "Ipv6AddressCount": {
+ "type": "integer"
+ },
+ "Ipv6Addresses": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/InstanceIpv6Address"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "KernelId": {
+ "type": "string"
+ },
+ "KeyName": {
+ "type": "string"
+ },
+ "LaunchTemplate": {
+ "$ref": "#/definitions/LaunchTemplateSpecification",
+ "type": "object"
+ },
+ "LicenseSpecifications": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LicenseSpecification"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Monitoring": {
+ "type": "boolean"
+ },
+ "NetworkInterfaces": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PlacementGroupName": {
+ "type": "string"
+ },
+ "PrivateDnsName": {
+ "type": "string"
+ },
+ "PrivateDnsNameOptions": {
+ "$ref": "#/definitions/PrivateDnsNameOptions",
+ "type": "object"
+ },
+ "PrivateIp": {
+ "type": "string"
+ },
+ "PrivateIpAddress": {
+ "type": "string"
+ },
+ "PropagateTagsToVolumeOnCreation": {
+ "type": "boolean"
+ },
+ "PublicDnsName": {
+ "type": "string"
+ },
+ "PublicIp": {
+ "type": "string"
+ },
+ "RamdiskId": {
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SourceDestCheck": {
+ "type": "boolean"
+ },
+ "SsmAssociations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SsmAssociation"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "State": {
+ "$ref": "#/definitions/State",
+ "type": "object"
+ },
+ "SubnetId": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tenancy": {
+ "enum": [
+ "dedicated",
+ "default",
+ "host"
+ ],
+ "type": "string"
+ },
+ "UserData": {
+ "type": "string"
+ },
+ "Volumes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Volume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/InstanceId",
+ "/properties/PrivateIp",
+ "/properties/PublicDnsName",
+ "/properties/PublicIp",
+ "/properties/PrivateDnsName",
+ "/properties/VpcId",
+ "/properties/State"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::Instance",
+ "writeOnlyProperties": [
+ "/properties/BlockDeviceMappings/*/NoDevice",
+ "/properties/BlockDeviceMappings/*/VirtualName",
+ "/properties/LicenseSpecification",
+ "/properties/AdditionalInfo",
+ "/properties/Ipv6AddressCount",
+ "/properties/Ipv6Addresses",
+ "/properties/PropagateTagsToVolumeOnCreation",
+ "/properties/LaunchTemplate"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-keypair.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-keypair.json
new file mode 100644
index 0000000000..0947fab641
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-keypair.json
@@ -0,0 +1,126 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/KeyPairId"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/KeyName",
+ "/properties/KeyType",
+ "/properties/KeyFormat",
+ "/properties/PublicKeyMaterial",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:CreateKeyPair",
+ "ec2:ImportKeyPair",
+ "ec2:CreateTags",
+ "ssm:PutParameter"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DeleteKeyPair",
+ "ssm:DeleteParameter",
+ "ec2:DescribeKeyPairs"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeKeyPairs"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeKeyPairs"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/KeyName"
+ ],
+ "properties": {
+ "KeyFingerprint": {
+ "type": "string"
+ },
+ "KeyFormat": {
+ "default": "pem",
+ "enum": [
+ "pem",
+ "ppk"
+ ],
+ "type": "string"
+ },
+ "KeyName": {
+ "type": "string"
+ },
+ "KeyPairId": {
+ "type": "string"
+ },
+ "KeyType": {
+ "default": "rsa",
+ "enum": [
+ "rsa",
+ "ed25519"
+ ],
+ "type": "string"
+ },
+ "PublicKeyMaterial": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/KeyPairId",
+ "/properties/KeyFingerprint"
+ ],
+ "required": [
+ "KeyName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "permissions": [
+ "ec2:CreateTags"
+ ],
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": false,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::KeyPair",
+ "writeOnlyProperties": [
+ "/properties/KeyFormat"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-transitgateway.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-transitgateway.json
new file mode 100644
index 0000000000..9646e8890c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-transitgateway.json
@@ -0,0 +1,155 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AmazonSideAsn",
+ "/properties/MulticastSupport"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:CreateTransitGateway",
+ "ec2:CreateTags",
+ "ec2:DescribeTransitGateways",
+ "ec2:DescribeTags",
+ "ec2:DeleteTransitGateway",
+ "ec2:DeleteTags",
+ "ec2:ModifyTransitGateway",
+ "ec2:ModifyTransitGatewayOptions"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:CreateTransitGateway",
+ "ec2:CreateTags",
+ "ec2:DescribeTransitGateways",
+ "ec2:DescribeTags",
+ "ec2:DeleteTransitGateway",
+ "ec2:DeleteTags",
+ "ec2:ModifyTransitGateway",
+ "ec2:ModifyTransitGatewayOptions"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:CreateTransitGateway",
+ "ec2:CreateTags",
+ "ec2:DescribeTransitGateways",
+ "ec2:DescribeTags",
+ "ec2:DeleteTransitGateway",
+ "ec2:DeleteTags",
+ "ec2:ModifyTransitGateway",
+ "ec2:ModifyTransitGatewayOptions"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:CreateTransitGateway",
+ "ec2:CreateTags",
+ "ec2:DescribeTransitGateways",
+ "ec2:DescribeTags",
+ "ec2:DeleteTransitGateway",
+ "ec2:DeleteTags",
+ "ec2:ModifyTransitGateway",
+ "ec2:ModifyTransitGatewayOptions"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:CreateTransitGateway",
+ "ec2:CreateTags",
+ "ec2:DescribeTransitGateways",
+ "ec2:DescribeTags",
+ "ec2:DeleteTransitGateway",
+ "ec2:DeleteTags",
+ "ec2:ModifyTransitGateway",
+ "ec2:ModifyTransitGatewayOptions"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AmazonSideAsn": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "AssociationDefaultRouteTableId": {
+ "type": "string"
+ },
+ "AutoAcceptSharedAttachments": {
+ "type": "string"
+ },
+ "DefaultRouteTableAssociation": {
+ "type": "string"
+ },
+ "DefaultRouteTablePropagation": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "DnsSupport": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "MulticastSupport": {
+ "type": "string"
+ },
+ "PropagationDefaultRouteTableId": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TransitGatewayArn": {
+ "type": "string"
+ },
+ "TransitGatewayCidrBlocks": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "VpnEcmpSupport": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/TransitGatewayArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transitgateway",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::TransitGateway"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-cluster.json
new file mode 100644
index 0000000000..174109bffd
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-cluster.json
@@ -0,0 +1,409 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/OutpostConfig",
+ "/properties/EncryptionConfig",
+ "/properties/KubernetesNetworkConfig",
+ "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions",
+ "/properties/Name",
+ "/properties/RoleArn",
+ "/properties/BootstrapSelfManagedAddons"
+ ],
+ "definitions": {
+ "AccessConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationMode": {
+ "enum": [
+ "CONFIG_MAP",
+ "API_AND_CONFIG_MAP",
+ "API"
+ ],
+ "type": "string"
+ },
+ "BootstrapClusterCreatorAdminPermissions": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "ClusterLogging": {
+ "additionalProperties": false,
+ "properties": {
+ "EnabledTypes": {
+ "$ref": "#/definitions/EnabledTypes"
+ }
+ },
+ "type": "object"
+ },
+ "ControlPlanePlacement": {
+ "additionalProperties": false,
+ "properties": {
+ "GroupName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EnabledTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LoggingTypeConfig"
+ },
+ "type": "array"
+ },
+ "EncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Provider": {
+ "$ref": "#/definitions/Provider"
+ },
+ "Resources": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "KubernetesNetworkConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "IpFamily": {
+ "enum": [
+ "ipv4",
+ "ipv6"
+ ],
+ "type": "string"
+ },
+ "ServiceIpv4Cidr": {
+ "type": "string"
+ },
+ "ServiceIpv6Cidr": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Logging": {
+ "additionalProperties": false,
+ "properties": {
+ "ClusterLogging": {
+ "$ref": "#/definitions/ClusterLogging"
+ }
+ },
+ "type": "object"
+ },
+ "LoggingTypeConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "enum": [
+ "api",
+ "audit",
+ "authenticator",
+ "controllerManager",
+ "scheduler"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "OutpostConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ControlPlaneInstanceType": {
+ "type": "string"
+ },
+ "ControlPlanePlacement": {
+ "$ref": "#/definitions/ControlPlanePlacement"
+ },
+ "OutpostArns": {
+ "insertionOrder": false,
+ "items": {
+ "minItems": 1,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutpostArns",
+ "ControlPlaneInstanceType"
+ ],
+ "type": "object"
+ },
+ "Provider": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyArn": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RemoteNodeNetwork": {
+ "additionalProperties": false,
+ "properties": {
+ "Cidrs": {
+ "insertionOrder": false,
+ "items": {
+ "minItems": 1,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Cidrs"
+ ],
+ "type": "object"
+ },
+ "RemoteNodeNetworks": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/RemoteNodeNetwork"
+ },
+ "type": "array"
+ },
+ "RemotePodNetwork": {
+ "additionalProperties": false,
+ "properties": {
+ "Cidrs": {
+ "insertionOrder": false,
+ "items": {
+ "minItems": 1,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Cidrs"
+ ],
+ "type": "object"
+ },
+ "RemotePodNetworks": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/RemotePodNetwork"
+ },
+ "type": "array"
+ },
+ "ResourcesVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EndpointPrivateAccess": {
+ "type": "boolean"
+ },
+ "EndpointPublicAccess": {
+ "type": "boolean"
+ },
+ "PublicAccessCidrs": {
+ "insertionOrder": false,
+ "items": {
+ "minItems": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "minItems": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "minItems": 1,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "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"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "eks:CreateCluster",
+ "eks:DescribeCluster",
+ "eks:TagResource",
+ "iam:PassRole",
+ "iam:GetRole",
+ "iam:ListAttachedRolePolicies",
+ "iam:CreateServiceLinkedRole",
+ "iam:CreateInstanceProfile",
+ "iam:TagInstanceProfile",
+ "iam:AddRoleToInstanceProfile",
+ "iam:GetInstanceProfile",
+ "iam:DeleteInstanceProfile",
+ "iam:RemoveRoleFromInstanceProfile",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs",
+ "kms:DescribeKey",
+ "kms:CreateGrant"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "eks:DeleteCluster",
+ "eks:DescribeCluster"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "eks:ListClusters"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "eks:DescribeCluster"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "iam:PassRole",
+ "eks:UpdateClusterConfig",
+ "eks:UpdateClusterVersion",
+ "eks:DescribeCluster",
+ "eks:DescribeUpdate",
+ "eks:TagResource",
+ "eks:UntagResource"
+ ],
+ "timeoutInMinutes": 180
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Name"
+ ],
+ "properties": {
+ "AccessConfig": {
+ "$ref": "#/definitions/AccessConfig"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "BootstrapSelfManagedAddons": {
+ "type": "boolean"
+ },
+ "CertificateAuthorityData": {
+ "type": "string"
+ },
+ "ClusterSecurityGroupId": {
+ "type": "string"
+ },
+ "EncryptionConfig": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/EncryptionConfig",
+ "maxItems": 1
+ },
+ "type": "array"
+ },
+ "EncryptionConfigKeyArn": {
+ "type": "string"
+ },
+ "Endpoint": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "KubernetesNetworkConfig": {
+ "$ref": "#/definitions/KubernetesNetworkConfig"
+ },
+ "Logging": {
+ "$ref": "#/definitions/Logging"
+ },
+ "Name": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*",
+ "type": "string"
+ },
+ "OpenIdConnectIssuerUrl": {
+ "type": "string"
+ },
+ "OutpostConfig": {
+ "$ref": "#/definitions/OutpostConfig"
+ },
+ "ResourcesVpcConfig": {
+ "$ref": "#/definitions/ResourcesVpcConfig"
+ },
+ "RoleArn": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Version": {
+ "pattern": "1\\.\\d\\d",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/Endpoint",
+ "/properties/CertificateAuthorityData",
+ "/properties/ClusterSecurityGroupId",
+ "/properties/EncryptionConfigKeyArn",
+ "/properties/OpenIdConnectIssuerUrl",
+ "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr"
+ ],
+ "required": [
+ "RoleArn",
+ "ResourcesVpcConfig"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EKS::Cluster",
+ "writeOnlyProperties": [
+ "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions",
+ "/properties/BootstrapSelfManagedAddons"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json
similarity index 97%
rename from src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbcluster.json
rename to src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json
index 3355402afa..6dee021f39 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbcluster.json
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json
@@ -151,6 +151,7 @@
},
"delete": {
"permissions": [
+ "rds:AddTagsToResource",
"rds:CreateDBClusterSnapshot",
"rds:DeleteDBCluster",
"rds:DeleteDBInstance",
@@ -444,6 +445,17 @@
"/properties/StorageThroughput"
],
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "permissions": [
+ "rds:AddTagsToResource",
+ "rds:RemoveTagsFromResource"
+ ],
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
"typeName": "AWS::RDS::DBCluster",
"writeOnlyProperties": [
"/properties/DBInstanceParameterGroupName",
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json
new file mode 100644
index 0000000000..94f443dbfb
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json
@@ -0,0 +1,621 @@
+{
+ "additionalProperties": false,
+ "conditionalCreateOnlyProperties": [
+ "/properties/AutoMinorVersionUpgrade",
+ "/properties/AvailabilityZone",
+ "/properties/BackupRetentionPeriod",
+ "/properties/DBClusterSnapshotIdentifier",
+ "/properties/DBParameterGroupName",
+ "/properties/DBSnapshotIdentifier",
+ "/properties/Engine",
+ "/properties/MultiAZ",
+ "/properties/PerformanceInsightsKMSKeyId",
+ "/properties/PreferredMaintenanceWindow",
+ "/properties/RestoreTime",
+ "/properties/SourceDBClusterIdentifier",
+ "/properties/SourceDBInstanceAutomatedBackupsArn",
+ "/properties/SourceDBInstanceIdentifier",
+ "/properties/SourceDbiResourceId",
+ "/properties/StorageType",
+ "/properties/UseLatestRestorableTime"
+ ],
+ "createOnlyProperties": [
+ "/properties/CharacterSetName",
+ "/properties/CustomIAMInstanceProfile",
+ "/properties/DBClusterIdentifier",
+ "/properties/DBInstanceIdentifier",
+ "/properties/DBName",
+ "/properties/DBSubnetGroupName",
+ "/properties/KmsKeyId",
+ "/properties/MasterUsername",
+ "/properties/NcharCharacterSetName",
+ "/properties/Port",
+ "/properties/SourceRegion",
+ "/properties/StorageEncrypted",
+ "/properties/Timezone"
+ ],
+ "definitions": {
+ "CertificateDetails": {
+ "additionalProperties": false,
+ "properties": {
+ "CAIdentifier": {
+ "type": "string"
+ },
+ "ValidTill": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DBInstanceRole": {
+ "additionalProperties": false,
+ "properties": {
+ "FeatureName": {
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "FeatureName",
+ "RoleArn"
+ ],
+ "type": "object"
+ },
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "HostedZoneId": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "MasterUserSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "SecretArn": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessorFeature": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "enum": [
+ "coreCount",
+ "threadsPerCore"
+ ],
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "dependencies": {
+ "KmsKeyId": {
+ "properties": {
+ "StorageEncrypted": {
+ "enum": [
+ "true",
+ "True",
+ true
+ ]
+ }
+ },
+ "required": [
+ "StorageEncrypted"
+ ]
+ }
+ },
+ "dependentExcluded": {
+ "SourceDBInstanceIdentifier": [
+ "CharacterSetName",
+ "MasterUserPassword",
+ "MasterUsername",
+ "StorageEncrypted"
+ ]
+ },
+ "deprecatedProperties": [
+ "/properties/TdeCredentialArn",
+ "/properties/TdeCredentialPassword"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcAttribute",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "iam:GetRole",
+ "iam:ListRoles",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "rds:AddRoleToDBInstance",
+ "rds:AddTagsToResource",
+ "rds:CreateDBInstance",
+ "rds:CreateDBInstanceReadReplica",
+ "rds:DescribeDBInstances",
+ "rds:DescribeDBClusters",
+ "rds:DescribeDBClusterSnapshots",
+ "rds:DescribeDBInstanceAutomatedBackups",
+ "rds:DescribeDBSnapshots",
+ "rds:DescribeEvents",
+ "rds:ModifyDBInstance",
+ "rds:RebootDBInstance",
+ "rds:RestoreDBInstanceFromDBSnapshot",
+ "rds:RestoreDBInstanceToPointInTime",
+ "rds:StartDBInstanceAutomatedBackupsReplication",
+ "secretsmanager:CreateSecret",
+ "secretsmanager:TagResource"
+ ],
+ "timeoutInMinutes": 2160
+ },
+ "delete": {
+ "permissions": [
+ "rds:AddTagsToResource",
+ "rds:CreateDBSnapshot",
+ "rds:DeleteDBInstance",
+ "rds:DescribeDBInstances"
+ ],
+ "timeoutInMinutes": 2160
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeDBInstances"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcAttribute",
+ "ec2:DescribeVpcs",
+ "rds:DescribeDBInstances"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcAttribute",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "iam:GetRole",
+ "iam:ListRoles",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "rds:AddRoleToDBInstance",
+ "rds:AddTagsToResource",
+ "rds:DescribeDBClusters",
+ "rds:DescribeDBEngineVersions",
+ "rds:DescribeDBInstances",
+ "rds:DescribeDBParameterGroups",
+ "rds:DescribeEvents",
+ "rds:ModifyDBInstance",
+ "rds:PromoteReadReplica",
+ "rds:RebootDBInstance",
+ "rds:RemoveRoleFromDBInstance",
+ "rds:RemoveTagsFromResource",
+ "rds:StartDBInstanceAutomatedBackupsReplication",
+ "rds:StopDBInstanceAutomatedBackupsReplication",
+ "secretsmanager:CreateSecret",
+ "secretsmanager:TagResource"
+ ],
+ "timeoutInMinutes": 2160
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DBInstanceIdentifier"
+ ],
+ "properties": {
+ "AllocatedStorage": {
+ "pattern": "^[0-9]*$",
+ "type": "string"
+ },
+ "AllowMajorVersionUpgrade": {
+ "type": "boolean"
+ },
+ "AssociatedRoles": {
+ "items": {
+ "$ref": "#/definitions/DBInstanceRole"
+ },
+ "type": "array"
+ },
+ "AutoMinorVersionUpgrade": {
+ "type": "boolean"
+ },
+ "AutomaticBackupReplicationKmsKeyId": {
+ "type": "string"
+ },
+ "AutomaticBackupReplicationRegion": {
+ "type": "string"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "BackupRetentionPeriod": {
+ "default": 1,
+ "maximum": 35,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "CACertificateIdentifier": {
+ "type": "string"
+ },
+ "CertificateDetails": {
+ "$ref": "#/definitions/CertificateDetails"
+ },
+ "CertificateRotationRestart": {
+ "type": "boolean"
+ },
+ "CharacterSetName": {
+ "type": "string"
+ },
+ "CopyTagsToSnapshot": {
+ "type": "boolean"
+ },
+ "CustomIAMInstanceProfile": {
+ "type": "string"
+ },
+ "DBClusterIdentifier": {
+ "type": "string"
+ },
+ "DBClusterSnapshotIdentifier": {
+ "type": "string"
+ },
+ "DBInstanceArn": {
+ "type": "string"
+ },
+ "DBInstanceClass": {
+ "type": "string"
+ },
+ "DBInstanceIdentifier": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "DBName": {
+ "type": "string"
+ },
+ "DBParameterGroupName": {
+ "type": "string"
+ },
+ "DBSecurityGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DBSnapshotIdentifier": {
+ "type": "string"
+ },
+ "DBSubnetGroupName": {
+ "type": "string"
+ },
+ "DBSystemId": {
+ "type": "string"
+ },
+ "DbiResourceId": {
+ "type": "string"
+ },
+ "DedicatedLogVolume": {
+ "type": "boolean"
+ },
+ "DeleteAutomatedBackups": {
+ "type": "boolean"
+ },
+ "DeletionProtection": {
+ "type": "boolean"
+ },
+ "Domain": {
+ "type": "string"
+ },
+ "DomainAuthSecretArn": {
+ "type": "string"
+ },
+ "DomainDnsIps": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "DomainFqdn": {
+ "type": "string"
+ },
+ "DomainIAMRoleName": {
+ "type": "string"
+ },
+ "DomainOu": {
+ "type": "string"
+ },
+ "EnableCloudwatchLogsExports": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "EnableIAMDatabaseAuthentication": {
+ "type": "boolean"
+ },
+ "EnablePerformanceInsights": {
+ "type": "boolean"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "Engine": {
+ "type": "string"
+ },
+ "EngineLifecycleSupport": {
+ "type": "string"
+ },
+ "EngineVersion": {
+ "type": "string"
+ },
+ "Iops": {
+ "type": "integer"
+ },
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "LicenseModel": {
+ "type": "string"
+ },
+ "ManageMasterUserPassword": {
+ "type": "boolean"
+ },
+ "MasterUserPassword": {
+ "type": "string"
+ },
+ "MasterUserSecret": {
+ "$ref": "#/definitions/MasterUserSecret"
+ },
+ "MasterUsername": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$",
+ "type": "string"
+ },
+ "MaxAllocatedStorage": {
+ "type": "integer"
+ },
+ "MonitoringInterval": {
+ "default": 0,
+ "type": "integer"
+ },
+ "MonitoringRoleArn": {
+ "type": "string"
+ },
+ "MultiAZ": {
+ "type": "boolean"
+ },
+ "NcharCharacterSetName": {
+ "type": "string"
+ },
+ "NetworkType": {
+ "type": "string"
+ },
+ "OptionGroupName": {
+ "type": "string"
+ },
+ "PerformanceInsightsKMSKeyId": {
+ "type": "string"
+ },
+ "PerformanceInsightsRetentionPeriod": {
+ "enum": [
+ 7,
+ 31,
+ 62,
+ 93,
+ 124,
+ 155,
+ 186,
+ 217,
+ 248,
+ 279,
+ 310,
+ 341,
+ 372,
+ 403,
+ 434,
+ 465,
+ 496,
+ 527,
+ 558,
+ 589,
+ 620,
+ 651,
+ 682,
+ 713,
+ 731
+ ],
+ "type": "integer"
+ },
+ "Port": {
+ "pattern": "^\\d*$",
+ "type": "string"
+ },
+ "PreferredBackupWindow": {
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "type": "string"
+ },
+ "ProcessorFeatures": {
+ "items": {
+ "$ref": "#/definitions/ProcessorFeature"
+ },
+ "type": "array"
+ },
+ "PromotionTier": {
+ "default": 1,
+ "maximum": 15,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "ReplicaMode": {
+ "type": "string"
+ },
+ "RestoreTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "SourceDBClusterIdentifier": {
+ "type": "string"
+ },
+ "SourceDBInstanceAutomatedBackupsArn": {
+ "type": "string"
+ },
+ "SourceDBInstanceIdentifier": {
+ "type": "string"
+ },
+ "SourceDbiResourceId": {
+ "type": "string"
+ },
+ "SourceRegion": {
+ "type": "string"
+ },
+ "StorageEncrypted": {
+ "type": "boolean"
+ },
+ "StorageThroughput": {
+ "type": "integer"
+ },
+ "StorageType": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TdeCredentialArn": {
+ "type": "string"
+ },
+ "TdeCredentialPassword": {
+ "type": "string"
+ },
+ "Timezone": {
+ "type": "string"
+ },
+ "UseDefaultProcessorFeatures": {
+ "type": "boolean"
+ },
+ "UseLatestRestorableTime": {
+ "type": "boolean"
+ },
+ "VPCSecurityGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "propertyTransform": {
+ "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
+ "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)",
+ "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)",
+ "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)",
+ "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)",
+ "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)",
+ "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
+ "/properties/Engine": "$lowercase(Engine)",
+ "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
+ "/properties/NetworkType": "$lowercase(NetworkType)",
+ "/properties/OptionGroupName": "$lowercase(OptionGroupName)",
+ "/properties/PerformanceInsightsKMSKeyId": "$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\\/\", PerformanceInsightsKMSKeyId])",
+ "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)",
+ "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)",
+ "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)",
+ "/properties/StorageType": "$lowercase(StorageType)"
+ },
+ "readOnlyProperties": [
+ "/properties/Endpoint/Address",
+ "/properties/Endpoint/Port",
+ "/properties/Endpoint/HostedZoneId",
+ "/properties/DbiResourceId",
+ "/properties/DBInstanceArn",
+ "/properties/DBSystemId",
+ "/properties/MasterUserSecret/SecretArn",
+ "/properties/CertificateDetails/CAIdentifier",
+ "/properties/CertificateDetails/ValidTill"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "typeName": "AWS::RDS::DBInstance",
+ "writeOnlyProperties": [
+ "/properties/AllowMajorVersionUpgrade",
+ "/properties/AutomaticBackupReplicationKmsKeyId",
+ "/properties/CertificateRotationRestart",
+ "/properties/DBSnapshotIdentifier",
+ "/properties/DeleteAutomatedBackups",
+ "/properties/MasterUserPassword",
+ "/properties/Port",
+ "/properties/RestoreTime",
+ "/properties/SourceDBInstanceAutomatedBackupsArn",
+ "/properties/SourceDBInstanceIdentifier",
+ "/properties/SourceDbiResourceId",
+ "/properties/SourceRegion",
+ "/properties/TdeCredentialPassword",
+ "/properties/UseDefaultProcessorFeatures",
+ "/properties/UseLatestRestorableTime"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-mlflowtrackingserver.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-mlflowtrackingserver.json
deleted file mode 100644
index 84791991d5..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-mlflowtrackingserver.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/MlflowVersion",
- "/properties/RoleArn"
- ],
- "createOnlyProperties": [
- "/properties/TrackingServerName"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "sagemaker:CreateMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:AddTags",
- "sagemaker:ListTags",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 65
- },
- "delete": {
- "permissions": [
- "sagemaker:DeleteMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer"
- ],
- "timeoutInMinutes": 65
- },
- "list": {
- "permissions": [
- "sagemaker:ListMlflowTrackingServers"
- ]
- },
- "read": {
- "permissions": [
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:ListTags"
- ]
- },
- "update": {
- "permissions": [
- "sagemaker:UpdateMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:ListTags",
- "sagemaker:AddTags",
- "sagemaker:DeleteTags",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 65
- }
- },
- "primaryIdentifier": [
- "/properties/TrackingServerName"
- ],
- "properties": {
- "ArtifactStoreUri": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^s3:\\/\\/([^\\/]+)\\/?(.*)$",
- "type": "string"
- },
- "AutomaticModelRegistration": {
- "type": "boolean"
- },
- "MlflowVersion": {
- "maxLength": 32,
- "minLength": 1,
- "pattern": "^\\d+(\\.\\d+)+$",
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role\\/?[a-zA-Z_0-9+=,.@\\-_\\/]+$",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TrackingServerArn": {
- "maxLength": 2048,
- "pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:mlflow-tracking-server/.*$",
- "type": "string"
- },
- "TrackingServerName": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,255}$",
- "type": "string"
- },
- "TrackingServerSize": {
- "enum": [
- "Small",
- "Medium",
- "Large"
- ],
- "type": "string"
- },
- "WeeklyMaintenanceWindowStart": {
- "maxLength": 9,
- "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\\d|2[0-3]):([0-5]\\d)$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/TrackingServerArn"
- ],
- "required": [
- "TrackingServerName",
- "ArtifactStoreUri",
- "RoleArn"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "permissions": [
- "sagemaker:AddTags",
- "sagemaker:ListTags",
- "sagemaker:DeleteTags"
- ],
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::SageMaker::MlflowTrackingServer"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-secretsmanager-resourcepolicy.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-secretsmanager-resourcepolicy.json
new file mode 100644
index 0000000000..a180fbf483
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-secretsmanager-resourcepolicy.json
@@ -0,0 +1,73 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SecretId"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "secretsmanager:PutResourcePolicy",
+ "secretsmanager:GetResourcePolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "secretsmanager:DeleteResourcePolicy",
+ "secretsmanager:GetResourcePolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "secretsmanager:GetResourcePolicy",
+ "secretsmanager:ListSecrets"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "secretsmanager:GetResourcePolicy"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "secretsmanager:PutResourcePolicy",
+ "secretsmanager:GetResourcePolicy"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "BlockPublicPolicy": {
+ "type": "boolean"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "ResourcePolicy": {
+ "type": [
+ "string",
+ "object"
+ ]
+ },
+ "SecretId": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "ResourcePolicy",
+ "SecretId"
+ ],
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::SecretsManager::ResourcePolicy",
+ "writeOnlyProperties": [
+ "/properties/BlockPublicPolicy"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-shield-protectiongroup.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-shield-protectiongroup.json
new file mode 100644
index 0000000000..5feda49337
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-shield-protectiongroup.json
@@ -0,0 +1,141 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ProtectionGroupId"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "shield:CreateProtectionGroup",
+ "shield:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "shield:DeleteProtectionGroup",
+ "shield:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "shield:ListProtectionGroups"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "shield:DescribeProtectionGroup",
+ "shield:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "shield:UpdateProtectionGroup",
+ "shield:ListTagsForResource",
+ "shield:TagResource",
+ "shield:UntagResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ProtectionGroupArn"
+ ],
+ "properties": {
+ "Aggregation": {
+ "enum": [
+ "SUM",
+ "MEAN",
+ "MAX"
+ ],
+ "type": "string"
+ },
+ "Members": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 10000,
+ "type": "array"
+ },
+ "Pattern": {
+ "enum": [
+ "ALL",
+ "ARBITRARY",
+ "BY_RESOURCE_TYPE"
+ ],
+ "type": "string"
+ },
+ "ProtectionGroupArn": {
+ "type": "string"
+ },
+ "ProtectionGroupId": {
+ "maxLength": 36,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\-]*",
+ "type": "string"
+ },
+ "ResourceType": {
+ "enum": [
+ "CLOUDFRONT_DISTRIBUTION",
+ "ROUTE_53_HOSTED_ZONE",
+ "ELASTIC_IP_ALLOCATION",
+ "CLASSIC_LOAD_BALANCER",
+ "APPLICATION_LOAD_BALANCER",
+ "GLOBAL_ACCELERATOR"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ProtectionGroupArn"
+ ],
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "Aggregation",
+ "Pattern",
+ "ProtectionGroupId"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-shield.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "permissions": [
+ "shield:ListTagsForResource",
+ "shield:UntagResource",
+ "shield:TagResource"
+ ],
+ "tagProperty": "/properties/Tags",
+ "taggable": true
+ },
+ "typeName": "AWS::Shield::ProtectionGroup"
+}
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 01cc7b7f04..3618b47855 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py
@@ -40,8 +40,11 @@
"AWS::ApiGatewayV2::Model",
"AWS::ApiGatewayV2::Route",
"AWS::ApiGatewayV2::RouteResponse",
+ "AWS::ApiGatewayV2::Stage",
"AWS::AppConfig::Application",
"AWS::AppConfig::ConfigurationProfile",
+ "AWS::AppConfig::Deployment",
+ "AWS::AppConfig::DeploymentStrategy",
"AWS::AppConfig::Environment",
"AWS::AppConfig::Extension",
"AWS::AppConfig::ExtensionAssociation",
@@ -113,10 +116,14 @@
"AWS::CloudTrail::EventDataStore",
"AWS::CloudTrail::Trail",
"AWS::CloudWatch::Alarm",
+ "AWS::CloudWatch::AnomalyDetector",
"AWS::CloudWatch::CompositeAlarm",
"AWS::CloudWatch::Dashboard",
"AWS::CloudWatch::InsightRule",
"AWS::CloudWatch::MetricStream",
+ "AWS::CodeBuild::Project",
+ "AWS::CodeBuild::ReportGroup",
+ "AWS::CodeBuild::SourceCredential",
"AWS::CodeDeploy::Application",
"AWS::CodeDeploy::DeploymentConfig",
"AWS::CodeDeploy::DeploymentGroup",
@@ -138,10 +145,12 @@
"AWS::Config::ConfigurationAggregator",
"AWS::Config::ConfigurationRecorder",
"AWS::Config::DeliveryChannel",
+ "AWS::Config::OrganizationConfigRule",
"AWS::Config::StoredQuery",
"AWS::ControlTower::EnabledBaseline",
"AWS::ControlTower::EnabledControl",
"AWS::ControlTower::LandingZone",
+ "AWS::DLM::LifecyclePolicy",
"AWS::DMS::DataProvider",
"AWS::DMS::InstanceProfile",
"AWS::DMS::MigrationProject",
@@ -165,6 +174,10 @@
"AWS::DynamoDB::Table",
"AWS::EC2::CapacityReservation",
"AWS::EC2::CapacityReservationFleet",
+ "AWS::EC2::ClientVpnAuthorizationRule",
+ "AWS::EC2::ClientVpnEndpoint",
+ "AWS::EC2::ClientVpnRoute",
+ "AWS::EC2::ClientVpnTargetNetworkAssociation",
"AWS::EC2::CustomerGateway",
"AWS::EC2::DHCPOptions",
"AWS::EC2::EC2Fleet",
@@ -206,6 +219,10 @@
"AWS::EC2::SubnetCidrBlock",
"AWS::EC2::SubnetNetworkAclAssociation",
"AWS::EC2::SubnetRouteTableAssociation",
+ "AWS::EC2::TrafficMirrorFilter",
+ "AWS::EC2::TrafficMirrorFilterRule",
+ "AWS::EC2::TrafficMirrorSession",
+ "AWS::EC2::TrafficMirrorTarget",
"AWS::EC2::TransitGateway",
"AWS::EC2::TransitGatewayAttachment",
"AWS::EC2::TransitGatewayConnect",
@@ -293,11 +310,16 @@
"AWS::Events::Archive",
"AWS::Events::Connection",
"AWS::Events::EventBus",
+ "AWS::Events::EventBusPolicy",
"AWS::Events::Rule",
"AWS::FMS::NotificationChannel",
"AWS::FMS::Policy",
"AWS::FMS::ResourceSet",
"AWS::FSx::DataRepositoryAssociation",
+ "AWS::FSx::FileSystem",
+ "AWS::FSx::Snapshot",
+ "AWS::FSx::StorageVirtualMachine",
+ "AWS::FSx::Volume",
"AWS::GameLift::Alias",
"AWS::GameLift::Build",
"AWS::GameLift::Fleet",
@@ -308,6 +330,7 @@
"AWS::Glue::Classifier",
"AWS::Glue::Connection",
"AWS::Glue::Crawler",
+ "AWS::Glue::CustomEntityType",
"AWS::Glue::DataCatalogEncryptionSettings",
"AWS::Glue::DataQualityRuleset",
"AWS::Glue::Database",
@@ -437,6 +460,7 @@
"AWS::QuickSight::Theme",
"AWS::QuickSight::VPCConnection",
"AWS::RAM::Permission",
+ "AWS::RAM::ResourceShare",
"AWS::RDS::DBCluster",
"AWS::RDS::DBClusterParameterGroup",
"AWS::RDS::DBInstance",
@@ -552,6 +576,11 @@
"AWS::ServiceCatalogAppRegistry::AttributeGroup",
"AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation",
"AWS::ServiceCatalogAppRegistry::ResourceAssociation",
+ "AWS::ServiceDiscovery::HttpNamespace",
+ "AWS::ServiceDiscovery::Instance",
+ "AWS::ServiceDiscovery::PrivateDnsNamespace",
+ "AWS::ServiceDiscovery::PublicDnsNamespace",
+ "AWS::ServiceDiscovery::Service",
"AWS::Shield::DRTAccess",
"AWS::Shield::ProactiveEngagement",
"AWS::Shield::Protection",
@@ -611,8 +640,11 @@
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
"aws-apigatewayv2-routeresponse.json",
+ "aws-apigatewayv2-stage.json",
"aws-appconfig-application.json",
"aws-appconfig-configurationprofile.json",
+ "aws-appconfig-deployment.json",
+ "aws-appconfig-deploymentstrategy.json",
"aws-appconfig-environment.json",
"aws-appconfig-extension.json",
"aws-appconfig-extensionassociation.json",
@@ -683,8 +715,13 @@
"aws-cloudtrail-eventdatastore.json",
"aws-cloudtrail-trail.json",
"aws-cloudwatch-alarm.json",
+ "aws-cloudwatch-anomalydetector.json",
"aws-cloudwatch-compositealarm.json",
+ "aws-cloudwatch-dashboard.json",
"aws-cloudwatch-insightrule.json",
+ "aws-codebuild-project.json",
+ "aws-codebuild-reportgroup.json",
+ "aws-codebuild-sourcecredential.json",
"aws-codedeploy-application.json",
"aws-codedeploy-deploymentconfig.json",
"aws-codedeploy-deploymentgroup.json",
@@ -705,8 +742,10 @@
"aws-config-configurationaggregator.json",
"aws-config-configurationrecorder.json",
"aws-config-deliverychannel.json",
+ "aws-config-organizationconfigrule.json",
"aws-config-storedquery.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-datasync-agent.json",
"aws-datasync-locationazureblob.json",
@@ -720,6 +759,7 @@
"aws-datasync-locations3.json",
"aws-datasync-locationsmb.json",
"aws-datasync-task.json",
+ "aws-dlm-lifecyclepolicy.json",
"aws-dms-dataprovider.json",
"aws-dms-instanceprofile.json",
"aws-dms-migrationproject.json",
@@ -728,6 +768,9 @@
"aws-dynamodb-table.json",
"aws-ec2-capacityreservation.json",
"aws-ec2-capacityreservationfleet.json",
+ "aws-ec2-clientvpnendpoint.json",
+ "aws-ec2-clientvpnroute.json",
+ "aws-ec2-clientvpntargetnetworkassociation.json",
"aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
@@ -766,6 +809,8 @@
"aws-ec2-subnetcidrblock.json",
"aws-ec2-subnetnetworkaclassociation.json",
"aws-ec2-subnetroutetableassociation.json",
+ "aws-ec2-trafficmirrorfilter.json",
+ "aws-ec2-trafficmirrortarget.json",
"aws-ec2-transitgateway.json",
"aws-ec2-transitgatewayconnect.json",
"aws-ec2-transitgatewaymulticastdomain.json",
@@ -837,6 +882,7 @@
"aws-events-archive.json",
"aws-events-connection.json",
"aws-events-eventbus.json",
+ "aws-events-eventbuspolicy.json",
"aws-events-rule.json",
"aws-eventschemas-discoverer.json",
"aws-eventschemas-registry.json",
@@ -846,6 +892,10 @@
"aws-fms-policy.json",
"aws-fms-resourceset.json",
"aws-fsx-datarepositoryassociation.json",
+ "aws-fsx-filesystem.json",
+ "aws-fsx-snapshot.json",
+ "aws-fsx-storagevirtualmachine.json",
+ "aws-fsx-volume.json",
"aws-globalaccelerator-accelerator.json",
"aws-globalaccelerator-crossaccountattachment.json",
"aws-globalaccelerator-endpointgroup.json",
@@ -853,6 +903,7 @@
"aws-glue-classifier.json",
"aws-glue-connection.json",
"aws-glue-crawler.json",
+ "aws-glue-customentitytype.json",
"aws-glue-database.json",
"aws-glue-datacatalogencryptionsettings.json",
"aws-glue-dataqualityruleset.json",
@@ -874,6 +925,7 @@
"aws-iam-group.json",
"aws-iam-grouppolicy.json",
"aws-iam-instanceprofile.json",
+ "aws-iam-oidcprovider.json",
"aws-iam-policy.json",
"aws-iam-role.json",
"aws-iam-rolepolicy.json",
@@ -966,6 +1018,8 @@
"aws-quicksight-theme.json",
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
+ "aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -1051,6 +1105,11 @@
"aws-servicecatalogappregistry-attributegroup.json",
"aws-servicecatalogappregistry-attributegroupassociation.json",
"aws-servicecatalogappregistry-resourceassociation.json",
+ "aws-servicediscovery-httpnamespace.json",
+ "aws-servicediscovery-instance.json",
+ "aws-servicediscovery-privatednsnamespace.json",
+ "aws-servicediscovery-publicdnsnamespace.json",
+ "aws-servicediscovery-service.json",
"aws-shield-drtaccess.json",
"aws-shield-proactiveengagement.json",
"aws-shield-protection.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-clientvpnauthorizationrule.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-clientvpnauthorizationrule.json
new file mode 100644
index 0000000000..a47ceaa39c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-clientvpnauthorizationrule.json
@@ -0,0 +1,41 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ClientVpnEndpointId",
+ "/properties/AccessGroupId",
+ "/properties/TargetNetworkCidr",
+ "/properties/AuthorizeAllGroups",
+ "/properties/Description"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AccessGroupId": {
+ "type": "string"
+ },
+ "AuthorizeAllGroups": {
+ "type": "boolean"
+ },
+ "ClientVpnEndpointId": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "TargetNetworkCidr": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "ClientVpnEndpointId",
+ "TargetNetworkCidr"
+ ],
+ "typeName": "AWS::EC2::ClientVpnAuthorizationRule"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-trafficmirrorfilterrule.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-trafficmirrorfilterrule.json
new file mode 100644
index 0000000000..95028d4c8a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-trafficmirrorfilterrule.json
@@ -0,0 +1,74 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/TrafficMirrorFilterId"
+ ],
+ "definitions": {
+ "TrafficMirrorPortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "FromPort": {
+ "type": "integer"
+ },
+ "ToPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FromPort",
+ "ToPort"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Description": {
+ "type": "string"
+ },
+ "DestinationCidrBlock": {
+ "type": "string"
+ },
+ "DestinationPortRange": {
+ "$ref": "#/definitions/TrafficMirrorPortRange"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Protocol": {
+ "type": "integer"
+ },
+ "RuleAction": {
+ "type": "string"
+ },
+ "RuleNumber": {
+ "type": "integer"
+ },
+ "SourceCidrBlock": {
+ "type": "string"
+ },
+ "SourcePortRange": {
+ "$ref": "#/definitions/TrafficMirrorPortRange"
+ },
+ "TrafficDirection": {
+ "type": "string"
+ },
+ "TrafficMirrorFilterId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "RuleAction",
+ "SourceCidrBlock",
+ "RuleNumber",
+ "DestinationCidrBlock",
+ "TrafficMirrorFilterId",
+ "TrafficDirection"
+ ],
+ "typeName": "AWS::EC2::TrafficMirrorFilterRule"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-trafficmirrorsession.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-trafficmirrorsession.json
new file mode 100644
index 0000000000..bb62feb445
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-trafficmirrorsession.json
@@ -0,0 +1,70 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/NetworkInterfaceId"
+ ],
+ "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"
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PacketLength": {
+ "type": "integer"
+ },
+ "SessionNumber": {
+ "type": "integer"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrafficMirrorFilterId": {
+ "type": "string"
+ },
+ "TrafficMirrorTargetId": {
+ "type": "string"
+ },
+ "VirtualNetworkId": {
+ "type": "integer"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "TrafficMirrorTargetId",
+ "SessionNumber",
+ "NetworkInterfaceId",
+ "TrafficMirrorFilterId"
+ ],
+ "typeName": "AWS::EC2::TrafficMirrorSession"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-iam-oidcprovider.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-iam-oidcprovider.json
deleted file mode 100644
index 1794a452ca..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-iam-oidcprovider.json
+++ /dev/null
@@ -1,120 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Url"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateOpenIDConnectProvider",
- "iam:TagOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "delete": {
- "permissions": [
- "iam:DeleteOpenIDConnectProvider"
- ]
- },
- "list": {
- "permissions": [
- "iam:ListOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "read": {
- "permissions": [
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "update": {
- "permissions": [
- "iam:UpdateOpenIDConnectProviderThumbprint",
- "iam:RemoveClientIDFromOpenIDConnectProvider",
- "iam:AddClientIDToOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider",
- "iam:TagOpenIDConnectProvider",
- "iam:UntagOpenIDConnectProvider",
- "iam:ListOpenIDConnectProviderTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 20,
- "type": "string"
- },
- "ClientIdList": {
- "insertionOrder": false,
- "items": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- },
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "ThumbprintList": {
- "insertionOrder": false,
- "items": {
- "maxLength": 40,
- "minLength": 40,
- "pattern": "[0-9A-Fa-f]{40}",
- "type": "string"
- },
- "maxItems": 5,
- "type": "array"
- },
- "Url": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "ThumbprintList"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::IAM::OIDCProvider"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/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_north_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py
index 3698d15ec9..e7ddfa732d 100644
--- a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py
@@ -837,6 +837,7 @@
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceComponent",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelBiasJobDefinition",
"AWS::SageMaker::ModelCard",
@@ -1170,6 +1171,7 @@
"aws-config-remediationconfiguration.json",
"aws-config-storedquery.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-databrew-dataset.json",
"aws-databrew-job.json",
@@ -1595,6 +1597,7 @@
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-neptune-eventsubscription.json",
"aws-networkfirewall-firewall.json",
@@ -1649,6 +1652,7 @@
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
"aws-rds-customdbengineversion.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -1737,6 +1741,7 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/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_south_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py
index 4be0d7817c..4baca81251 100644
--- a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py
@@ -671,6 +671,7 @@
"AWS::SageMaker::Image",
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelCard",
"AWS::SageMaker::ModelPackage",
@@ -953,6 +954,7 @@
"aws-config-remediationconfiguration.json",
"aws-config-storedquery.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-databrew-dataset.json",
"aws-databrew-job.json",
@@ -1182,6 +1184,7 @@
"aws-iam-group.json",
"aws-iam-grouppolicy.json",
"aws-iam-instanceprofile.json",
+ "aws-iam-oidcprovider.json",
"aws-iam-policy.json",
"aws-iam-role.json",
"aws-iam-rolepolicy.json",
@@ -1300,6 +1303,7 @@
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -1372,6 +1376,7 @@
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelpackage.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-iam-oidcprovider.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-iam-oidcprovider.json
deleted file mode 100644
index 1794a452ca..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-iam-oidcprovider.json
+++ /dev/null
@@ -1,120 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Url"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateOpenIDConnectProvider",
- "iam:TagOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "delete": {
- "permissions": [
- "iam:DeleteOpenIDConnectProvider"
- ]
- },
- "list": {
- "permissions": [
- "iam:ListOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "read": {
- "permissions": [
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "update": {
- "permissions": [
- "iam:UpdateOpenIDConnectProviderThumbprint",
- "iam:RemoveClientIDFromOpenIDConnectProvider",
- "iam:AddClientIDToOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider",
- "iam:TagOpenIDConnectProvider",
- "iam:UntagOpenIDConnectProvider",
- "iam:ListOpenIDConnectProviderTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 20,
- "type": "string"
- },
- "ClientIdList": {
- "insertionOrder": false,
- "items": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- },
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "ThumbprintList": {
- "insertionOrder": false,
- "items": {
- "maxLength": 40,
- "minLength": 40,
- "pattern": "[0-9A-Fa-f]{40}",
- "type": "string"
- },
- "maxItems": 5,
- "type": "array"
- },
- "Url": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "ThumbprintList"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::IAM::OIDCProvider"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/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_south_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py
index b180759f15..0cd11dcf9d 100644
--- a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py
@@ -40,8 +40,11 @@
"AWS::ApiGatewayV2::Model",
"AWS::ApiGatewayV2::Route",
"AWS::ApiGatewayV2::RouteResponse",
+ "AWS::ApiGatewayV2::Stage",
"AWS::AppConfig::Application",
"AWS::AppConfig::ConfigurationProfile",
+ "AWS::AppConfig::Deployment",
+ "AWS::AppConfig::DeploymentStrategy",
"AWS::AppConfig::Environment",
"AWS::AppConfig::Extension",
"AWS::AppConfig::ExtensionAssociation",
@@ -114,10 +117,14 @@
"AWS::CloudTrail::EventDataStore",
"AWS::CloudTrail::Trail",
"AWS::CloudWatch::Alarm",
+ "AWS::CloudWatch::AnomalyDetector",
"AWS::CloudWatch::CompositeAlarm",
"AWS::CloudWatch::Dashboard",
"AWS::CloudWatch::InsightRule",
"AWS::CloudWatch::MetricStream",
+ "AWS::CodeBuild::Project",
+ "AWS::CodeBuild::ReportGroup",
+ "AWS::CodeBuild::SourceCredential",
"AWS::CodeDeploy::Application",
"AWS::CodeDeploy::DeploymentConfig",
"AWS::CodeDeploy::DeploymentGroup",
@@ -138,10 +145,12 @@
"AWS::Config::ConfigurationAggregator",
"AWS::Config::ConfigurationRecorder",
"AWS::Config::DeliveryChannel",
+ "AWS::Config::OrganizationConfigRule",
"AWS::Config::StoredQuery",
"AWS::ControlTower::EnabledBaseline",
"AWS::ControlTower::EnabledControl",
"AWS::ControlTower::LandingZone",
+ "AWS::DLM::LifecyclePolicy",
"AWS::DMS::DataProvider",
"AWS::DMS::InstanceProfile",
"AWS::DMS::MigrationProject",
@@ -165,6 +174,10 @@
"AWS::DynamoDB::Table",
"AWS::EC2::CapacityReservation",
"AWS::EC2::CapacityReservationFleet",
+ "AWS::EC2::ClientVpnAuthorizationRule",
+ "AWS::EC2::ClientVpnEndpoint",
+ "AWS::EC2::ClientVpnRoute",
+ "AWS::EC2::ClientVpnTargetNetworkAssociation",
"AWS::EC2::CustomerGateway",
"AWS::EC2::DHCPOptions",
"AWS::EC2::EC2Fleet",
@@ -206,6 +219,10 @@
"AWS::EC2::SubnetCidrBlock",
"AWS::EC2::SubnetNetworkAclAssociation",
"AWS::EC2::SubnetRouteTableAssociation",
+ "AWS::EC2::TrafficMirrorFilter",
+ "AWS::EC2::TrafficMirrorFilterRule",
+ "AWS::EC2::TrafficMirrorSession",
+ "AWS::EC2::TrafficMirrorTarget",
"AWS::EC2::TransitGateway",
"AWS::EC2::TransitGatewayAttachment",
"AWS::EC2::TransitGatewayConnect",
@@ -293,6 +310,7 @@
"AWS::Events::Archive",
"AWS::Events::Connection",
"AWS::Events::EventBus",
+ "AWS::Events::EventBusPolicy",
"AWS::Events::Rule",
"AWS::FIS::ExperimentTemplate",
"AWS::FIS::TargetAccountConfiguration",
@@ -300,6 +318,10 @@
"AWS::FMS::Policy",
"AWS::FMS::ResourceSet",
"AWS::FSx::DataRepositoryAssociation",
+ "AWS::FSx::FileSystem",
+ "AWS::FSx::Snapshot",
+ "AWS::FSx::StorageVirtualMachine",
+ "AWS::FSx::Volume",
"AWS::GameLift::Alias",
"AWS::GameLift::Build",
"AWS::GameLift::Fleet",
@@ -310,6 +332,7 @@
"AWS::Glue::Classifier",
"AWS::Glue::Connection",
"AWS::Glue::Crawler",
+ "AWS::Glue::CustomEntityType",
"AWS::Glue::DataCatalogEncryptionSettings",
"AWS::Glue::DataQualityRuleset",
"AWS::Glue::Database",
@@ -431,6 +454,7 @@
"AWS::PCAConnectorAD::TemplateGroupAccessControlEntry",
"AWS::Pipes::Pipe",
"AWS::RAM::Permission",
+ "AWS::RAM::ResourceShare",
"AWS::RDS::DBCluster",
"AWS::RDS::DBClusterParameterGroup",
"AWS::RDS::DBInstance",
@@ -517,6 +541,7 @@
"AWS::SageMaker::FeatureGroup",
"AWS::SageMaker::Image",
"AWS::SageMaker::ImageVersion",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::ModelCard",
"AWS::SageMaker::ModelPackage",
"AWS::SageMaker::ModelPackageGroup",
@@ -556,6 +581,11 @@
"AWS::ServiceCatalogAppRegistry::AttributeGroup",
"AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation",
"AWS::ServiceCatalogAppRegistry::ResourceAssociation",
+ "AWS::ServiceDiscovery::HttpNamespace",
+ "AWS::ServiceDiscovery::Instance",
+ "AWS::ServiceDiscovery::PrivateDnsNamespace",
+ "AWS::ServiceDiscovery::PublicDnsNamespace",
+ "AWS::ServiceDiscovery::Service",
"AWS::Shield::DRTAccess",
"AWS::Shield::ProactiveEngagement",
"AWS::Shield::Protection",
@@ -615,8 +645,11 @@
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
"aws-apigatewayv2-routeresponse.json",
+ "aws-apigatewayv2-stage.json",
"aws-appconfig-application.json",
"aws-appconfig-configurationprofile.json",
+ "aws-appconfig-deployment.json",
+ "aws-appconfig-deploymentstrategy.json",
"aws-appconfig-environment.json",
"aws-appconfig-extension.json",
"aws-appconfig-extensionassociation.json",
@@ -688,10 +721,14 @@
"aws-cloudtrail-eventdatastore.json",
"aws-cloudtrail-trail.json",
"aws-cloudwatch-alarm.json",
+ "aws-cloudwatch-anomalydetector.json",
"aws-cloudwatch-compositealarm.json",
"aws-cloudwatch-dashboard.json",
"aws-cloudwatch-insightrule.json",
"aws-cloudwatch-metricstream.json",
+ "aws-codebuild-project.json",
+ "aws-codebuild-reportgroup.json",
+ "aws-codebuild-sourcecredential.json",
"aws-codedeploy-application.json",
"aws-codedeploy-deploymentconfig.json",
"aws-codedeploy-deploymentgroup.json",
@@ -711,6 +748,7 @@
"aws-config-configurationaggregator.json",
"aws-config-configurationrecorder.json",
"aws-config-deliverychannel.json",
+ "aws-config-organizationconfigrule.json",
"aws-config-storedquery.json",
"aws-controltower-enabledbaseline.json",
"aws-controltower-landingzone.json",
@@ -726,6 +764,7 @@
"aws-datasync-locations3.json",
"aws-datasync-locationsmb.json",
"aws-datasync-task.json",
+ "aws-dlm-lifecyclepolicy.json",
"aws-dms-dataprovider.json",
"aws-dms-instanceprofile.json",
"aws-dms-migrationproject.json",
@@ -734,6 +773,9 @@
"aws-dynamodb-table.json",
"aws-ec2-capacityreservation.json",
"aws-ec2-capacityreservationfleet.json",
+ "aws-ec2-clientvpnendpoint.json",
+ "aws-ec2-clientvpnroute.json",
+ "aws-ec2-clientvpntargetnetworkassociation.json",
"aws-ec2-customergateway.json",
"aws-ec2-dhcpoptions.json",
"aws-ec2-ec2fleet.json",
@@ -772,6 +814,8 @@
"aws-ec2-subnetcidrblock.json",
"aws-ec2-subnetnetworkaclassociation.json",
"aws-ec2-subnetroutetableassociation.json",
+ "aws-ec2-trafficmirrorfilter.json",
+ "aws-ec2-trafficmirrortarget.json",
"aws-ec2-transitgateway.json",
"aws-ec2-transitgatewayconnect.json",
"aws-ec2-transitgatewaymulticastdomain.json",
@@ -845,6 +889,7 @@
"aws-events-archive.json",
"aws-events-connection.json",
"aws-events-eventbus.json",
+ "aws-events-eventbuspolicy.json",
"aws-events-rule.json",
"aws-eventschemas-discoverer.json",
"aws-eventschemas-registry.json",
@@ -856,6 +901,10 @@
"aws-fms-policy.json",
"aws-fms-resourceset.json",
"aws-fsx-datarepositoryassociation.json",
+ "aws-fsx-filesystem.json",
+ "aws-fsx-snapshot.json",
+ "aws-fsx-storagevirtualmachine.json",
+ "aws-fsx-volume.json",
"aws-globalaccelerator-accelerator.json",
"aws-globalaccelerator-crossaccountattachment.json",
"aws-globalaccelerator-endpointgroup.json",
@@ -863,6 +912,7 @@
"aws-glue-classifier.json",
"aws-glue-connection.json",
"aws-glue-crawler.json",
+ "aws-glue-customentitytype.json",
"aws-glue-database.json",
"aws-glue-datacatalogencryptionsettings.json",
"aws-glue-dataqualityruleset.json",
@@ -970,6 +1020,7 @@
"aws-pcaconnectorad-templategroupaccesscontrolentry.json",
"aws-pipes-pipe.json",
"aws-ram-permission.json",
+ "aws-ram-resourceshare.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -1032,6 +1083,7 @@
"aws-sagemaker-featuregroup.json",
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelpackage.json",
"aws-sagemaker-modelpackagegroup.json",
@@ -1066,6 +1118,11 @@
"aws-servicecatalogappregistry-attributegroup.json",
"aws-servicecatalogappregistry-attributegroupassociation.json",
"aws-servicecatalogappregistry-resourceassociation.json",
+ "aws-servicediscovery-httpnamespace.json",
+ "aws-servicediscovery-instance.json",
+ "aws-servicediscovery-privatednsnamespace.json",
+ "aws-servicediscovery-publicdnsnamespace.json",
+ "aws-servicediscovery-service.json",
"aws-shield-drtaccess.json",
"aws-shield-proactiveengagement.json",
"aws-shield-protection.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-clientvpnauthorizationrule.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-clientvpnauthorizationrule.json
new file mode 100644
index 0000000000..a47ceaa39c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-clientvpnauthorizationrule.json
@@ -0,0 +1,41 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ClientVpnEndpointId",
+ "/properties/AccessGroupId",
+ "/properties/TargetNetworkCidr",
+ "/properties/AuthorizeAllGroups",
+ "/properties/Description"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AccessGroupId": {
+ "type": "string"
+ },
+ "AuthorizeAllGroups": {
+ "type": "boolean"
+ },
+ "ClientVpnEndpointId": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "TargetNetworkCidr": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "ClientVpnEndpointId",
+ "TargetNetworkCidr"
+ ],
+ "typeName": "AWS::EC2::ClientVpnAuthorizationRule"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-trafficmirrorfilterrule.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-trafficmirrorfilterrule.json
new file mode 100644
index 0000000000..95028d4c8a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-trafficmirrorfilterrule.json
@@ -0,0 +1,74 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/TrafficMirrorFilterId"
+ ],
+ "definitions": {
+ "TrafficMirrorPortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "FromPort": {
+ "type": "integer"
+ },
+ "ToPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FromPort",
+ "ToPort"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Description": {
+ "type": "string"
+ },
+ "DestinationCidrBlock": {
+ "type": "string"
+ },
+ "DestinationPortRange": {
+ "$ref": "#/definitions/TrafficMirrorPortRange"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Protocol": {
+ "type": "integer"
+ },
+ "RuleAction": {
+ "type": "string"
+ },
+ "RuleNumber": {
+ "type": "integer"
+ },
+ "SourceCidrBlock": {
+ "type": "string"
+ },
+ "SourcePortRange": {
+ "$ref": "#/definitions/TrafficMirrorPortRange"
+ },
+ "TrafficDirection": {
+ "type": "string"
+ },
+ "TrafficMirrorFilterId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "RuleAction",
+ "SourceCidrBlock",
+ "RuleNumber",
+ "DestinationCidrBlock",
+ "TrafficMirrorFilterId",
+ "TrafficDirection"
+ ],
+ "typeName": "AWS::EC2::TrafficMirrorFilterRule"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-trafficmirrorsession.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-trafficmirrorsession.json
new file mode 100644
index 0000000000..bb62feb445
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-trafficmirrorsession.json
@@ -0,0 +1,70 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/NetworkInterfaceId"
+ ],
+ "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"
+ },
+ "NetworkInterfaceId": {
+ "type": "string"
+ },
+ "PacketLength": {
+ "type": "integer"
+ },
+ "SessionNumber": {
+ "type": "integer"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TrafficMirrorFilterId": {
+ "type": "string"
+ },
+ "TrafficMirrorTargetId": {
+ "type": "string"
+ },
+ "VirtualNetworkId": {
+ "type": "integer"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "TrafficMirrorTargetId",
+ "SessionNumber",
+ "NetworkInterfaceId",
+ "TrafficMirrorFilterId"
+ ],
+ "typeName": "AWS::EC2::TrafficMirrorSession"
+}
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 fb06bc1b42..8b2b33fde2 100644
--- a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py
@@ -2007,6 +2007,7 @@
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbclusterparametergroup.json",
"aws-neptune-dbinstance.json",
"aws-neptune-dbparametergroup.json",
@@ -2214,6 +2215,7 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-mlflowtrackingserver.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-mlflowtrackingserver.json
deleted file mode 100644
index 84791991d5..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-mlflowtrackingserver.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/MlflowVersion",
- "/properties/RoleArn"
- ],
- "createOnlyProperties": [
- "/properties/TrackingServerName"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "sagemaker:CreateMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:AddTags",
- "sagemaker:ListTags",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 65
- },
- "delete": {
- "permissions": [
- "sagemaker:DeleteMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer"
- ],
- "timeoutInMinutes": 65
- },
- "list": {
- "permissions": [
- "sagemaker:ListMlflowTrackingServers"
- ]
- },
- "read": {
- "permissions": [
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:ListTags"
- ]
- },
- "update": {
- "permissions": [
- "sagemaker:UpdateMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:ListTags",
- "sagemaker:AddTags",
- "sagemaker:DeleteTags",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 65
- }
- },
- "primaryIdentifier": [
- "/properties/TrackingServerName"
- ],
- "properties": {
- "ArtifactStoreUri": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^s3:\\/\\/([^\\/]+)\\/?(.*)$",
- "type": "string"
- },
- "AutomaticModelRegistration": {
- "type": "boolean"
- },
- "MlflowVersion": {
- "maxLength": 32,
- "minLength": 1,
- "pattern": "^\\d+(\\.\\d+)+$",
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role\\/?[a-zA-Z_0-9+=,.@\\-_\\/]+$",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TrackingServerArn": {
- "maxLength": 2048,
- "pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:mlflow-tracking-server/.*$",
- "type": "string"
- },
- "TrackingServerName": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,255}$",
- "type": "string"
- },
- "TrackingServerSize": {
- "enum": [
- "Small",
- "Medium",
- "Large"
- ],
- "type": "string"
- },
- "WeeklyMaintenanceWindowStart": {
- "maxLength": 9,
- "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\\d|2[0-3]):([0-5]\\d)$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/TrackingServerArn"
- ],
- "required": [
- "TrackingServerName",
- "ArtifactStoreUri",
- "RoleArn"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "permissions": [
- "sagemaker:AddTags",
- "sagemaker:ListTags",
- "sagemaker:DeleteTags"
- ],
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::SageMaker::MlflowTrackingServer"
-}
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 9a25a28743..ef526815f4 100644
--- a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py
@@ -982,6 +982,7 @@
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceComponent",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelBiasJobDefinition",
"AWS::SageMaker::ModelCard",
@@ -1863,6 +1864,7 @@
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbclusterparametergroup.json",
"aws-neptune-dbinstance.json",
"aws-neptune-dbparametergroup.json",
@@ -2047,6 +2049,7 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 aef6c06b50..4c1ae2cb4c 100644
--- a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py
@@ -812,6 +812,7 @@
"AWS::SageMaker::Image",
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelBiasJobDefinition",
"AWS::SageMaker::ModelCard",
@@ -1543,6 +1544,7 @@
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-neptune-eventsubscription.json",
"aws-networkfirewall-firewall.json",
@@ -1686,6 +1688,7 @@
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 f1d6eae902..9405479927 100644
--- a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py
@@ -782,6 +782,7 @@
"aws-config-remediationconfiguration.json",
"aws-config-storedquery.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-datasync-agent.json",
"aws-datasync-locationazureblob.json",
@@ -957,6 +958,7 @@
"aws-guardduty-member.json",
"aws-guardduty-threatintelset.json",
"aws-iam-group.json",
+ "aws-iam-oidcprovider.json",
"aws-iam-role.json",
"aws-iam-rolepolicy.json",
"aws-iam-samlprovider.json",
@@ -1049,6 +1051,7 @@
"aws-organizations-resourcepolicy.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/il_central_1/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-iam-oidcprovider.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-iam-oidcprovider.json
deleted file mode 100644
index 1794a452ca..0000000000
--- a/src/cfnlint/data/schemas/providers/il_central_1/aws-iam-oidcprovider.json
+++ /dev/null
@@ -1,120 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Url"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateOpenIDConnectProvider",
- "iam:TagOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "delete": {
- "permissions": [
- "iam:DeleteOpenIDConnectProvider"
- ]
- },
- "list": {
- "permissions": [
- "iam:ListOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "read": {
- "permissions": [
- "iam:GetOpenIDConnectProvider"
- ]
- },
- "update": {
- "permissions": [
- "iam:UpdateOpenIDConnectProviderThumbprint",
- "iam:RemoveClientIDFromOpenIDConnectProvider",
- "iam:AddClientIDToOpenIDConnectProvider",
- "iam:GetOpenIDConnectProvider",
- "iam:TagOpenIDConnectProvider",
- "iam:UntagOpenIDConnectProvider",
- "iam:ListOpenIDConnectProviderTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 20,
- "type": "string"
- },
- "ClientIdList": {
- "insertionOrder": false,
- "items": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- },
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "ThumbprintList": {
- "insertionOrder": false,
- "items": {
- "maxLength": 40,
- "minLength": 40,
- "pattern": "[0-9A-Fa-f]{40}",
- "type": "string"
- },
- "maxItems": 5,
- "type": "array"
- },
- "Url": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "ThumbprintList"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::IAM::OIDCProvider"
-}
diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 d3e015c914..37b90fe799 100644
--- a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py
@@ -579,6 +579,7 @@
"AWS::SageMaker::Image",
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceComponent",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::ModelCard",
"AWS::SageMaker::ModelPackage",
"AWS::SageMaker::ModelPackageGroup",
@@ -780,6 +781,7 @@
"aws-config-organizationconfigrule.json",
"aws-config-storedquery.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-datasync-agent.json",
"aws-datasync-locationazureblob.json",
@@ -1073,6 +1075,7 @@
"aws-msk-configuration.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-neptune-eventsubscription.json",
"aws-networkfirewall-firewall.json",
@@ -1100,6 +1103,7 @@
"aws-pipes-pipe.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -1163,6 +1167,7 @@
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelpackage.json",
"aws-sagemaker-modelpackagegroup.json",
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/me_central_1/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/me_central_1/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 58884e811d..9ec836e0e2 100644
--- a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py
@@ -678,6 +678,7 @@
"AWS::SageMaker::Image",
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelBiasJobDefinition",
"AWS::SageMaker::ModelCard",
@@ -966,6 +967,7 @@
"aws-config-remediationconfiguration.json",
"aws-config-storedquery.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-datasync-agent.json",
"aws-datasync-locationazureblob.json",
@@ -1286,6 +1288,7 @@
"aws-msk-configuration.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbclusterparametergroup.json",
"aws-neptune-dbinstance.json",
"aws-neptune-dbparametergroup.json",
@@ -1333,6 +1336,7 @@
"aws-pipes-pipe.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -1408,6 +1412,7 @@
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/me_south_1/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/me_south_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 2539101c1d..3fc1db8f32 100644
--- a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py
@@ -839,6 +839,7 @@
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceComponent",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelBiasJobDefinition",
"AWS::SageMaker::ModelCard",
@@ -1606,6 +1607,7 @@
"aws-msk-replicator.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
"aws-neptune-dbsubnetgroup.json",
"aws-neptune-eventsubscription.json",
"aws-networkfirewall-firewall.json",
@@ -1745,6 +1747,7 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbcluster.json
deleted file mode 100644
index 589a788e8b..0000000000
--- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbcluster.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/properties/DBClusterIdentifier",
- "/properties/DBSubnetGroupName",
- "/properties/KmsKeyId",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/UseLatestRestorableTime"
- ],
- "definitions": {
- "DBClusterRole": {
- "additionalProperties": false,
- "properties": {
- "FeatureName": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "required": [
- "RoleArn"
- ],
- "type": "object"
- },
- "ServerlessScalingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MaxCapacity": {
- "maximum": 128,
- "minimum": 2.5,
- "type": "number"
- },
- "MinCapacity": {
- "maximum": 128,
- "minimum": 1,
- "type": "number"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:PassRole",
- "iam:CreateServiceLinkedRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:RemoveFromGlobalCluster",
- "rds:CreateDBClusterSnapshot",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters",
- "rds:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBInstances",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeGlobalClusters",
- "rds:ListTagsForResource",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "kms:CreateGrant",
- "kms:DescribeKey"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "primaryIdentifier": [
- "/properties/DBClusterIdentifier"
- ],
- "properties": {
- "AssociatedRoles": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/DBClusterRole"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AvailabilityZones": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "BackupRetentionPeriod": {
- "default": 1,
- "minimum": 1,
- "type": "integer"
- },
- "ClusterResourceId": {
- "type": "string"
- },
- "CopyTagsToSnapshot": {
- "type": "boolean"
- },
- "DBClusterIdentifier": {
- "maxLength": 63,
- "minLength": 1,
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "DBClusterParameterGroupName": {
- "type": "string"
- },
- "DBInstanceParameterGroupName": {
- "type": "string"
- },
- "DBPort": {
- "type": "integer"
- },
- "DBSubnetGroupName": {
- "type": "string"
- },
- "DeletionProtection": {
- "type": "boolean"
- },
- "EnableCloudwatchLogsExports": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Endpoint": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "IamAuthEnabled": {
- "type": "boolean"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Port": {
- "type": "string"
- },
- "PreferredBackupWindow": {
- "type": "string"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReadEndpoint": {
- "type": "string"
- },
- "RestoreToTime": {
- "type": "string"
- },
- "RestoreType": {
- "default": "full-copy",
- "type": "string"
- },
- "ServerlessScalingConfiguration": {
- "$ref": "#/definitions/ServerlessScalingConfiguration"
- },
- "SnapshotIdentifier": {
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "UseLatestRestorableTime": {
- "type": "boolean"
- },
- "VpcSecurityGroupIds": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "propertyTransform": {
- "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
- "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)",
- "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
- "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)",
- "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)"
- },
- "readOnlyProperties": [
- "/properties/Endpoint",
- "/properties/ClusterResourceId",
- "/properties/Port",
- "/properties/ReadEndpoint"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-neptune",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Neptune::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 12f60108c6..27eec82ef8 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py
@@ -1137,6 +1137,7 @@
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceComponent",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelBiasJobDefinition",
"AWS::SageMaker::ModelCard",
diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-neptune-dbcluster.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-neptune-dbcluster.json
index 685c5dee25..589a788e8b 100644
--- a/src/cfnlint/data/schemas/providers/us_east_1/aws-neptune-dbcluster.json
+++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-neptune-dbcluster.json
@@ -82,7 +82,8 @@
"rds:ModifyDBCluster",
"rds:RestoreDBClusterFromSnapshot",
"rds:RestoreDBClusterToPointInTime",
- "kms:*"
+ "kms:CreateGrant",
+ "kms:DescribeKey"
],
"timeoutInMinutes": 2160
},
@@ -95,7 +96,8 @@
"rds:ListTagsForResource",
"rds:RemoveFromGlobalCluster",
"rds:CreateDBClusterSnapshot",
- "kms:*"
+ "kms:CreateGrant",
+ "kms:DescribeKey"
],
"timeoutInMinutes": 2160
},
@@ -103,7 +105,8 @@
"permissions": [
"rds:DescribeDBClusters",
"rds:ListTagsForResource",
- "kms:*"
+ "kms:CreateGrant",
+ "kms:DescribeKey"
],
"timeoutInMinutes": 2160
},
@@ -111,7 +114,8 @@
"permissions": [
"rds:DescribeDBClusters",
"rds:ListTagsForResource",
- "kms:*"
+ "kms:CreateGrant",
+ "kms:DescribeKey"
],
"timeoutInMinutes": 2160
},
@@ -131,7 +135,8 @@
"rds:RemoveFromGlobalCluster",
"rds:RemoveRoleFromDBCluster",
"rds:RemoveTagsFromResource",
- "kms:*"
+ "kms:CreateGrant",
+ "kms:DescribeKey"
],
"timeoutInMinutes": 2160
}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-mlflowtrackingserver.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-mlflowtrackingserver.json
similarity index 100%
rename from src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-mlflowtrackingserver.json
rename to src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-mlflowtrackingserver.json
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 2a91296c97..12191f4e7f 100644
--- a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py
@@ -988,6 +988,7 @@
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceComponent",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelBiasJobDefinition",
"AWS::SageMaker::ModelCard",
@@ -1956,6 +1957,7 @@
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
"aws-rds-customdbengineversion.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
@@ -2054,6 +2056,7 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 a7bb41f8a8..041a9dabc3 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
@@ -780,6 +780,7 @@
"aws-config-remediationconfiguration.json",
"aws-config-storedquery.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-datasync-agent.json",
"aws-datasync-locationazureblob.json",
@@ -1058,6 +1059,7 @@
"aws-organizations-resourcepolicy.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 b0b810d217..3ba015ad0d 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
@@ -929,6 +929,7 @@
"aws-connect-view.json",
"aws-connect-viewversion.json",
"aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
"aws-controltower-landingzone.json",
"aws-databrew-dataset.json",
"aws-databrew-job.json",
@@ -1273,6 +1274,7 @@
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
"aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-controltower-enabledcontrol.json
deleted file mode 100644
index cae81c46bc..0000000000
--- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-controltower-enabledcontrol.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "definitions": {
- "EnabledControlParameter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "insertionOrder": false,
- "items": {
- "type": [
- "string",
- "number",
- "object",
- "boolean"
- ]
- },
- "minItems": 1,
- "type": [
- "array",
- "string",
- "number",
- "object",
- "boolean"
- ]
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "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"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:EnableControl",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "delete": {
- "permissions": [
- "controltower:GetControlOperation",
- "controltower:DisableControl",
- "organizations:UpdatePolicy",
- "organizations:DeletePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "TargetIdentifier": {
- "$ref": "resource-schema.json#/properties/TargetIdentifier"
- }
- },
- "required": [
- "TargetIdentifier"
- ]
- },
- "permissions": [
- "controltower:ListEnabledControls"
- ]
- },
- "read": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "controltower:ListEnabledControls",
- "controltower:GetEnabledControl",
- "controltower:GetControlOperation",
- "controltower:UpdateEnabledControl",
- "controltower:UntagResource",
- "controltower:TagResource",
- "organizations:UpdatePolicy",
- "organizations:CreatePolicy",
- "organizations:AttachPolicy",
- "organizations:DetachPolicy",
- "organizations:ListPoliciesForTarget",
- "organizations:ListTargetsForPolicy",
- "organizations:DescribePolicy"
- ],
- "timeoutInMinutes": 720
- }
- },
- "primaryIdentifier": [
- "/properties/TargetIdentifier",
- "/properties/ControlIdentifier"
- ],
- "properties": {
- "ControlIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- },
- "Parameters": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EnabledControlParameter"
- },
- "minItems": 1,
- "type": "array"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TargetIdentifier": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$",
- "type": "string"
- }
- },
- "required": [
- "TargetIdentifier",
- "ControlIdentifier"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ControlTower::EnabledControl"
-}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json
deleted file mode 100644
index 3355402afa..0000000000
--- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/Engine",
- "/properties/GlobalClusterIdentifier",
- "/properties/MasterUsername"
- ],
- "createOnlyProperties": [
- "/properties/AvailabilityZones",
- "/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"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:CreateDBCluster",
- "rds:CreateDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeDBClusterSnapshots",
- "rds:DescribeDBSnapshots",
- "rds:DescribeEvents",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:RestoreDBClusterFromSnapshot",
- "rds:RestoreDBClusterToPointInTime",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- },
- "delete": {
- "permissions": [
- "rds:CreateDBClusterSnapshot",
- "rds:DeleteDBCluster",
- "rds:DeleteDBInstance",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters",
- "rds:RemoveFromGlobalCluster"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeDBClusters"
- ]
- },
- "update": {
- "permissions": [
- "ec2:DescribeSecurityGroups",
- "iam:PassRole",
- "rds:AddRoleToDBCluster",
- "rds:AddTagsToResource",
- "rds:DescribeDBClusters",
- "rds:DescribeDBSubnetGroups",
- "rds:DescribeEvents",
- "rds:DescribeGlobalClusters",
- "rds:DisableHttpEndpoint",
- "rds:EnableHttpEndpoint",
- "rds:ModifyDBCluster",
- "rds:ModifyDBInstance",
- "rds:RemoveFromGlobalCluster",
- "rds:RemoveRoleFromDBCluster",
- "rds:RemoveTagsFromResource",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ],
- "timeoutInMinutes": 2160
- }
- },
- "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"
- },
- "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": {
- "default": "default.aurora5.6",
- "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": {
- "default": 0,
- "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": {
- "default": "full-copy",
- "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)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )",
- "/properties/Engine": "$lowercase(Engine)",
- "/properties/EngineVersion": "$join([$string(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/MasterUserSecret/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\\/\", MasterUserSecret.KmsKeyId])",
- "/properties/NetworkType": "$lowercase(NetworkType)",
- "/properties/PerformanceInsightsKmsKeyId": "$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\\/\", 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",
- "typeName": "AWS::RDS::DBCluster",
- "writeOnlyProperties": [
- "/properties/DBInstanceParameterGroupName",
- "/properties/MasterUserPassword",
- "/properties/RestoreToTime",
- "/properties/RestoreType",
- "/properties/SnapshotIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/SourceRegion",
- "/properties/UseLatestRestorableTime"
- ]
-}
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 58bce5fe34..494eb30be3 100644
--- a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py
@@ -797,6 +797,7 @@
"AWS::SageMaker::Image",
"AWS::SageMaker::ImageVersion",
"AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::Model",
"AWS::SageMaker::ModelBiasJobDefinition",
"AWS::SageMaker::ModelCard",
@@ -1489,7 +1490,6 @@
"aws-mediaconnect-bridgesource.json",
"aws-mediaconnect-flow.json",
"aws-mediaconnect-flowentitlement.json",
- "aws-mediaconnect-flowoutput.json",
"aws-mediaconnect-flowsource.json",
"aws-mediaconnect-flowvpcinterface.json",
"aws-mediaconnect-gateway.json",
@@ -1651,6 +1651,7 @@
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-flowoutput.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-flowoutput.json
new file mode 100644
index 0000000000..eca21c2b4a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-flowoutput.json
@@ -0,0 +1,248 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name"
+ ],
+ "definitions": {
+ "DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "DestinationIp": {
+ "type": "string"
+ },
+ "DestinationPort": {
+ "type": "integer"
+ },
+ "Interface": {
+ "$ref": "#/definitions/Interface"
+ }
+ },
+ "required": [
+ "DestinationIp",
+ "DestinationPort",
+ "Interface"
+ ],
+ "type": "object"
+ },
+ "EncodingParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "CompressionFactor": {
+ "type": "number"
+ },
+ "EncoderProfile": {
+ "enum": [
+ "main",
+ "high"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "CompressionFactor"
+ ],
+ "type": "object"
+ },
+ "Encryption": {
+ "additionalProperties": false,
+ "properties": {
+ "Algorithm": {
+ "enum": [
+ "aes128",
+ "aes192",
+ "aes256"
+ ],
+ "type": "string"
+ },
+ "KeyType": {
+ "default": "static-key",
+ "enum": [
+ "static-key",
+ "srt-password"
+ ],
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ },
+ "SecretArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleArn",
+ "SecretArn"
+ ],
+ "type": "object"
+ },
+ "Interface": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "MediaStreamOutputConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "DestinationConfigurations": {
+ "items": {
+ "$ref": "#/definitions/DestinationConfiguration"
+ },
+ "type": "array"
+ },
+ "EncodingName": {
+ "enum": [
+ "jxsv",
+ "raw",
+ "smpte291",
+ "pcm"
+ ],
+ "type": "string"
+ },
+ "EncodingParameters": {
+ "$ref": "#/definitions/EncodingParameters"
+ },
+ "MediaStreamName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "EncodingName",
+ "MediaStreamName"
+ ],
+ "type": "object"
+ },
+ "VpcInterfaceAttachment": {
+ "additionalProperties": false,
+ "properties": {
+ "VpcInterfaceName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "iam:PassRole",
+ "mediaconnect:AddFlowOutputs"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "mediaconnect:DescribeFlow",
+ "mediaconnect:RemoveFlowOutput"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "mediaconnect:DescribeFlow"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "mediaconnect:DescribeFlow"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "mediaconnect:DescribeFlow",
+ "mediaconnect:UpdateFlowOutput"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/OutputArn"
+ ],
+ "properties": {
+ "CidrAllowList": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "Destination": {
+ "type": "string"
+ },
+ "Encryption": {
+ "$ref": "#/definitions/Encryption"
+ },
+ "FlowArn": {
+ "type": "string"
+ },
+ "MaxLatency": {
+ "type": "integer"
+ },
+ "MediaStreamOutputConfigurations": {
+ "items": {
+ "$ref": "#/definitions/MediaStreamOutputConfiguration"
+ },
+ "type": "array"
+ },
+ "MinLatency": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "OutputArn": {
+ "type": "string"
+ },
+ "OutputStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "Protocol": {
+ "enum": [
+ "zixi-push",
+ "rtp-fec",
+ "rtp",
+ "zixi-pull",
+ "rist",
+ "fujitsu-qos",
+ "srt-listener",
+ "srt-caller",
+ "st2110-jpegxs",
+ "cdi"
+ ],
+ "type": "string"
+ },
+ "RemoteId": {
+ "type": "string"
+ },
+ "SmoothingLatency": {
+ "type": "integer"
+ },
+ "StreamId": {
+ "type": "string"
+ },
+ "VpcInterfaceAttachment": {
+ "$ref": "#/definitions/VpcInterfaceAttachment"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/OutputArn"
+ ],
+ "required": [
+ "FlowArn",
+ "Protocol"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-mediaconnect.git",
+ "typeName": "AWS::MediaConnect::FlowOutput"
+}
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 80beb03292..6d66b9d2d1 100644
--- a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py
@@ -2334,6 +2334,7 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-mlflowtrackingserver.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-mlflowtrackingserver.json
deleted file mode 100644
index 84791991d5..0000000000
--- a/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-mlflowtrackingserver.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{
- "additionalProperties": false,
- "conditionalCreateOnlyProperties": [
- "/properties/MlflowVersion",
- "/properties/RoleArn"
- ],
- "createOnlyProperties": [
- "/properties/TrackingServerName"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "sagemaker:CreateMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:AddTags",
- "sagemaker:ListTags",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 65
- },
- "delete": {
- "permissions": [
- "sagemaker:DeleteMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer"
- ],
- "timeoutInMinutes": 65
- },
- "list": {
- "permissions": [
- "sagemaker:ListMlflowTrackingServers"
- ]
- },
- "read": {
- "permissions": [
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:ListTags"
- ]
- },
- "update": {
- "permissions": [
- "sagemaker:UpdateMlflowTrackingServer",
- "sagemaker:DescribeMlflowTrackingServer",
- "sagemaker:ListTags",
- "sagemaker:AddTags",
- "sagemaker:DeleteTags",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 65
- }
- },
- "primaryIdentifier": [
- "/properties/TrackingServerName"
- ],
- "properties": {
- "ArtifactStoreUri": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^s3:\\/\\/([^\\/]+)\\/?(.*)$",
- "type": "string"
- },
- "AutomaticModelRegistration": {
- "type": "boolean"
- },
- "MlflowVersion": {
- "maxLength": 32,
- "minLength": 1,
- "pattern": "^\\d+(\\.\\d+)+$",
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role\\/?[a-zA-Z_0-9+=,.@\\-_\\/]+$",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "TrackingServerArn": {
- "maxLength": 2048,
- "pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:mlflow-tracking-server/.*$",
- "type": "string"
- },
- "TrackingServerName": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,255}$",
- "type": "string"
- },
- "TrackingServerSize": {
- "enum": [
- "Small",
- "Medium",
- "Large"
- ],
- "type": "string"
- },
- "WeeklyMaintenanceWindowStart": {
- "maxLength": 9,
- "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\\d|2[0-3]):([0-5]\\d)$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/TrackingServerArn"
- ],
- "required": [
- "TrackingServerName",
- "ArtifactStoreUri",
- "RoleArn"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "permissions": [
- "sagemaker:AddTags",
- "sagemaker:ListTags",
- "sagemaker:DeleteTags"
- ],
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::SageMaker::MlflowTrackingServer"
-}