From d7044e3d42cb5e63edf1bf841f5fe66fa6e7d64d Mon Sep 17 00:00:00 2001
From: kddejong <36457093+kddejong@users.noreply.github.com>
Date: Wed, 21 Aug 2024 12:31:00 +0000
Subject: [PATCH 1/2] Update CloudFormation schemas to 2024-08-21
---
docs/rules.md | 3 +-
pyproject.toml | 2 +-
.../data/AdditionalSpecs/Policies.json | 9 +-
...5a0d14c62111ff864923fc7b7960dda6.meta.json | 2 +-
...2b6653d7edfe98a64577daae0b481c38.meta.json | 2 +-
...5e4752bbc10d9552de8df8f81348c42b.meta.json | 2 +-
...63a1bf4413531ad420ff60a5a0d7965d.meta.json | 2 +-
...4cfc32461d10e077e7e5de1fc25d8b8f.meta.json | 2 +-
...d3fe2e7838c23f6acd054944cb2b1618.meta.json | 2 +-
...7e9907e4a512c10ddae70b98b4dada43.meta.json | 2 +-
...3fbf0a0fb76625ba46dbe42abd34333c.meta.json | 2 +-
...376aa3fe15197e3bb0e9290ff8719b4e.meta.json | 2 +-
...f60a7b5acfc406ebb10d5748cbb8ed41.meta.json | 2 +-
...f35136af536e92a84ccbaf062c315066.meta.json | 2 +-
...04470222e5e4c690bacef5312891581d.meta.json | 2 +-
...646b563d773e34b020d0ddeab2fe195b.meta.json | 2 +-
...548d44cc32e246ec9d7742088a2c17f8.meta.json | 2 +-
...98ac34d4109512e0e0947ef752dcb9c9.meta.json | 2 +-
...7e4a4542365d35fd75466abcf306eeca.meta.json | 2 +-
...69b7533eabab32ecfc0a00cb19e55a5f.meta.json | 2 +-
...e783fe32b6bb6b13774c32fcca1d303a.meta.json | 2 +-
...05f2567698dfdfa979bf0ccdb68cb856.meta.json | 2 +-
...92030ae5c03d7451980a15735e557edb.meta.json | 2 +-
...6bb7f975b606f8db57532faddfcdd8c8.meta.json | 2 +-
...73ff097c685cda0a63c08a6416dc58ed.meta.json | 2 +-
...25c8d66a1f84939600616bab42579541.meta.json | 2 +-
...972142778e1ff452383ede2ad4bac3d7.meta.json | 2 +-
...26b315ef6f38515840537c02de23abe2.meta.json | 2 +-
...cf908a34e6b4c3fb3e97e2b584f651ca.meta.json | 2 +-
...318c41c71c21b0a17d4f68d82c5aee21.meta.json | 2 +-
...6cd7e4ced378cacdb93f76ed227b5c5d.meta.json | 2 +-
...b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json | 2 +-
...41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json | 2 +-
...b2d398fe33547eed780b9b70f10eb4a2.meta.json | 2 +-
...e50a1638ffe0a5dba0d8805c190a05f8.meta.json | 2 +-
...3b69878d351cffd417dc9a457df808af.meta.json | 2 +-
.../aws_ec2_instance/instancetype_enum.json | 264 +++
.../all/aws_codebuild_project/boto.json | 1 +
.../schemas/providers/af_south_1/__init__.py | 9 +-
.../aws-ec2-ipam.json | 3 -
.../af_south_1/aws-ec2-securitygroup.json | 239 ---
.../af_south_1/aws-ec2-subnetcidrblock.json | 78 -
.../aws-ec2-vpccidrblock.json | 10 +-
...balaccelerator-crossaccountattachment.json | 123 --
.../af_south_1/aws-glue-database.json | 117 ++
.../af_south_1/aws-glue-trigger.json | 172 --
.../af_south_1/aws-rds-globalcluster.json | 99 ++
.../aws-systemsmanagersap-application.json | 161 --
.../schemas/providers/ap_east_1/__init__.py | 9 +-
.../aws-apigatewayv2-integration.json | 99 ++
.../aws-ec2-ipam.json | 3 -
.../ap_east_1/aws-ec2-securitygroup.json | 239 ---
.../aws-ec2-vpccidrblock.json | 10 +-
.../ap_east_1/aws-glue-database.json | 117 ++
.../providers/ap_east_1/aws-glue-trigger.json | 172 --
.../ap_east_1/aws-iam-managedpolicy.json | 147 --
.../ap_east_1/aws-rds-globalcluster.json | 99 ++
.../aws-systemsmanagersap-application.json | 161 --
.../providers/ap_northeast_1/__init__.py | 13 +-
.../ap_northeast_1/aws-codebuild-fleet.json | 159 ++
.../aws-location-geofencecollection.json | 168 ++
.../ap_northeast_1/aws-msk-replicator.json | 373 ++++
.../providers/ap_northeast_2/__init__.py | 19 +-
.../aws-ec2-ipam.json | 3 -
.../ap_northeast_2/aws-ec2-securitygroup.json | 239 ---
.../aws-ec2-subnetcidrblock.json | 78 -
.../aws-ec2-vpccidrblock.json | 10 +-
.../ap_northeast_2/aws-glue-database.json | 117 ++
.../ap_northeast_2/aws-glue-trigger.json | 172 --
.../aws-ivs-channel.json | 10 +-
.../aws-ivs-encoderconfiguration.json | 5 -
.../aws-ivs-playbackkeypair.json | 5 -
.../aws-ivs-playbackrestrictionpolicy.json | 5 -
.../aws-ivs-recordingconfiguration.json | 5 -
.../aws-ivs-stage.json | 44 +-
.../aws-ivs-storageconfiguration.json | 5 -
.../aws-ivs-streamkey.json | 5 -
.../ap_northeast_2/aws-msk-replicator.json | 349 ++++
.../ap_northeast_2/aws-rds-globalcluster.json | 99 ++
.../ap_northeast_2/aws-synthetics-canary.json | 356 ++++
.../ap_northeast_2/aws-synthetics-group.json | 111 ++
.../aws-systemsmanagersap-application.json | 161 --
.../providers/ap_northeast_3/__init__.py | 9 +-
.../ap_northeast_3/aws-ec2-ipam.json | 148 ++
.../ap_northeast_3/aws-ec2-securitygroup.json | 239 ---
.../ap_northeast_3/aws-ec2-vpccidrblock.json | 103 ++
.../ap_northeast_3/aws-glue-database.json | 117 ++
.../ap_northeast_3/aws-glue-trigger.json | 172 --
.../ap_northeast_3/aws-iam-managedpolicy.json | 147 --
.../aws-medialive-multiplex.json | 0
.../aws-medialive-multiplexprogram.json | 0
.../aws-systemsmanagersap-application.json | 161 --
.../schemas/providers/ap_south_1/__init__.py | 13 +-
.../ap_south_1/aws-ec2-vpccidrblock.json | 103 ++
.../ap_south_1/aws-glue-database.json | 117 ++
.../providers/ap_south_1/aws-ivs-channel.json | 148 ++
.../aws-ivs-encoderconfiguration.json | 136 ++
.../ap_south_1/aws-ivs-playbackkeypair.json | 110 ++
.../aws-ivs-playbackrestrictionpolicy.json | 123 ++
.../aws-ivs-recordingconfiguration.json | 255 +++
.../providers/ap_south_1/aws-ivs-stage.json | 106 ++
.../aws-ivs-storageconfiguration.json | 132 ++
.../ap_south_1/aws-ivs-streamkey.json | 117 ++
.../aws-lambda-eventsourcemapping.json | 359 ----
.../ap_south_1/aws-location-apikey.json | 226 +++
.../ap_south_1/aws-msk-replicator.json | 349 ++++
.../schemas/providers/ap_south_2/__init__.py | 9 +-
.../aws-apigatewayv2-integration.json | 178 --
.../providers/ap_south_2/aws-ec2-ipam.json | 148 ++
.../ap_south_2/aws-ec2-securitygroup.json | 239 ---
.../ap_south_2/aws-ec2-vpccidrblock.json | 103 ++
.../ap_south_2/aws-glue-database.json | 117 ++
.../ap_south_2/aws-glue-trigger.json | 172 --
.../providers/ap_southeast_1/__init__.py | 5 +-
.../ap_southeast_1/aws-codebuild-fleet.json | 159 ++
.../ap_southeast_1/aws-deadline-fleet.json | 586 -------
.../ap_southeast_1/aws-deadline-queue.json | 279 ---
.../aws-deadline-storageprofile.json | 138 --
.../aws-lambda-eventsourcemapping.json | 359 ----
.../providers/ap_southeast_2/__init__.py | 6 +-
.../ap_southeast_2/aws-ec2-vpccidrblock.json | 103 ++
.../ap_southeast_2/aws-glue-database.json | 117 ++
.../ap_southeast_2/aws-iam-managedpolicy.json | 147 --
.../aws-lambda-eventsourcemapping.json | 359 ----
.../ap_southeast_2/aws-location-apikey.json | 226 +++
.../ap_southeast_2/aws-msk-replicator.json | 349 ++++
.../providers/ap_southeast_3/__init__.py | 10 +-
.../aws-apigatewayv2-integration.json | 178 --
.../aws-cognito-logdeliveryconfiguration.json | 118 --
.../ap_southeast_3/aws-cognito-userpool.json | 529 ------
.../ap_southeast_3/aws-ec2-ipam.json | 148 ++
.../aws-ec2-subnetcidrblock.json | 78 -
.../ap_southeast_3/aws-ec2-vpccidrblock.json | 103 ++
.../ap_southeast_3/aws-glue-database.json | 117 ++
.../ap_southeast_3/aws-glue-trigger.json | 172 --
.../ap_southeast_3/aws-rds-globalcluster.json | 99 ++
.../aws-systemsmanagersap-application.json | 161 --
.../providers/ap_southeast_4/__init__.py | 9 +-
.../aws-apigatewayv2-integration.json | 178 --
.../ap_southeast_4/aws-ec2-ipam.json | 148 ++
.../aws-ec2-subnetcidrblock.json | 78 -
.../ap_southeast_4/aws-ec2-vpccidrblock.json | 103 ++
.../ap_southeast_4/aws-glue-database.json | 117 ++
.../ap_southeast_4/aws-glue-trigger.json | 172 --
.../ap_southeast_4/aws-rds-globalcluster.json | 99 ++
.../providers/ca_central_1/__init__.py | 8 +-
.../providers/ca_central_1/aws-ec2-ipam.json | 148 ++
.../ca_central_1/aws-ec2-securitygroup.json | 239 ---
.../ca_central_1/aws-ec2-vpccidrblock.json | 103 ++
.../ca_central_1/aws-glue-database.json | 117 ++
.../ca_central_1/aws-glue-trigger.json | 172 --
.../ca_central_1/aws-iam-managedpolicy.json | 147 --
.../ca_central_1/aws-location-apikey.json | 226 +++
.../ca_central_1/aws-msk-replicator.json | 349 ++++
.../schemas/providers/ca_west_1/__init__.py | 12 +-
.../aws-apigatewayv2-integration.json | 178 --
.../aws-cognito-logdeliveryconfiguration.json | 118 --
.../ca_west_1/aws-cognito-userpool.json | 529 ------
.../providers/ca_west_1/aws-ec2-ipam.json | 148 ++
.../ca_west_1/aws-ec2-vpccidrblock.json | 103 ++
.../ca_west_1/aws-glue-database.json | 117 ++
.../aws-iam-managedpolicy.json | 1 +
.../aws-lambda-function.json | 21 +-
.../schemas/providers/cn_north_1/__init__.py | 7 +-
.../aws-apigatewayv2-integration.json | 99 ++
.../cn_north_1/aws-apigatewayv2-vpclink.json | 102 --
.../cn_north_1/aws-glue-database.json | 117 ++
.../cn_north_1/aws-iam-managedpolicy.json | 149 --
.../providers/cn_north_1/aws-s3-bucket.json | 1561 -----------------
.../providers/cn_northwest_1/__init__.py | 6 -
.../aws-apigatewayv2-integration.json | 99 ++
.../cn_northwest_1/aws-ec2-ipam.json | 148 ++
.../cn_northwest_1/aws-ec2-vpccidrblock.json | 103 ++
.../cn_northwest_1/aws-glue-database.json | 117 ++
.../aws-lambda-function.json | 21 +-
.../cn_northwest_1/aws-rds-globalcluster.json | 99 ++
.../providers/eu_central_1/__init__.py | 12 +-
.../eu_central_1/aws-codebuild-fleet.json | 159 ++
.../eu_central_1/aws-iam-managedpolicy.json | 149 --
.../aws-lambda-eventsourcemapping.json | 359 ----
.../eu_central_1/aws-location-apikey.json | 226 +++
.../eu_central_1/aws-msk-replicator.json | 373 ++++
.../eu_central_1/aws-quicksight-dataset.json | 1410 +++++++++++++++
.../aws-quicksight-datasource.json | 984 +++++++++++
.../providers/eu_central_1/aws-s3-bucket.json | 1561 -----------------
.../providers/eu_central_2/__init__.py | 6 +-
.../aws-apigatewayv2-integration.json | 178 --
.../providers/eu_central_2/aws-ec2-ipam.json | 148 ++
.../eu_central_2/aws-ec2-vpccidrblock.json | 103 ++
.../eu_central_2/aws-glue-database.json | 117 ++
.../eu_central_2/aws-lambda-function.json | 552 ++++++
.../eu_central_2/aws-rds-globalcluster.json | 99 ++
.../schemas/providers/eu_north_1/__init__.py | 9 +-
.../aws-apigatewayv2-integration.json | 99 ++
.../providers/eu_north_1/aws-ec2-ipam.json | 148 ++
.../eu_north_1/aws-ec2-vpccidrblock.json | 103 ++
.../eu_north_1/aws-glue-database.json | 117 ++
.../eu_north_1/aws-glue-trigger.json | 172 --
.../eu_north_1/aws-location-apikey.json | 226 +++
.../eu_north_1/aws-msk-replicator.json | 349 ++++
.../eu_north_1/aws-rds-globalcluster.json | 99 ++
.../aws-systemsmanagersap-application.json | 161 --
.../schemas/providers/eu_south_1/__init__.py | 11 +-
.../aws-apigatewayv2-integration.json | 99 ++
.../providers/eu_south_1/aws-ec2-ipam.json | 148 ++
.../eu_south_1/aws-ec2-subnetcidrblock.json | 78 -
.../eu_south_1/aws-ec2-vpccidrblock.json | 103 ++
.../eu_south_1/aws-glue-database.json | 117 ++
.../eu_south_1/aws-glue-trigger.json | 172 --
.../eu_south_1/aws-rds-globalcluster.json | 99 ++
.../aws-systemsmanagersap-application.json | 161 --
.../schemas/providers/eu_south_2/__init__.py | 8 +-
.../aws-apigatewayv2-integration.json | 178 --
.../providers/eu_south_2/aws-ec2-ipam.json | 148 ++
.../eu_south_2/aws-ec2-securitygroup.json | 239 ---
.../eu_south_2/aws-ec2-vpccidrblock.json | 103 ++
.../eu_south_2/aws-glue-database.json | 117 ++
.../eu_south_2/aws-glue-trigger.json | 172 --
.../aws-lambda-eventsourcemapping.json | 359 ----
.../eu_south_2/aws-lambda-function.json | 552 ++++++
.../schemas/providers/eu_west_1/__init__.py | 9 +-
.../providers/eu_west_1/aws-ec2-ipam.json | 148 ++
.../eu_west_1/aws-ec2-vpccidrblock.json | 103 ++
.../eu_west_1/aws-glue-database.json | 117 ++
.../eu_west_1/aws-iam-managedpolicy.json | 147 --
.../eu_west_1/aws-msk-replicator.json | 349 ++++
.../providers/eu_west_1/aws-s3-bucket.json | 1561 -----------------
.../schemas/providers/eu_west_2/__init__.py | 10 +-
.../aws-apigatewayv2-integration.json | 99 ++
.../providers/eu_west_2/aws-ec2-ipam.json | 148 ++
.../eu_west_2/aws-ec2-securitygroup.json | 239 ---
.../eu_west_2/aws-ec2-vpccidrblock.json | 103 ++
.../eu_west_2/aws-glue-database.json | 117 ++
.../providers/eu_west_2/aws-glue-trigger.json | 172 --
.../eu_west_2/aws-iam-managedpolicy.json | 147 --
.../eu_west_2/aws-location-apikey.json | 226 +++
.../eu_west_2/aws-msk-replicator.json | 349 ++++
.../eu_west_2/aws-rds-globalcluster.json | 99 ++
.../schemas/providers/eu_west_3/__init__.py | 9 +-
.../providers/eu_west_3/aws-ec2-ipam.json | 148 ++
.../eu_west_3/aws-ec2-securitygroup.json | 239 ---
.../eu_west_3/aws-ec2-subnetcidrblock.json | 78 -
.../eu_west_3/aws-ec2-vpccidrblock.json | 103 ++
.../eu_west_3/aws-glue-database.json | 117 ++
.../providers/eu_west_3/aws-glue-trigger.json | 172 --
.../aws-lambda-eventsourcemapping.json | 359 ----
.../eu_west_3/aws-msk-replicator.json | 349 ++++
.../eu_west_3/aws-rds-globalcluster.json | 99 ++
.../providers/il_central_1/__init__.py | 7 +-
.../aws-apigatewayv2-integration.json | 178 --
.../providers/il_central_1/aws-ec2-ipam.json | 148 ++
.../il_central_1/aws-ec2-vpccidrblock.json | 103 ++
.../il_central_1/aws-glue-database.json | 117 ++
.../il_central_1/aws-glue-trigger.json | 172 --
.../il_central_1/aws-lambda-function.json | 552 ++++++
.../il_central_1/aws-rds-globalcluster.json | 99 ++
.../providers/me_central_1/__init__.py | 9 +-
.../providers/me_central_1/aws-ec2-ipam.json | 148 ++
.../me_central_1/aws-ec2-securitygroup.json | 239 ---
.../me_central_1/aws-ec2-vpccidrblock.json | 103 ++
.../me_central_1/aws-glue-database.json | 117 ++
.../me_central_1/aws-glue-trigger.json | 172 --
.../me_central_1/aws-iam-managedpolicy.json | 147 --
.../me_central_1/aws-rds-globalcluster.json | 99 ++
.../schemas/providers/me_south_1/__init__.py | 8 +-
.../providers/me_south_1/aws-ec2-ipam.json | 148 ++
.../me_south_1/aws-ec2-securitygroup.json | 239 ---
.../me_south_1/aws-ec2-subnetcidrblock.json | 78 -
.../me_south_1/aws-ec2-vpccidrblock.json | 103 ++
.../me_south_1/aws-glue-database.json | 117 ++
.../me_south_1/aws-glue-trigger.json | 172 --
.../me_south_1/aws-rds-globalcluster.json | 99 ++
.../aws-systemsmanagersap-application.json | 161 --
.../schemas/providers/sa_east_1/__init__.py | 5 +-
.../sa_east_1/aws-ec2-vpccidrblock.json | 103 ++
.../sa_east_1/aws-iam-managedpolicy.json | 147 --
.../aws-lambda-eventsourcemapping.json | 359 ----
.../sa_east_1/aws-location-apikey.json | 226 +++
.../sa_east_1/aws-msk-replicator.json | 349 ++++
.../schemas/providers/us_east_1/__init__.py | 1 +
.../aws-apigatewayv2-integration.json | 115 +-
.../us_east_1/aws-codebuild-project.json | 1 +
.../us_east_1/aws-deadline-fleet.json | 3 +-
.../providers/us_east_1/aws-ec2-ipam.json | 3 +
.../us_east_1/aws-ec2-vpccidrblock.json | 10 +-
.../us_east_1/aws-glue-database.json | 68 +-
.../us_east_1/aws-iam-managedpolicy.json | 1 +
.../providers/us_east_1/aws-ivs-channel.json | 10 +-
.../aws-ivs-encoderconfiguration.json | 5 +
.../us_east_1/aws-ivs-playbackkeypair.json | 5 +
.../aws-ivs-playbackrestrictionpolicy.json | 5 +
.../us_east_1/aws-ivs-publickey.json | 113 ++
.../aws-ivs-recordingconfiguration.json | 5 +
.../providers/us_east_1/aws-ivs-stage.json | 44 +-
.../aws-ivs-storageconfiguration.json | 5 +
.../us_east_1/aws-ivs-streamkey.json | 5 +
.../us_east_1/aws-lambda-function.json | 21 +-
.../us_east_1/aws-location-apikey.json | 4 +-
.../us_east_1/aws-msk-replicator.json | 8 +-
.../us_east_1/aws-rds-globalcluster.json | 2 +
.../providers/us_east_1/aws-s3-bucket.json | 20 -
.../schemas/providers/us_east_2/__init__.py | 11 +-
.../providers/us_east_2/aws-ec2-ipam.json | 148 ++
.../us_east_2/aws-ec2-securitygroup.json | 239 ---
.../us_east_2/aws-ec2-vpccidrblock.json | 103 ++
.../us_east_2/aws-glue-database.json | 117 ++
.../providers/us_east_2/aws-glue-trigger.json | 172 --
.../us_east_2/aws-iam-managedpolicy.json | 147 --
.../aws-lambda-eventsourcemapping.json | 359 ----
.../us_east_2/aws-msk-replicator.json | 349 ++++
.../us_east_2/aws-sagemaker-domain.json | 855 +++++++++
.../us_east_2/aws-sagemaker-space.json | 470 +++++
.../us_east_2/aws-sagemaker-userprofile.json | 621 +++++++
.../providers/us_gov_east_1/__init__.py | 9 +-
.../aws-apigatewayv2-integration.json | 99 ++
.../us_gov_east_1/aws-codebuild-project.json | 1 +
.../aws-codepipeline-pipeline.json | 355 ----
.../providers/us_gov_east_1/aws-ec2-ipam.json | 148 ++
.../us_gov_east_1/aws-ec2-securitygroup.json | 239 ---
.../aws-ec2-subnetcidrblock.json | 78 -
.../us_gov_east_1/aws-ec2-vpccidrblock.json | 103 ++
.../us_gov_east_1/aws-glue-database.json | 117 ++
.../aws-lambda-eventsourcemapping.json | 350 ----
.../us_gov_east_1/aws-lambda-function.json | 552 ++++++
.../providers/us_gov_west_1/__init__.py | 20 +-
.../aws-apigatewayv2-integration.json | 99 ++
.../us_gov_west_1/aws-codebuild-project.json | 1 +
.../aws-codepipeline-pipeline.json | 505 ------
.../providers/us_gov_west_1/aws-ec2-ipam.json | 148 ++
.../us_gov_west_1/aws-ec2-vpccidrblock.json | 103 ++
.../us_gov_west_1/aws-glue-database.json | 117 ++
.../us_gov_west_1/aws-lambda-function.json | 552 ++++++
.../us_gov_west_1/aws-redshift-cluster.json | 330 ----
.../aws-redshift-clustersubnetgroup.json | 158 --
.../aws-redshift-eventsubscription.json | 181 --
.../aws-redshift-scheduledaction.json | 188 --
.../schemas/providers/us_west_1/__init__.py | 8 +-
.../providers/us_west_1/aws-ec2-ipam.json | 148 ++
.../us_west_1/aws-ec2-securitygroup.json | 239 ---
.../us_west_1/aws-ec2-vpccidrblock.json | 103 ++
.../us_west_1/aws-glue-database.json | 117 ++
.../providers/us_west_1/aws-glue-trigger.json | 172 --
.../us_west_1/aws-iam-managedpolicy.json | 147 --
.../aws-lambda-eventsourcemapping.json | 359 ----
.../us_west_1/aws-msk-replicator.json | 349 ++++
.../schemas/providers/us_west_2/__init__.py | 6 +
.../us_west_2/aws-iam-managedpolicy.json | 149 --
.../providers/us_west_2/aws-s3-bucket.json | 1561 -----------------
348 files changed, 27287 insertions(+), 25985 deletions(-)
rename src/cfnlint/data/schemas/providers/{cn_north_1 => af_south_1}/aws-ec2-ipam.json (98%)
delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-securitygroup.json
delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-subnetcidrblock.json
rename src/cfnlint/data/schemas/providers/{cn_north_1 => af_south_1}/aws-ec2-vpccidrblock.json (90%)
delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-globalaccelerator-crossaccountattachment.json
create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-rds-globalcluster.json
delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-systemsmanagersap-application.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-integration.json
rename src/cfnlint/data/schemas/providers/{eu_central_1 => ap_east_1}/aws-ec2-ipam.json (98%)
delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-securitygroup.json
rename src/cfnlint/data/schemas/providers/{eu_central_1 => ap_east_1}/aws-ec2-vpccidrblock.json (90%)
create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-glue-trigger.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-iam-managedpolicy.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-globalcluster.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-systemsmanagersap-application.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-codebuild-fleet.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-location-geofencecollection.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-msk-replicator.json
rename src/cfnlint/data/schemas/providers/{us_west_2 => ap_northeast_2}/aws-ec2-ipam.json (98%)
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-securitygroup.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-subnetcidrblock.json
rename src/cfnlint/data/schemas/providers/{us_west_2 => ap_northeast_2}/aws-ec2-vpccidrblock.json (90%)
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-glue-trigger.json
rename src/cfnlint/data/schemas/providers/{ap_northeast_1 => ap_northeast_2}/aws-ivs-channel.json (94%)
rename src/cfnlint/data/schemas/providers/{ap_northeast_1 => ap_northeast_2}/aws-ivs-encoderconfiguration.json (96%)
rename src/cfnlint/data/schemas/providers/{ap_northeast_1 => ap_northeast_2}/aws-ivs-playbackkeypair.json (95%)
rename src/cfnlint/data/schemas/providers/{ap_northeast_1 => ap_northeast_2}/aws-ivs-playbackrestrictionpolicy.json (95%)
rename src/cfnlint/data/schemas/providers/{ap_northeast_1 => ap_northeast_2}/aws-ivs-recordingconfiguration.json (98%)
rename src/cfnlint/data/schemas/providers/{ap_northeast_1 => ap_northeast_2}/aws-ivs-stage.json (66%)
rename src/cfnlint/data/schemas/providers/{ap_northeast_1 => ap_northeast_2}/aws-ivs-storageconfiguration.json (96%)
rename src/cfnlint/data/schemas/providers/{ap_northeast_1 => ap_northeast_2}/aws-ivs-streamkey.json (95%)
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-globalcluster.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-synthetics-canary.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-synthetics-group.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-systemsmanagersap-application.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-securitygroup.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-glue-trigger.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-iam-managedpolicy.json
rename src/cfnlint/data/schemas/providers/{ap_south_2 => ap_northeast_3}/aws-medialive-multiplex.json (100%)
rename src/cfnlint/data/schemas/providers/{ap_south_2 => ap_northeast_3}/aws-medialive-multiplexprogram.json (100%)
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-systemsmanagersap-application.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-database.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-channel.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-encoderconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-playbackkeypair.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-playbackrestrictionpolicy.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-recordingconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-stage.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-storageconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-streamkey.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-lambda-eventsourcemapping.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-location-apikey.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-msk-replicator.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-apigatewayv2-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-securitygroup.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-codebuild-fleet.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-fleet.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-queue.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-storageprofile.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-lambda-eventsourcemapping.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-iam-managedpolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-lambda-eventsourcemapping.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-location-apikey.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-msk-replicator.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigatewayv2-integration.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-logdeliveryconfiguration.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-userpool.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-subnetcidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-globalcluster.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-systemsmanagersap-application.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigatewayv2-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-subnetcidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-globalcluster.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-securitygroup.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-glue-trigger.json
delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-iam-managedpolicy.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-location-apikey.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-msk-replicator.json
delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-apigatewayv2-integration.json
delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-cognito-logdeliveryconfiguration.json
delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-cognito-userpool.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-ipam.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-glue-database.json
rename src/cfnlint/data/schemas/providers/{ap_south_2 => ca_west_1}/aws-iam-managedpolicy.json (99%)
rename src/cfnlint/data/schemas/providers/{eu_west_1 => ca_west_1}/aws-lambda-function.json (95%)
create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-apigatewayv2-integration.json
delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-apigatewayv2-vpclink.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-iam-managedpolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-s3-bucket.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-apigatewayv2-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-ipam.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-glue-database.json
rename src/cfnlint/data/schemas/providers/{eu_south_1 => cn_northwest_1}/aws-lambda-function.json (95%)
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-globalcluster.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-codebuild-fleet.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-iam-managedpolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-eventsourcemapping.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-location-apikey.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-msk-replicator.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-datasource.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-s3-bucket.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-apigatewayv2-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-ipam.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-glue-database.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-lambda-function.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-globalcluster.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-apigatewayv2-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-ipam.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-location-apikey.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-msk-replicator.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-globalcluster.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-systemsmanagersap-application.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-apigatewayv2-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-subnetcidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-rds-globalcluster.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-systemsmanagersap-application.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-apigatewayv2-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-securitygroup.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-glue-trigger.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-lambda-eventsourcemapping.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-lambda-function.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-ec2-ipam.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-iam-managedpolicy.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-msk-replicator.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-s3-bucket.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-apigatewayv2-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-ec2-securitygroup.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-glue-trigger.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-iam-managedpolicy.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-location-apikey.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-msk-replicator.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-globalcluster.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-securitygroup.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-subnetcidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-glue-trigger.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-lambda-eventsourcemapping.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-msk-replicator.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-globalcluster.json
delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-apigatewayv2-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-ipam.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-lambda-function.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-rds-globalcluster.json
create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-securitygroup.json
create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-glue-trigger.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-iam-managedpolicy.json
create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-rds-globalcluster.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-securitygroup.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-subnetcidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-rds-globalcluster.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-systemsmanagersap-application.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-ec2-vpccidrblock.json
delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-iam-managedpolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-lambda-eventsourcemapping.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-location-apikey.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-msk-replicator.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_1/aws-ivs-publickey.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-securitygroup.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-glue-trigger.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-iam-managedpolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-lambda-eventsourcemapping.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-msk-replicator.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigatewayv2-integration.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-codepipeline-pipeline.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-securitygroup.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-subnetcidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-lambda-eventsourcemapping.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-lambda-function.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigatewayv2-integration.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-codepipeline-pipeline.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-ipam.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-glue-database.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-lambda-function.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-cluster.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-clustersubnetgroup.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-eventsubscription.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-scheduledaction.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-ec2-securitygroup.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-ec2-vpccidrblock.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-glue-trigger.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-iam-managedpolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-lambda-eventsourcemapping.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-msk-replicator.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-iam-managedpolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-s3-bucket.json
diff --git a/docs/rules.md b/docs/rules.md
index 0cfe0fbacb..386f6af4bd 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 **229** rules are applied by this linter:
+The following **230** rules are applied by this linter:
| Rule ID | Title | Description | Config
(Name:Type:Default) | Source | Tags |
| -------- | ----- | ----------- | ---------- | ------ | ---- |
@@ -151,6 +151,7 @@ The following **229** rules are applied by this linter:
| [E3052](../src/cfnlint/rules/resources/ecs/ServiceNetworkConfiguration.py) | Validate ECS service requires NetworkConfiguration | When using an ECS task definition has NetworkMode set to 'awsvpc' then 'NetworkConfiguration' is required | | [Source]() | `resources`,`ecs` |
| [E3053](../src/cfnlint/rules/resources/ecs/TaskDefinitionAwsVpc.py) | Validate ECS task definition is has correct values for 'HostPort' | The 'HostPort' must either be undefined or equal to the 'ContainerPort' value | | [Source]() | `resources`,`ecs` |
| [E3054](../src/cfnlint/rules/resources/ecs/ServiceFargate.py) | Validate ECS service using Fargate uses TaskDefinition that allows Fargate | When using an ECS service with 'LaunchType' of 'FARGATE' the associated task definition must have 'RequiresCompatibilities' specified with 'FARGATE' listed | | [Source]() | `resources`,`ecs` |
+| [E3055](../src/cfnlint/rules/resources/CreationPolicy.py) | Check CreationPolicy values for Resources | Check that the CreationPolicy values are valid | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-creationpolicy.html) | `resources`,`creationPolicy` |
| [E3057](../src/cfnlint/rules/resources/cloudfront/DistributionTargetOriginId.py) | Validate that CloudFront TargetOriginId is a specified Origin | CloudFront TargetOriginId has to map to an Origin Id that is in the same DistributionConfig | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-targetoriginid) | `properties`,`cloudfront` |
| [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` |
diff --git a/pyproject.toml b/pyproject.toml
index feeefce44b..fb7f27a8c5 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -37,7 +37,7 @@ classifiers = [
dynamic = ["version", "readme"]
dependencies = [
"pyyaml>5.4",
- "aws-sam-translator>=1.89.0",
+ "aws-sam-translator>=1.91.0",
"jsonpatch",
"networkx>=2.4,<4",
"sympy>=1.0.0",
diff --git a/src/cfnlint/data/AdditionalSpecs/Policies.json b/src/cfnlint/data/AdditionalSpecs/Policies.json
index f7283e4156..ef08f6e4b2 100644
--- a/src/cfnlint/data/AdditionalSpecs/Policies.json
+++ b/src/cfnlint/data/AdditionalSpecs/Policies.json
@@ -38,6 +38,7 @@
"aws:Referer",
"aws:RequestTag/${TagKey}",
"aws:RequestedRegion",
+ "aws:ResourceAccount",
"aws:SecureTransport",
"aws:SourceAccount",
"aws:SourceArn",
@@ -4583,8 +4584,8 @@
]
},
"AWS Elemental Support Cases": {
- "ARNFormat": "arn:${Partition}:elemental-support-cases:${Region}:${Account}:${ResourceType}/${ResourceName}",
- "ARNRegex": "^arn:${Partition}:elemental-support-cases:.+:.+:.+",
+ "ARNFormat": "arn:aws:elemental-support-cases::${Account}:${ResourceType}/${ResourceId}",
+ "ARNRegex": "^arn:aws:elemental-support-cases::.+:.+",
"Actions": [
"CheckCasePermission",
"CreateCase",
@@ -4592,7 +4593,7 @@
"GetCases",
"UpdateCase"
],
- "HasResource": false,
+ "HasResource": true,
"StringPrefix": "elemental-support-cases"
},
"AWS Elemental Support Content": {
@@ -7326,6 +7327,7 @@
"GetFunctionConcurrency",
"GetFunctionConfiguration",
"GetFunctionEventInvokeConfig",
+ "GetFunctionRecursionConfig",
"GetFunctionUrlConfig",
"GetLayerVersion",
"GetLayerVersionPolicy",
@@ -7352,6 +7354,7 @@
"PutFunctionCodeSigningConfig",
"PutFunctionConcurrency",
"PutFunctionEventInvokeConfig",
+ "PutFunctionRecursionConfig",
"PutProvisionedConcurrencyConfig",
"PutRuntimeManagementConfig",
"RemoveLayerVersionPermission",
diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
index 6f1e846ca5..f86461c4a5 100644
--- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
@@ -1 +1 @@
-{"etag": "\"a9c9c4e86fa45d162e023d842e604188\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"6ce3e5d1d6ea0d8df907c30d4578c334\"", "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 890a97b3b1..1ccb3d0615 100644
--- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
@@ -1 +1 @@
-{"etag": "\"8d4bbc4aa97d77f9ede7a1836ddc5f07\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"}
+{"etag": "\"8fd780fa4fb249f047ee40f9e23b58d3\"", "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 aef7cf8d0c..5bf25a9e84 100644
--- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
@@ -1 +1 @@
-{"etag": "\"81d8f09a89ecb2230f0b179df8996946\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"b0ea00ff81529c43c1bc2dddec8d190c\"", "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 33b62126b8..9b0493eb78 100644
--- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json
@@ -1 +1 @@
-{"etag": "\"d11f98bcda3a8ccc97d6cf688544fb57\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"ada62c0c49d0cb4a8d6ef0b9c27c7104\"", "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 f39371b147..57fbd46400 100644
--- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
@@ -1 +1 @@
-{"etag": "\"36b0c92cafa5064b73ae0869e892c225\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"6a4c323a3703fe7109e3412f281fa1d5\"", "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 76db7da9be..411066dda5 100644
--- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
@@ -1 +1 @@
-{"etag": "\"78789e0c7af8c1303404a2a4f0da6a79\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"1e97ee22f19c523e6d5e89f5f23fd451\"", "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 7dd47a7a87..dc1b9d7bc4 100644
--- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
@@ -1 +1 @@
-{"etag": "\"e757e5729a6bd1a6e8c870d8658c3c9f\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"88f78da13b19f036e71beb77bfe910be\"", "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 d9a0c35f71..f84041688e 100644
--- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
@@ -1 +1 @@
-{"etag": "\"497460ebdf9488d4d017d7e3b0809c50\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"}
+{"etag": "\"4ee12757f0bb3ccc8fab7cc9fe902fa6\"", "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 97bc19212d..ff2a5a0d0e 100644
--- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
@@ -1 +1 @@
-{"etag": "\"4cdb7f14f2d97ad731d1bdaeca1700da\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"80160e5c817569ba21da6099b297a3c0\"", "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 991d34227e..5c533a79d4 100644
--- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
@@ -1 +1 @@
-{"etag": "\"34c927d08ab552209aacd52f1eb08854\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"9c40b422d08b193008bbc87734d8299c\"", "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 9358d8c224..235db719ed 100644
--- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
@@ -1 +1 @@
-{"etag": "\"1f6985441d8cec8f86226138533ffd9e\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"f85e25513f88dc15729c024fee81b646\"", "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 4cbdf4d55f..26060d4844 100644
--- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
@@ -1 +1 @@
-{"etag": "\"c67491b937cbca30e5643490c3713233\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"a6385715d51782a9e21d95886d894bef\"", "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 3324036e23..412e38758c 100644
--- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
@@ -1 +1 @@
-{"etag": "\"49b4ba9cf518f9a27c6c9be0dda75ea5\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"d176ea1d54f5b58810fb9dcbb357daca\"", "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 af3a915a1f..e0ed3ca5ea 100644
--- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
@@ -1 +1 @@
-{"etag": "\"cfa2b90f927f17625204fc1ab1b311e9\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"99e830b68eaf596144bd1a33ff4afc4b\"", "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 9964bd629a..e353730d38 100644
--- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
@@ -1 +1 @@
-{"etag": "\"aeb4ffeeedc8d49f503a9f65b041cc74\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"b41b991c0eca5247a9235256ad0ca4ed\"", "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 291fe680c2..e7adbfde42 100644
--- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
@@ -1 +1 @@
-{"etag": "\"867994cd046d42513307dd8acaf7c0e5\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"0dfb7d115d88661164d5bc1c913949b2\"", "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 68a313e220..098281fb64 100644
--- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json
@@ -1 +1 @@
-{"etag": "\"af6cd5cd9651be94c924330fc46da771\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"b6208cce625cfb68610110ad10e189d5\"", "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 0a5c96dafd..5e492fe5fd 100644
--- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
@@ -1 +1 @@
-{"etag": "\"9375c0a4a1772b1535696ffdfbd14897\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"d5e3b0a1731d2304213d657191c3a3ee\"", "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 b2d5b75493..743d21db63 100644
--- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
@@ -1 +1 @@
-{"etag": "\"0ee642e1495742e52dcf2a12e4d2bc7e\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"4a47b649b53ab2fe52f7445b6c36cf51\"", "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 f77989f752..251855ac68 100644
--- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
@@ -1 +1 @@
-{"etag": "\"e3f5a2ac51486a85388adfe5ab1bf4bc\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"6ebe0cc9bc33522131e9c3516e0ed8be\"", "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 155fa74e1d..ef7af236f5 100644
--- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
@@ -1 +1 @@
-{"etag": "\"7cebb3ea36e7226be417d7a831c7a6c5\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"b994c14e01743c09542f14bb5451546b\"", "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 23f820805e..0cfaaa9afa 100644
--- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
@@ -1 +1 @@
-{"etag": "\"8aa6afe23e4ba8cfd27b3166c0b162b8\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"37eca843556e041a27a348e4830b4ec1\"", "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 7bce7c8cb9..3a251cfeeb 100644
--- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
@@ -1 +1 @@
-{"etag": "\"04cfce05a445a6067f4e4dcfdd4e832c\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"746a55b5d4e349ceb159d1c443e3b002\"", "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 06b78d9995..49a185c285 100644
--- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json
@@ -1 +1 @@
-{"etag": "\"168516956e0ed2df032f541093cd7821\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"805f5d32bf293e7f046955708b4b9970\"", "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 00c80738c3..329cde8b55 100644
--- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
@@ -1 +1 @@
-{"etag": "\"4f056012bf992e61b76ded075456a22e\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"2e9d9ff8d5ddb3a91fca787acf0c47d2\"", "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 dce7c953de..a1befd179a 100644
--- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
@@ -1 +1 @@
-{"etag": "\"fbf0db5e9887d611f69c954a2762d7aa\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"448a8a085e9b665cbe8c0f0154c1257e\"", "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 3d2484681c..de807273f3 100644
--- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
@@ -1 +1 @@
-{"etag": "\"062be2a99b28710bf0acc65510cc749b\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"7110bdbbe709b44197a37d40602fbf3f\"", "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 a849c5d629..1458dcbbe2 100644
--- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
@@ -1 +1 @@
-{"etag": "\"75a7b77d6f70ff6f137cec863db1883b\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"f5604f5f9d0ee4a93ad1c29d0613a601\"", "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 b4c1afc278..c8f54dd6d4 100644
--- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json
@@ -1 +1 @@
-{"etag": "\"c136a0b7b3c31063afb98b307eef8488\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"6f244c583eeda76ac01384b2708f5652\"", "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 6e255dfa51..9d53816967 100644
--- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
@@ -1 +1 @@
-{"etag": "\"41b97ecec6cab2ecb46a51ff9e8e676d\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"f044c92500dd3925e37745d4ffda4f1e\"", "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 07d2e15fb1..ff7c72c1f4 100644
--- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
@@ -1 +1 @@
-{"etag": "\"db7bc9004323e26af70306afb3e6b337\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"f2ac4d8be8389b7813f29923fc15d9f3\"", "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 b48e1e5781..0d1196cc92 100644
--- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
@@ -1 +1 @@
-{"etag": "\"dc6fb54c5b6269da98569642f66c9192\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"3bd47d6ea7b7e569450c0f35b52f96b4\"", "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 2d6db50c85..6b1526e91d 100644
--- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
@@ -1 +1 @@
-{"etag": "\"c3b379c4d59f49e6f9ca02dd7143a36b\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"3461570e56d9a00c6b7e10a850527b6f\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json
index bf5e16c908..2e0446703c 100644
--- a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json
+++ b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json
@@ -246,6 +246,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -1070,6 +1078,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -1894,6 +1910,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -2718,6 +2742,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -3542,6 +3574,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -4366,6 +4406,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -5190,6 +5238,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -6014,6 +6070,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -6838,6 +6902,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -7662,6 +7734,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -8486,6 +8566,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -9310,6 +9398,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -10134,6 +10230,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -10958,6 +11062,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -11782,6 +11894,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -12606,6 +12726,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -13430,6 +13558,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -14254,6 +14390,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -15078,6 +15222,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -15902,6 +16054,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -16726,6 +16886,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -17550,6 +17718,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -18374,6 +18550,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -19198,6 +19382,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -20022,6 +20214,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -20846,6 +21046,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -21670,6 +21878,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -22494,6 +22710,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -23318,6 +23542,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -24142,6 +24374,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -24966,6 +25206,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -25790,6 +26038,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
@@ -26614,6 +26870,14 @@
"g6.4xlarge",
"g6.8xlarge",
"g6.xlarge",
+ "g6e.12xlarge",
+ "g6e.16xlarge",
+ "g6e.24xlarge",
+ "g6e.2xlarge",
+ "g6e.48xlarge",
+ "g6e.4xlarge",
+ "g6e.8xlarge",
+ "g6e.xlarge",
"gr6.4xlarge",
"gr6.8xlarge",
"h1.16xlarge",
diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_codebuild_project/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_codebuild_project/boto.json
index 19b60b5fda..3538d61303 100644
--- a/src/cfnlint/data/schemas/patches/extensions/all/aws_codebuild_project/boto.json
+++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_codebuild_project/boto.json
@@ -49,6 +49,7 @@
"LINUX_CONTAINER",
"LINUX_GPU_CONTAINER",
"LINUX_LAMBDA_CONTAINER",
+ "MAC_ARM",
"WINDOWS_CONTAINER",
"WINDOWS_SERVER_2019_CONTAINER"
]
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 7ec6e44b12..b6f1da3f23 100644
--- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py
@@ -1084,7 +1084,6 @@
"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",
@@ -1110,11 +1109,13 @@
"aws-ec2-prefixlist.json",
"aws-ec2-route.json",
"aws-ec2-routetable.json",
+ "aws-ec2-securitygroup.json",
"aws-ec2-securitygroupegress.json",
"aws-ec2-securitygroupingress.json",
"aws-ec2-snapshotblockpublicaccess.json",
"aws-ec2-spotfleet.json",
"aws-ec2-subnet.json",
+ "aws-ec2-subnetcidrblock.json",
"aws-ec2-subnetnetworkaclassociation.json",
"aws-ec2-subnetroutetableassociation.json",
"aws-ec2-trafficmirrorfilter.json",
@@ -1136,7 +1137,6 @@
"aws-ec2-volume.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
- "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpoint.json",
"aws-ec2-vpcendpointconnectionnotification.json",
@@ -1219,13 +1219,13 @@
"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",
@@ -1238,6 +1238,7 @@
"aws-glue-schemaversionmetadata.json",
"aws-glue-securityconfiguration.json",
"aws-glue-table.json",
+ "aws-glue-trigger.json",
"aws-glue-workflow.json",
"aws-groundstation-config.json",
"aws-groundstation-dataflowendpointgroup.json",
@@ -1402,7 +1403,6 @@
"aws-rds-dbsecuritygroupingress.json",
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
- "aws-rds-globalcluster.json",
"aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
@@ -1551,6 +1551,7 @@
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
+ "aws-systemsmanagersap-application.json",
"aws-transfer-agreement.json",
"aws-transfer-certificate.json",
"aws-transfer-connector.json",
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-ipam.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-ipam.json
similarity index 98%
rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-ipam.json
rename to src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-ipam.json
index a98b09b96a..69ed6aeb61 100644
--- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-ipam.json
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-ipam.json
@@ -85,9 +85,6 @@
"Description": {
"type": "string"
},
- "EnablePrivateGua": {
- "type": "boolean"
- },
"IpamId": {
"type": "string"
},
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-securitygroup.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-securitygroup.json
deleted file mode 100644
index 6713650d36..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-securitygroup.json
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GroupDescription",
- "/properties/GroupName",
- "/properties/VpcId"
- ],
- "definitions": {
- "Egress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "DestinationPrefixListId": {
- "type": "string"
- },
- "DestinationSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "DestinationSecurityGroupId",
- "DestinationPrefixListId"
- ],
- "type": "object"
- },
- "Ingress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "SourcePrefixListId": {
- "type": "string"
- },
- "SourceSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "SourceSecurityGroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "SourceSecurityGroupOwnerId": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "SourcePrefixListId",
- "SourceSecurityGroupId",
- "SourceSecurityGroupName"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "dependentRequired": {
- "SecurityGroupEgress": [
- "VpcId"
- ]
- },
- "handlers": {
- "create": {
- "permissions": [
- "ec2:CreateSecurityGroup",
- "ec2:DescribeSecurityGroups",
- "ec2:RevokeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DeleteSecurityGroup",
- "ec2:DescribeInstances"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "update": {
- "permissions": [
- "ec2:RevokeSecurityGroupEgress",
- "ec2:RevokeSecurityGroupIngress",
- "ec2:DescribeSecurityGroups",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags",
- "ec2:DeleteTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "GroupDescription": {
- "maxLength": 255,
- "minLength": 0,
- "pattern": "^([a-z,A-Z,0-9,. _\\-:/()#,@[\\]+=&;\\{\\}!$*])*$",
- "type": "string"
- },
- "GroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "GroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "SecurityGroupEgress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Egress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SecurityGroupIngress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Ingress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "VpcId": {
- "format": "AWS::EC2::VPC.Id",
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/SecurityGroupEgress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupEgress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupEgress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)",
- "/properties/SecurityGroupIngress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupIngress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupIngress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)"
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/GroupId"
- ],
- "required": [
- "GroupDescription"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::EC2::SecurityGroup",
- "writeOnlyProperties": [
- "/properties/SecurityGroupIngress/*/SourceSecurityGroupName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-subnetcidrblock.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-subnetcidrblock.json
deleted file mode 100644
index 500d506d74..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-subnetcidrblock.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Ipv6CidrBlock",
- "/properties/SubnetId",
- "/properties/Ipv6IpamPoolId",
- "/properties/Ipv6NetmaskLength"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "ec2:AssociateSubnetCidrBlock",
- "ec2:DescribeSubnets"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DisassociateSubnetCidrBlock",
- "ec2:DescribeSubnets"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeSubnets"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeSubnets"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Id": {
- "type": "string"
- },
- "Ipv6CidrBlock": {
- "maxLength": 42,
- "type": "string"
- },
- "Ipv6IpamPoolId": {
- "type": "string"
- },
- "Ipv6NetmaskLength": {
- "maximum": 128,
- "minimum": 0,
- "type": "integer"
- },
- "SubnetId": {
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/Ipv6CidrBlock": "$join([$match($replace(Ipv6CidrBlock, /(^|:)(0{1,4})([0-9a-fA-F]{1,4})/, \"$1$3\"), /^([0-9a-fA-F]{1,4}:){4}/).match, \":/64\"])"
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "SubnetId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/subnetcidrblock",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::EC2::SubnetCidrBlock",
- "writeOnlyProperties": [
- "/properties/Ipv6IpamPoolId",
- "/properties/Ipv6NetmaskLength"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpccidrblock.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-vpccidrblock.json
similarity index 90%
rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpccidrblock.json
rename to src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-vpccidrblock.json
index bfff0e625b..d12a123311 100644
--- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpccidrblock.json
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-vpccidrblock.json
@@ -61,18 +61,12 @@
"Id": {
"type": "string"
},
- "IpSource": {
- "type": "string"
- },
"Ipv4IpamPoolId": {
"type": "string"
},
"Ipv4NetmaskLength": {
"type": "integer"
},
- "Ipv6AddressAttribute": {
- "type": "string"
- },
"Ipv6CidrBlock": {
"type": "string"
},
@@ -91,9 +85,7 @@
}
},
"readOnlyProperties": [
- "/properties/Id",
- "/properties/Ipv6AddressAttribute",
- "/properties/IpSource"
+ "/properties/Id"
],
"required": [
"VpcId"
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-globalaccelerator-crossaccountattachment.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-globalaccelerator-crossaccountattachment.json
deleted file mode 100644
index 31881ad480..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-globalaccelerator-crossaccountattachment.json
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "Resource": {
- "additionalProperties": false,
- "properties": {
- "EndpointId": {
- "type": "string"
- },
- "Region": {
- "type": "string"
- }
- },
- "required": [
- "EndpointId"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 127,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "globalaccelerator:DescribeCrossAccountAttachment",
- "globalaccelerator:CreateCrossAccountAttachment",
- "globalaccelerator:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "globalaccelerator:DescribeCrossAccountAttachment",
- "globalaccelerator:DeleteCrossAccountAttachment"
- ]
- },
- "list": {
- "permissions": [
- "globalaccelerator:ListCrossAccountAttachments"
- ]
- },
- "read": {
- "permissions": [
- "globalaccelerator:DescribeCrossAccountAttachment"
- ]
- },
- "update": {
- "permissions": [
- "globalaccelerator:UpdateCrossAccountAttachment",
- "globalaccelerator:DescribeCrossAccountAttachment",
- "globalaccelerator:TagResource",
- "globalaccelerator:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/AttachmentArn"
- ],
- "properties": {
- "AttachmentArn": {
- "type": "string"
- },
- "Name": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[a-zA-Z0-9_-]{0,64}$",
- "type": "string"
- },
- "Principals": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "Resources": {
- "items": {
- "$ref": "#/definitions/Resource"
- },
- "type": "array"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/AttachmentArn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-globalaccelerator",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::GlobalAccelerator::CrossAccountAttachment",
- "writeOnlyProperties": [
- "/properties/Resources/*/Region"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-glue-database.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-glue-trigger.json
deleted file mode 100644
index 974dd89b9f..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-glue-trigger.json
+++ /dev/null
@@ -1,172 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/WorkflowName",
- "/properties/Type"
- ],
- "definitions": {
- "Action": {
- "additionalProperties": false,
- "properties": {
- "Arguments": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "NotificationProperty": {
- "$ref": "#/definitions/NotificationProperty"
- },
- "SecurityConfiguration": {
- "type": "string"
- },
- "Timeout": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Condition": {
- "additionalProperties": false,
- "properties": {
- "CrawlState": {
- "type": "string"
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "LogicalOperator": {
- "enum": [
- "EQUALS"
- ],
- "type": "string"
- },
- "State": {
- "enum": [
- "SUCCEEDED",
- "STOPPED",
- "TIMEOUT",
- "FAILED"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "EventBatchingCondition": {
- "additionalProperties": false,
- "properties": {
- "BatchSize": {
- "type": "integer"
- },
- "BatchWindow": {
- "type": "integer"
- }
- },
- "required": [
- "BatchSize"
- ],
- "type": "object"
- },
- "NotificationProperty": {
- "additionalProperties": false,
- "properties": {
- "NotifyDelayAfter": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Predicate": {
- "additionalProperties": false,
- "properties": {
- "Conditions": {
- "items": {
- "$ref": "#/definitions/Condition"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Logical": {
- "enum": [
- "AND",
- "ANY"
- ],
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Actions": {
- "items": {
- "$ref": "#/definitions/Action"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Description": {
- "type": "string"
- },
- "EventBatchingCondition": {
- "$ref": "#/definitions/EventBatchingCondition"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "Predicate": {
- "$ref": "#/definitions/Predicate"
- },
- "Schedule": {
- "type": "string"
- },
- "StartOnCreation": {
- "type": "boolean"
- },
- "Tags": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "Type": {
- "enum": [
- "CONDITIONAL",
- "EVENT",
- "ON_DEMAND",
- "SCHEDULED"
- ],
- "type": "string"
- },
- "WorkflowName": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "Type",
- "Actions"
- ],
- "typeName": "AWS::Glue::Trigger"
-}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-globalcluster.json
new file mode 100644
index 0000000000..9cf0aaadab
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-globalcluster.json
@@ -0,0 +1,99 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/GlobalClusterIdentifier",
+ "/properties/SourceDBClusterIdentifier",
+ "/properties/StorageEncrypted",
+ "/properties/Engine"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateGlobalCluster",
+ "rds:DescribeDBClusters",
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DescribeGlobalClusters",
+ "rds:DeleteGlobalCluster",
+ "rds:RemoveFromGlobalCluster",
+ "rds:DescribeDBClusters"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:ModifyGlobalCluster",
+ "rds:DescribeGlobalClusters"
+ ]
+ }
+ },
+ "oneOf": [
+ {
+ "required": [
+ "SourceDBClusterIdentifier"
+ ]
+ },
+ {
+ "required": [
+ "Engine"
+ ]
+ }
+ ],
+ "primaryIdentifier": [
+ "/properties/GlobalClusterIdentifier"
+ ],
+ "properties": {
+ "DeletionProtection": {
+ "type": "boolean"
+ },
+ "Engine": {
+ "enum": [
+ "aurora",
+ "aurora-mysql",
+ "aurora-postgresql"
+ ],
+ "type": "string"
+ },
+ "EngineLifecycleSupport": {
+ "type": "string"
+ },
+ "EngineVersion": {
+ "type": "string"
+ },
+ "GlobalClusterIdentifier": {
+ "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "SourceDBClusterIdentifier": {
+ "oneOf": [
+ {
+ "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$"
+ },
+ {
+ "pattern": "^(?=.{40,128}$)arn.*"
+ }
+ ],
+ "type": "string"
+ },
+ "StorageEncrypted": {
+ "type": "boolean"
+ }
+ },
+ "propertyTransform": {
+ "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds",
+ "typeName": "AWS::RDS::GlobalCluster"
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-systemsmanagersap-application.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-systemsmanagersap-application.json
deleted file mode 100644
index 4a0937c197..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-systemsmanagersap-application.json
+++ /dev/null
@@ -1,161 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Credentials",
- "/properties/Instances",
- "/properties/SapInstanceNumber",
- "/properties/Sid"
- ],
- "definitions": {
- "Credential": {
- "additionalProperties": false,
- "properties": {
- "CredentialType": {
- "enum": [
- "ADMIN"
- ],
- "type": "string"
- },
- "DatabaseName": {
- "pattern": "^(?=.{1,100}$).*",
- "type": "string"
- },
- "SecretId": {
- "pattern": "^(?=.{1,100}$).*",
- "type": "string"
- }
- },
- "type": "object"
- },
- "Instance": {
- "pattern": "^i-[\\w\\d]{8}$|^i-[\\w\\d]{17}$",
- "type": "string"
- },
- "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": [
- "ssm-sap:RegisterApplication",
- "ssm-sap:GetApplication",
- "ssm-sap:TagResource",
- "ssm-sap:ListTagsForResource"
- ]
- },
- "delete": {
- "permissions": [
- "ssm-sap:DeregisterApplication",
- "ssm-sap:GetApplication"
- ]
- },
- "list": {
- "permissions": [
- "ssm-sap:ListApplications"
- ]
- },
- "read": {
- "permissions": [
- "ssm-sap:GetApplication",
- "ssm-sap:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "ssm-sap:TagResource",
- "ssm-sap:UntagResource",
- "ssm-sap:ListTagsForResource",
- "ssm-sap:GetApplication"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "ApplicationId": {
- "pattern": "[\\w\\d]{1,50}",
- "type": "string"
- },
- "ApplicationType": {
- "enum": [
- "HANA"
- ],
- "type": "string"
- },
- "Arn": {
- "pattern": "^arn:(.+:){2,4}.+$|^arn:(.+:){1,3}.+\\/.+$",
- "type": "string"
- },
- "Credentials": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Credential"
- },
- "minItems": 1,
- "type": "array"
- },
- "Instances": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Instance"
- },
- "minItems": 1,
- "type": "array"
- },
- "SapInstanceNumber": {
- "pattern": "[0-9]{2}",
- "type": "string"
- },
- "Sid": {
- "pattern": "[A-Z][A-Z0-9]{2}",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "ApplicationId",
- "ApplicationType"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::SystemsManagerSAP::Application",
- "writeOnlyProperties": [
- "/properties/Credentials",
- "/properties/Instances",
- "/properties/SapInstanceNumber",
- "/properties/Sid"
- ]
-}
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 6b94f287e3..c699019569 100644
--- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
@@ -838,7 +838,6 @@
"aws-apigatewayv2-authorizer.json",
"aws-apigatewayv2-deployment.json",
"aws-apigatewayv2-domainname.json",
- "aws-apigatewayv2-integration.json",
"aws-apigatewayv2-integrationresponse.json",
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
@@ -1040,7 +1039,6 @@
"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",
@@ -1067,6 +1065,7 @@
"aws-ec2-prefixlist.json",
"aws-ec2-route.json",
"aws-ec2-routetable.json",
+ "aws-ec2-securitygroup.json",
"aws-ec2-securitygroupegress.json",
"aws-ec2-securitygroupingress.json",
"aws-ec2-snapshotblockpublicaccess.json",
@@ -1094,7 +1093,6 @@
"aws-ec2-volume.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
- "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpoint.json",
"aws-ec2-vpcendpointconnectionnotification.json",
@@ -1184,7 +1182,6 @@
"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",
@@ -1197,6 +1194,7 @@
"aws-glue-schemaversionmetadata.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",
@@ -1209,6 +1207,7 @@
"aws-iam-group.json",
"aws-iam-grouppolicy.json",
"aws-iam-instanceprofile.json",
+ "aws-iam-managedpolicy.json",
"aws-iam-oidcprovider.json",
"aws-iam-policy.json",
"aws-iam-role.json",
@@ -1374,7 +1373,6 @@
"aws-rds-dbsecuritygroupingress.json",
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
- "aws-rds-globalcluster.json",
"aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
@@ -1521,6 +1519,7 @@
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
+ "aws-systemsmanagersap-application.json",
"aws-transfer-agreement.json",
"aws-transfer-certificate.json",
"aws-transfer-connector.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-integration.json
new file mode 100644
index 0000000000..e7b7290e95
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-integration.json
@@ -0,0 +1,99 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ApiId"
+ ],
+ "definitions": {
+ "TlsConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ServerNameToVerify": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ApiId": {
+ "type": "string"
+ },
+ "ConnectionId": {
+ "type": "string"
+ },
+ "ConnectionType": {
+ "type": "string"
+ },
+ "ContentHandlingStrategy": {
+ "type": "string"
+ },
+ "CredentialsArn": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "IntegrationMethod": {
+ "type": "string"
+ },
+ "IntegrationSubtype": {
+ "type": "string"
+ },
+ "IntegrationType": {
+ "type": "string"
+ },
+ "IntegrationUri": {
+ "type": "string"
+ },
+ "PassthroughBehavior": {
+ "type": "string"
+ },
+ "PayloadFormatVersion": {
+ "type": "string"
+ },
+ "RequestParameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "RequestTemplates": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "ResponseParameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TemplateSelectionExpression": {
+ "type": "string"
+ },
+ "TimeoutInMillis": {
+ "type": "integer"
+ },
+ "TlsConfig": {
+ "$ref": "#/definitions/TlsConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "ApiId",
+ "IntegrationType"
+ ],
+ "typeName": "AWS::ApiGatewayV2::Integration"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-ipam.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-ipam.json
similarity index 98%
rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-ipam.json
rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-ipam.json
index a98b09b96a..69ed6aeb61 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-ipam.json
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-ipam.json
@@ -85,9 +85,6 @@
"Description": {
"type": "string"
},
- "EnablePrivateGua": {
- "type": "boolean"
- },
"IpamId": {
"type": "string"
},
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-securitygroup.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-securitygroup.json
deleted file mode 100644
index 6713650d36..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-securitygroup.json
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GroupDescription",
- "/properties/GroupName",
- "/properties/VpcId"
- ],
- "definitions": {
- "Egress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "DestinationPrefixListId": {
- "type": "string"
- },
- "DestinationSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "DestinationSecurityGroupId",
- "DestinationPrefixListId"
- ],
- "type": "object"
- },
- "Ingress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "SourcePrefixListId": {
- "type": "string"
- },
- "SourceSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "SourceSecurityGroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "SourceSecurityGroupOwnerId": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "SourcePrefixListId",
- "SourceSecurityGroupId",
- "SourceSecurityGroupName"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "dependentRequired": {
- "SecurityGroupEgress": [
- "VpcId"
- ]
- },
- "handlers": {
- "create": {
- "permissions": [
- "ec2:CreateSecurityGroup",
- "ec2:DescribeSecurityGroups",
- "ec2:RevokeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DeleteSecurityGroup",
- "ec2:DescribeInstances"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "update": {
- "permissions": [
- "ec2:RevokeSecurityGroupEgress",
- "ec2:RevokeSecurityGroupIngress",
- "ec2:DescribeSecurityGroups",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags",
- "ec2:DeleteTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "GroupDescription": {
- "maxLength": 255,
- "minLength": 0,
- "pattern": "^([a-z,A-Z,0-9,. _\\-:/()#,@[\\]+=&;\\{\\}!$*])*$",
- "type": "string"
- },
- "GroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "GroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "SecurityGroupEgress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Egress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SecurityGroupIngress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Ingress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "VpcId": {
- "format": "AWS::EC2::VPC.Id",
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/SecurityGroupEgress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupEgress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupEgress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)",
- "/properties/SecurityGroupIngress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupIngress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupIngress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)"
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/GroupId"
- ],
- "required": [
- "GroupDescription"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::EC2::SecurityGroup",
- "writeOnlyProperties": [
- "/properties/SecurityGroupIngress/*/SourceSecurityGroupName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpccidrblock.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-vpccidrblock.json
similarity index 90%
rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpccidrblock.json
rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-vpccidrblock.json
index bfff0e625b..d12a123311 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpccidrblock.json
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-vpccidrblock.json
@@ -61,18 +61,12 @@
"Id": {
"type": "string"
},
- "IpSource": {
- "type": "string"
- },
"Ipv4IpamPoolId": {
"type": "string"
},
"Ipv4NetmaskLength": {
"type": "integer"
},
- "Ipv6AddressAttribute": {
- "type": "string"
- },
"Ipv6CidrBlock": {
"type": "string"
},
@@ -91,9 +85,7 @@
}
},
"readOnlyProperties": [
- "/properties/Id",
- "/properties/Ipv6AddressAttribute",
- "/properties/IpSource"
+ "/properties/Id"
],
"required": [
"VpcId"
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-glue-database.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-glue-trigger.json
deleted file mode 100644
index 974dd89b9f..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-glue-trigger.json
+++ /dev/null
@@ -1,172 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/WorkflowName",
- "/properties/Type"
- ],
- "definitions": {
- "Action": {
- "additionalProperties": false,
- "properties": {
- "Arguments": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "NotificationProperty": {
- "$ref": "#/definitions/NotificationProperty"
- },
- "SecurityConfiguration": {
- "type": "string"
- },
- "Timeout": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Condition": {
- "additionalProperties": false,
- "properties": {
- "CrawlState": {
- "type": "string"
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "LogicalOperator": {
- "enum": [
- "EQUALS"
- ],
- "type": "string"
- },
- "State": {
- "enum": [
- "SUCCEEDED",
- "STOPPED",
- "TIMEOUT",
- "FAILED"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "EventBatchingCondition": {
- "additionalProperties": false,
- "properties": {
- "BatchSize": {
- "type": "integer"
- },
- "BatchWindow": {
- "type": "integer"
- }
- },
- "required": [
- "BatchSize"
- ],
- "type": "object"
- },
- "NotificationProperty": {
- "additionalProperties": false,
- "properties": {
- "NotifyDelayAfter": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Predicate": {
- "additionalProperties": false,
- "properties": {
- "Conditions": {
- "items": {
- "$ref": "#/definitions/Condition"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Logical": {
- "enum": [
- "AND",
- "ANY"
- ],
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Actions": {
- "items": {
- "$ref": "#/definitions/Action"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Description": {
- "type": "string"
- },
- "EventBatchingCondition": {
- "$ref": "#/definitions/EventBatchingCondition"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "Predicate": {
- "$ref": "#/definitions/Predicate"
- },
- "Schedule": {
- "type": "string"
- },
- "StartOnCreation": {
- "type": "boolean"
- },
- "Tags": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "Type": {
- "enum": [
- "CONDITIONAL",
- "EVENT",
- "ON_DEMAND",
- "SCHEDULED"
- ],
- "type": "string"
- },
- "WorkflowName": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "Type",
- "Actions"
- ],
- "typeName": "AWS::Glue::Trigger"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iam-managedpolicy.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-iam-managedpolicy.json
deleted file mode 100644
index f913eca461..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iam-managedpolicy.json
+++ /dev/null
@@ -1,147 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ManagedPolicyName",
- "/properties/Description",
- "/properties/Path"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreatePolicy",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- },
- "delete": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:DeletePolicyVersion",
- "iam:DeletePolicy",
- "iam:ListEntitiesForPolicy"
- ]
- },
- "list": {
- "permissions": [
- "iam:ListPolicies"
- ]
- },
- "read": {
- "permissions": [
- "iam:GetPolicy",
- "iam:ListEntitiesForPolicy",
- "iam:GetPolicyVersion"
- ]
- },
- "update": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:CreatePolicyVersion",
- "iam:DeletePolicyVersion",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/PolicyArn"
- ],
- "properties": {
- "AttachmentCount": {
- "type": "integer"
- },
- "CreateDate": {
- "type": "string"
- },
- "DefaultVersionId": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Groups": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "IsAttachable": {
- "type": "boolean"
- },
- "ManagedPolicyName": {
- "type": "string"
- },
- "Path": {
- "pattern": "^/(.+/)*$",
- "type": "string"
- },
- "PermissionsBoundaryUsageCount": {
- "type": "integer"
- },
- "PolicyArn": {
- "type": "string"
- },
- "PolicyDocument": {
- "maxLength": 6144,
- "type": [
- "object",
- "string"
- ]
- },
- "PolicyId": {
- "type": "string"
- },
- "Roles": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "UpdateDate": {
- "type": "string"
- },
- "Users": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/PolicyArn",
- "/properties/AttachmentCount",
- "/properties/CreateDate",
- "/properties/DefaultVersionId",
- "/properties/IsAttachable",
- "/properties/PermissionsBoundaryUsageCount",
- "/properties/PolicyId",
- "/properties/UpdateDate"
- ],
- "required": [
- "PolicyDocument"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iam",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::IAM::ManagedPolicy"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-globalcluster.json
new file mode 100644
index 0000000000..9cf0aaadab
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-globalcluster.json
@@ -0,0 +1,99 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/GlobalClusterIdentifier",
+ "/properties/SourceDBClusterIdentifier",
+ "/properties/StorageEncrypted",
+ "/properties/Engine"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateGlobalCluster",
+ "rds:DescribeDBClusters",
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DescribeGlobalClusters",
+ "rds:DeleteGlobalCluster",
+ "rds:RemoveFromGlobalCluster",
+ "rds:DescribeDBClusters"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:ModifyGlobalCluster",
+ "rds:DescribeGlobalClusters"
+ ]
+ }
+ },
+ "oneOf": [
+ {
+ "required": [
+ "SourceDBClusterIdentifier"
+ ]
+ },
+ {
+ "required": [
+ "Engine"
+ ]
+ }
+ ],
+ "primaryIdentifier": [
+ "/properties/GlobalClusterIdentifier"
+ ],
+ "properties": {
+ "DeletionProtection": {
+ "type": "boolean"
+ },
+ "Engine": {
+ "enum": [
+ "aurora",
+ "aurora-mysql",
+ "aurora-postgresql"
+ ],
+ "type": "string"
+ },
+ "EngineLifecycleSupport": {
+ "type": "string"
+ },
+ "EngineVersion": {
+ "type": "string"
+ },
+ "GlobalClusterIdentifier": {
+ "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "SourceDBClusterIdentifier": {
+ "oneOf": [
+ {
+ "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$"
+ },
+ {
+ "pattern": "^(?=.{40,128}$)arn.*"
+ }
+ ],
+ "type": "string"
+ },
+ "StorageEncrypted": {
+ "type": "boolean"
+ }
+ },
+ "propertyTransform": {
+ "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds",
+ "typeName": "AWS::RDS::GlobalCluster"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-systemsmanagersap-application.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-systemsmanagersap-application.json
deleted file mode 100644
index 4a0937c197..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-systemsmanagersap-application.json
+++ /dev/null
@@ -1,161 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Credentials",
- "/properties/Instances",
- "/properties/SapInstanceNumber",
- "/properties/Sid"
- ],
- "definitions": {
- "Credential": {
- "additionalProperties": false,
- "properties": {
- "CredentialType": {
- "enum": [
- "ADMIN"
- ],
- "type": "string"
- },
- "DatabaseName": {
- "pattern": "^(?=.{1,100}$).*",
- "type": "string"
- },
- "SecretId": {
- "pattern": "^(?=.{1,100}$).*",
- "type": "string"
- }
- },
- "type": "object"
- },
- "Instance": {
- "pattern": "^i-[\\w\\d]{8}$|^i-[\\w\\d]{17}$",
- "type": "string"
- },
- "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": [
- "ssm-sap:RegisterApplication",
- "ssm-sap:GetApplication",
- "ssm-sap:TagResource",
- "ssm-sap:ListTagsForResource"
- ]
- },
- "delete": {
- "permissions": [
- "ssm-sap:DeregisterApplication",
- "ssm-sap:GetApplication"
- ]
- },
- "list": {
- "permissions": [
- "ssm-sap:ListApplications"
- ]
- },
- "read": {
- "permissions": [
- "ssm-sap:GetApplication",
- "ssm-sap:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "ssm-sap:TagResource",
- "ssm-sap:UntagResource",
- "ssm-sap:ListTagsForResource",
- "ssm-sap:GetApplication"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "ApplicationId": {
- "pattern": "[\\w\\d]{1,50}",
- "type": "string"
- },
- "ApplicationType": {
- "enum": [
- "HANA"
- ],
- "type": "string"
- },
- "Arn": {
- "pattern": "^arn:(.+:){2,4}.+$|^arn:(.+:){1,3}.+\\/.+$",
- "type": "string"
- },
- "Credentials": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Credential"
- },
- "minItems": 1,
- "type": "array"
- },
- "Instances": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Instance"
- },
- "minItems": 1,
- "type": "array"
- },
- "SapInstanceNumber": {
- "pattern": "[0-9]{2}",
- "type": "string"
- },
- "Sid": {
- "pattern": "[A-Z][A-Z0-9]{2}",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "ApplicationId",
- "ApplicationType"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::SystemsManagerSAP::Application",
- "writeOnlyProperties": [
- "/properties/Credentials",
- "/properties/Instances",
- "/properties/SapInstanceNumber",
- "/properties/Sid"
- ]
-}
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 709b51491e..40c4f7bff4 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py
@@ -613,6 +613,7 @@
"AWS::IVS::EncoderConfiguration",
"AWS::IVS::PlaybackKeyPair",
"AWS::IVS::PlaybackRestrictionPolicy",
+ "AWS::IVS::PublicKey",
"AWS::IVS::RecordingConfiguration",
"AWS::IVS::Stage",
"AWS::IVS::StorageConfiguration",
@@ -1435,7 +1436,6 @@
"aws-codeartifact-domain.json",
"aws-codeartifact-packagegroup.json",
"aws-codeartifact-repository.json",
- "aws-codebuild-fleet.json",
"aws-codebuild-project.json",
"aws-codebuild-reportgroup.json",
"aws-codebuild-sourcecredential.json",
@@ -1914,6 +1914,15 @@
"aws-iotwireless-taskdefinition.json",
"aws-iotwireless-wirelessdevice.json",
"aws-iotwireless-wirelessgateway.json",
+ "aws-ivs-channel.json",
+ "aws-ivs-encoderconfiguration.json",
+ "aws-ivs-playbackkeypair.json",
+ "aws-ivs-playbackrestrictionpolicy.json",
+ "aws-ivs-publickey.json",
+ "aws-ivs-recordingconfiguration.json",
+ "aws-ivs-stage.json",
+ "aws-ivs-storageconfiguration.json",
+ "aws-ivs-streamkey.json",
"aws-ivschat-loggingconfiguration.json",
"aws-ivschat-room.json",
"aws-kafkaconnect-connector.json",
@@ -1973,7 +1982,6 @@
"aws-lightsail-loadbalancertlscertificate.json",
"aws-lightsail-staticip.json",
"aws-location-apikey.json",
- "aws-location-geofencecollection.json",
"aws-location-map.json",
"aws-location-placeindex.json",
"aws-location-routecalculator.json",
@@ -2044,7 +2052,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-codebuild-fleet.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-codebuild-fleet.json
new file mode 100644
index 0000000000..4c870f71c0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-codebuild-fleet.json
@@ -0,0 +1,159 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Subnets": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:CreateFleet",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:DeleteFleet"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "codebuild:ListFleets"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "codebuild:BatchGetFleets"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:UpdateFleet",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "BaseCapacity": {
+ "minimum": 1,
+ "type": "integer"
+ },
+ "ComputeType": {
+ "enum": [
+ "BUILD_GENERAL1_SMALL",
+ "BUILD_GENERAL1_MEDIUM",
+ "BUILD_GENERAL1_LARGE",
+ "BUILD_GENERAL1_2XLARGE"
+ ],
+ "type": "string"
+ },
+ "EnvironmentType": {
+ "enum": [
+ "WINDOWS_SERVER_2019_CONTAINER",
+ "WINDOWS_SERVER_2022_CONTAINER",
+ "LINUX_CONTAINER",
+ "LINUX_GPU_CONTAINER",
+ "ARM_CONTAINER",
+ "MAC_ARM"
+ ],
+ "type": "string"
+ },
+ "FleetServiceRole": {
+ "pattern": "^(?:arn:)[a-zA-Z+-=,._:/@]+$",
+ "type": "string"
+ },
+ "FleetVpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ },
+ "ImageId": {
+ "pattern": "^((aws/codebuild/[A-Za-z-]+:[0-9]+(-[0-9._]+)?)|ami-[a-z0-9]{1,1020})$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 2,
+ "type": "string"
+ },
+ "OverflowBehavior": {
+ "enum": [
+ "QUEUE",
+ "ON_DEMAND"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CodeBuild::Fleet"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-location-geofencecollection.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-location-geofencecollection.json
new file mode 100644
index 0000000000..98904d38a1
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-location-geofencecollection.json
@@ -0,0 +1,168 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CollectionName",
+ "/properties/KmsKeyId"
+ ],
+ "definitions": {
+ "PricingPlan": {
+ "enum": [
+ "RequestBasedUsage"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[A-Za-z0-9 _=@:.+-/]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 50,
+ "patternProperties": {
+ "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "iso8601UTC": {
+ "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$",
+ "type": "string"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/PricingPlan",
+ "/properties/PricingPlanDataSource"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "geo:CreateGeofenceCollection",
+ "geo:DescribeGeofenceCollection",
+ "geo:TagResource",
+ "geo:UntagResource",
+ "kms:DescribeKey",
+ "kms:CreateGrant"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "geo:DeleteGeofenceCollection",
+ "geo:DescribeGeofenceCollection"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "geo:ListGeofenceCollections"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "geo:DescribeGeofenceCollection",
+ "kms:DescribeKey"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "geo:CreateGeofenceCollection",
+ "geo:DescribeGeofenceCollection",
+ "geo:TagResource",
+ "geo:UntagResource",
+ "kms:DescribeKey",
+ "kms:CreateGrant",
+ "geo:UpdateGeofenceCollection"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CollectionName"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 1600,
+ "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
+ "type": "string"
+ },
+ "CollectionArn": {
+ "maxLength": 1600,
+ "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
+ "type": "string"
+ },
+ "CollectionName": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^[-._\\w]+$",
+ "type": "string"
+ },
+ "CreateTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 0,
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PricingPlan": {
+ "$ref": "#/definitions/PricingPlan"
+ },
+ "PricingPlanDataSource": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "UpdateTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CollectionArn",
+ "/properties/Arn",
+ "/properties/CreateTime",
+ "/properties/UpdateTime"
+ ],
+ "required": [
+ "CollectionName"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Location::GeofenceCollection"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-msk-replicator.json
new file mode 100644
index 0000000000..19aeafdd58
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-msk-replicator.json
@@ -0,0 +1,373 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "ReplicationTopicNameConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationTopicNameConfigurationType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationTopicNameConfigurationType": {
+ "enum": [
+ "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS",
+ "IDENTICAL"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicNameConfiguration": {
+ "$ref": "#/definitions/ReplicationTopicNameConfiguration"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:CreateNetworkInterface",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "kafka:CreateReplicator",
+ "kafka:CreateReplicatorReference",
+ "kafka:DescribeClusterV2",
+ "kafka:DescribeReplicator",
+ "kafka:GetBootstrapBrokers",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "kafka:DeleteReplicator",
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "kafka:ListReplicators"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource",
+ "kafka:UntagResource",
+ "kafka:UpdateReplicationInfo"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "permissions": [
+ "kafka:UntagResource",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource"
+ ],
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}
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 de08fdbbc2..721a6de872 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py
@@ -1450,7 +1450,6 @@
"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",
@@ -1478,11 +1477,13 @@
"aws-ec2-prefixlist.json",
"aws-ec2-route.json",
"aws-ec2-routetable.json",
+ "aws-ec2-securitygroup.json",
"aws-ec2-securitygroupegress.json",
"aws-ec2-securitygroupingress.json",
"aws-ec2-snapshotblockpublicaccess.json",
"aws-ec2-spotfleet.json",
"aws-ec2-subnet.json",
+ "aws-ec2-subnetcidrblock.json",
"aws-ec2-subnetnetworkaclassociation.json",
"aws-ec2-subnetroutetableassociation.json",
"aws-ec2-trafficmirrorfilter.json",
@@ -1509,7 +1510,6 @@
"aws-ec2-volume.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
- "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpoint.json",
"aws-ec2-vpcendpointconnectionnotification.json",
@@ -1619,7 +1619,6 @@
"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",
@@ -1633,6 +1632,7 @@
"aws-glue-securityconfiguration.json",
"aws-glue-table.json",
"aws-glue-tableoptimizer.json",
+ "aws-glue-trigger.json",
"aws-glue-workflow.json",
"aws-grafana-workspace.json",
"aws-greengrass-connectordefinition.json",
@@ -1739,14 +1739,6 @@
"aws-iottwinmaker-scene.json",
"aws-iottwinmaker-syncjob.json",
"aws-iottwinmaker-workspace.json",
- "aws-ivs-channel.json",
- "aws-ivs-encoderconfiguration.json",
- "aws-ivs-playbackkeypair.json",
- "aws-ivs-playbackrestrictionpolicy.json",
- "aws-ivs-recordingconfiguration.json",
- "aws-ivs-stage.json",
- "aws-ivs-storageconfiguration.json",
- "aws-ivs-streamkey.json",
"aws-ivschat-loggingconfiguration.json",
"aws-ivschat-room.json",
"aws-kafkaconnect-connector.json",
@@ -1864,7 +1856,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
@@ -1958,7 +1949,6 @@
"aws-rds-dbsecuritygroupingress.json",
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
- "aws-rds-globalcluster.json",
"aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
@@ -2145,8 +2135,7 @@
"aws-stepfunctions-statemachine.json",
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
- "aws-synthetics-canary.json",
- "aws-synthetics-group.json",
+ "aws-systemsmanagersap-application.json",
"aws-transfer-agreement.json",
"aws-transfer-certificate.json",
"aws-transfer-connector.json",
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-ipam.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-ipam.json
similarity index 98%
rename from src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-ipam.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-ipam.json
index a98b09b96a..69ed6aeb61 100644
--- a/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-ipam.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-ipam.json
@@ -85,9 +85,6 @@
"Description": {
"type": "string"
},
- "EnablePrivateGua": {
- "type": "boolean"
- },
"IpamId": {
"type": "string"
},
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-securitygroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-securitygroup.json
deleted file mode 100644
index 6713650d36..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-securitygroup.json
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GroupDescription",
- "/properties/GroupName",
- "/properties/VpcId"
- ],
- "definitions": {
- "Egress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "DestinationPrefixListId": {
- "type": "string"
- },
- "DestinationSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "DestinationSecurityGroupId",
- "DestinationPrefixListId"
- ],
- "type": "object"
- },
- "Ingress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "SourcePrefixListId": {
- "type": "string"
- },
- "SourceSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "SourceSecurityGroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "SourceSecurityGroupOwnerId": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "SourcePrefixListId",
- "SourceSecurityGroupId",
- "SourceSecurityGroupName"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "dependentRequired": {
- "SecurityGroupEgress": [
- "VpcId"
- ]
- },
- "handlers": {
- "create": {
- "permissions": [
- "ec2:CreateSecurityGroup",
- "ec2:DescribeSecurityGroups",
- "ec2:RevokeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DeleteSecurityGroup",
- "ec2:DescribeInstances"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "update": {
- "permissions": [
- "ec2:RevokeSecurityGroupEgress",
- "ec2:RevokeSecurityGroupIngress",
- "ec2:DescribeSecurityGroups",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags",
- "ec2:DeleteTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "GroupDescription": {
- "maxLength": 255,
- "minLength": 0,
- "pattern": "^([a-z,A-Z,0-9,. _\\-:/()#,@[\\]+=&;\\{\\}!$*])*$",
- "type": "string"
- },
- "GroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "GroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "SecurityGroupEgress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Egress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SecurityGroupIngress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Ingress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "VpcId": {
- "format": "AWS::EC2::VPC.Id",
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/SecurityGroupEgress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupEgress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupEgress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)",
- "/properties/SecurityGroupIngress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupIngress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupIngress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)"
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/GroupId"
- ],
- "required": [
- "GroupDescription"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::EC2::SecurityGroup",
- "writeOnlyProperties": [
- "/properties/SecurityGroupIngress/*/SourceSecurityGroupName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-subnetcidrblock.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-subnetcidrblock.json
deleted file mode 100644
index 500d506d74..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-subnetcidrblock.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Ipv6CidrBlock",
- "/properties/SubnetId",
- "/properties/Ipv6IpamPoolId",
- "/properties/Ipv6NetmaskLength"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "ec2:AssociateSubnetCidrBlock",
- "ec2:DescribeSubnets"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DisassociateSubnetCidrBlock",
- "ec2:DescribeSubnets"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeSubnets"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeSubnets"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Id": {
- "type": "string"
- },
- "Ipv6CidrBlock": {
- "maxLength": 42,
- "type": "string"
- },
- "Ipv6IpamPoolId": {
- "type": "string"
- },
- "Ipv6NetmaskLength": {
- "maximum": 128,
- "minimum": 0,
- "type": "integer"
- },
- "SubnetId": {
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/Ipv6CidrBlock": "$join([$match($replace(Ipv6CidrBlock, /(^|:)(0{1,4})([0-9a-fA-F]{1,4})/, \"$1$3\"), /^([0-9a-fA-F]{1,4}:){4}/).match, \":/64\"])"
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "SubnetId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/subnetcidrblock",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::EC2::SubnetCidrBlock",
- "writeOnlyProperties": [
- "/properties/Ipv6IpamPoolId",
- "/properties/Ipv6NetmaskLength"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-vpccidrblock.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-vpccidrblock.json
similarity index 90%
rename from src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-vpccidrblock.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-vpccidrblock.json
index bfff0e625b..d12a123311 100644
--- a/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-vpccidrblock.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-vpccidrblock.json
@@ -61,18 +61,12 @@
"Id": {
"type": "string"
},
- "IpSource": {
- "type": "string"
- },
"Ipv4IpamPoolId": {
"type": "string"
},
"Ipv4NetmaskLength": {
"type": "integer"
},
- "Ipv6AddressAttribute": {
- "type": "string"
- },
"Ipv6CidrBlock": {
"type": "string"
},
@@ -91,9 +85,7 @@
}
},
"readOnlyProperties": [
- "/properties/Id",
- "/properties/Ipv6AddressAttribute",
- "/properties/IpSource"
+ "/properties/Id"
],
"required": [
"VpcId"
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-glue-database.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-glue-trigger.json
deleted file mode 100644
index 974dd89b9f..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-glue-trigger.json
+++ /dev/null
@@ -1,172 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/WorkflowName",
- "/properties/Type"
- ],
- "definitions": {
- "Action": {
- "additionalProperties": false,
- "properties": {
- "Arguments": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "NotificationProperty": {
- "$ref": "#/definitions/NotificationProperty"
- },
- "SecurityConfiguration": {
- "type": "string"
- },
- "Timeout": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Condition": {
- "additionalProperties": false,
- "properties": {
- "CrawlState": {
- "type": "string"
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "LogicalOperator": {
- "enum": [
- "EQUALS"
- ],
- "type": "string"
- },
- "State": {
- "enum": [
- "SUCCEEDED",
- "STOPPED",
- "TIMEOUT",
- "FAILED"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "EventBatchingCondition": {
- "additionalProperties": false,
- "properties": {
- "BatchSize": {
- "type": "integer"
- },
- "BatchWindow": {
- "type": "integer"
- }
- },
- "required": [
- "BatchSize"
- ],
- "type": "object"
- },
- "NotificationProperty": {
- "additionalProperties": false,
- "properties": {
- "NotifyDelayAfter": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Predicate": {
- "additionalProperties": false,
- "properties": {
- "Conditions": {
- "items": {
- "$ref": "#/definitions/Condition"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Logical": {
- "enum": [
- "AND",
- "ANY"
- ],
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Actions": {
- "items": {
- "$ref": "#/definitions/Action"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Description": {
- "type": "string"
- },
- "EventBatchingCondition": {
- "$ref": "#/definitions/EventBatchingCondition"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "Predicate": {
- "$ref": "#/definitions/Predicate"
- },
- "Schedule": {
- "type": "string"
- },
- "StartOnCreation": {
- "type": "boolean"
- },
- "Tags": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "Type": {
- "enum": [
- "CONDITIONAL",
- "EVENT",
- "ON_DEMAND",
- "SCHEDULED"
- ],
- "type": "string"
- },
- "WorkflowName": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "Type",
- "Actions"
- ],
- "typeName": "AWS::Glue::Trigger"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-channel.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-channel.json
similarity index 94%
rename from src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-channel.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-channel.json
index dd26542843..e4cb46dd5a 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-channel.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-channel.json
@@ -32,7 +32,7 @@
"delete": {
"permissions": [
"ivs:DeleteChannel",
- "ivs:UntagResource"
+ "ivs:UnTagResource"
]
},
"list": {
@@ -52,7 +52,7 @@
"ivs:GetChannel",
"ivs:UpdateChannel",
"ivs:TagResource",
- "ivs:UntagResource",
+ "ivs:UnTagResource",
"ivs:ListTagsForResource"
]
}
@@ -98,7 +98,6 @@
},
"Preset": {
"enum": [
- "",
"HIGHER_BANDWIDTH_DELIVERY",
"CONSTRAINED_BANDWIDTH_DELIVERY"
],
@@ -140,11 +139,6 @@
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
"tagging": {
"cloudFormationSystemTags": false,
- "permissions": [
- "ivs:TagResource",
- "ivs:UntagResource",
- "ivs:ListTagsForResource"
- ],
"tagOnCreate": true,
"tagProperty": "/properties/Tags",
"tagUpdatable": true,
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-encoderconfiguration.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-encoderconfiguration.json
similarity index 96%
rename from src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-encoderconfiguration.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-encoderconfiguration.json
index 7d54858419..34c05bbe86 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-encoderconfiguration.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-encoderconfiguration.json
@@ -127,11 +127,6 @@
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
"tagging": {
"cloudFormationSystemTags": false,
- "permissions": [
- "ivs:TagResource",
- "ivs:UntagResource",
- "ivs:ListTagsForResource"
- ],
"tagOnCreate": true,
"tagProperty": "/properties/Tags",
"tagUpdatable": true,
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-playbackkeypair.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-playbackkeypair.json
similarity index 95%
rename from src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-playbackkeypair.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-playbackkeypair.json
index f3a389e1f3..f80020c4a8 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-playbackkeypair.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-playbackkeypair.json
@@ -98,11 +98,6 @@
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
"tagging": {
"cloudFormationSystemTags": false,
- "permissions": [
- "ivs:TagResource",
- "ivs:UntagResource",
- "ivs:ListTagsForResource"
- ],
"tagOnCreate": true,
"tagProperty": "/properties/Tags",
"tagUpdatable": true,
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-playbackrestrictionpolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-playbackrestrictionpolicy.json
similarity index 95%
rename from src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-playbackrestrictionpolicy.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-playbackrestrictionpolicy.json
index 68b14f09e3..5fe616ae89 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-playbackrestrictionpolicy.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-playbackrestrictionpolicy.json
@@ -114,11 +114,6 @@
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
"tagging": {
"cloudFormationSystemTags": false,
- "permissions": [
- "ivs:TagResource",
- "ivs:UntagResource",
- "ivs:ListTagsForResource"
- ],
"tagOnCreate": true,
"tagProperty": "/properties/Tags",
"tagUpdatable": true,
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-recordingconfiguration.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-recordingconfiguration.json
similarity index 98%
rename from src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-recordingconfiguration.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-recordingconfiguration.json
index a7bb085d8e..e1c3e09a85 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-recordingconfiguration.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-recordingconfiguration.json
@@ -246,11 +246,6 @@
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
"tagging": {
"cloudFormationSystemTags": false,
- "permissions": [
- "ivs:TagResource",
- "ivs:UntagResource",
- "ivs:ListTagsForResource"
- ],
"tagOnCreate": true,
"tagProperty": "/properties/Tags",
"tagUpdatable": true,
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-stage.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-stage.json
similarity index 66%
rename from src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-stage.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-stage.json
index c352722844..e8d7395467 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-stage.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-stage.json
@@ -1,38 +1,6 @@
{
"additionalProperties": false,
"definitions": {
- "AutoParticipantRecordingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "MediaTypes": {
- "default": [
- "AUDIO_VIDEO"
- ],
- "insertionOrder": false,
- "items": {
- "enum": [
- "AUDIO_VIDEO",
- "AUDIO_ONLY"
- ],
- "type": "string"
- },
- "maxItems": 1,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "StorageConfigurationArn": {
- "maxLength": 128,
- "minLength": 0,
- "pattern": "^$|^arn:aws:ivs:[a-z0-9-]+:[0-9]+:storage-configuration/[a-zA-Z0-9-]+$",
- "type": "string"
- }
- },
- "required": [
- "StorageConfigurationArn"
- ],
- "type": "object"
- },
"Tag": {
"additionalProperties": false,
"properties": {
@@ -66,7 +34,7 @@
"delete": {
"permissions": [
"ivs:DeleteStage",
- "ivs:UntagResource"
+ "ivs:UnTagResource"
]
},
"list": {
@@ -86,7 +54,7 @@
"ivs:GetStage",
"ivs:UpdateStage",
"ivs:TagResource",
- "ivs:UntagResource",
+ "ivs:UnTagResource",
"ivs:ListTagsForResource"
]
}
@@ -107,9 +75,6 @@
"pattern": "^arn:aws[-a-z]*:ivs:[a-z0-9-]+:[0-9]+:stage/[a-zA-Z0-9-]+$",
"type": "string"
},
- "AutoParticipantRecordingConfiguration": {
- "$ref": "#/definitions/AutoParticipantRecordingConfiguration"
- },
"Name": {
"maxLength": 128,
"minLength": 0,
@@ -132,11 +97,6 @@
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
"tagging": {
"cloudFormationSystemTags": false,
- "permissions": [
- "ivs:TagResource",
- "ivs:UntagResource",
- "ivs:ListTagsForResource"
- ],
"tagOnCreate": true,
"tagProperty": "/properties/Tags",
"tagUpdatable": true,
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-storageconfiguration.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-storageconfiguration.json
similarity index 96%
rename from src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-storageconfiguration.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-storageconfiguration.json
index ee906d6087..b3470f4c42 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-storageconfiguration.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-storageconfiguration.json
@@ -123,11 +123,6 @@
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
"tagging": {
"cloudFormationSystemTags": false,
- "permissions": [
- "ivs:TagResource",
- "ivs:UntagResource",
- "ivs:ListTagsForResource"
- ],
"tagOnCreate": true,
"tagProperty": "/properties/Tags",
"tagUpdatable": true,
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-streamkey.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-streamkey.json
similarity index 95%
rename from src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-streamkey.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-streamkey.json
index b7bdb81731..cf085065b0 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ivs-streamkey.json
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ivs-streamkey.json
@@ -108,11 +108,6 @@
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
"tagging": {
"cloudFormationSystemTags": false,
- "permissions": [
- "ivs:TagResource",
- "ivs:UntagResource",
- "ivs:ListTagsForResource"
- ],
"tagOnCreate": true,
"tagProperty": "/properties/Tags",
"tagUpdatable": true,
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json
new file mode 100644
index 0000000000..442dc3b3a8
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json
@@ -0,0 +1,349 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn",
+ "/properties/ReplicationInfoList/*/TopicReplication/StartingPosition/Type"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:CreateNetworkInterface",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "kafka:CreateReplicator",
+ "kafka:CreateReplicatorReference",
+ "kafka:DescribeClusterV2",
+ "kafka:DescribeReplicator",
+ "kafka:GetBootstrapBrokers",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "kafka:DeleteReplicator",
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "kafka:ListReplicators"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource",
+ "kafka:UntagResource",
+ "kafka:UpdateReplicationInfo"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-globalcluster.json
new file mode 100644
index 0000000000..9cf0aaadab
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-globalcluster.json
@@ -0,0 +1,99 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/GlobalClusterIdentifier",
+ "/properties/SourceDBClusterIdentifier",
+ "/properties/StorageEncrypted",
+ "/properties/Engine"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateGlobalCluster",
+ "rds:DescribeDBClusters",
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DescribeGlobalClusters",
+ "rds:DeleteGlobalCluster",
+ "rds:RemoveFromGlobalCluster",
+ "rds:DescribeDBClusters"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:ModifyGlobalCluster",
+ "rds:DescribeGlobalClusters"
+ ]
+ }
+ },
+ "oneOf": [
+ {
+ "required": [
+ "SourceDBClusterIdentifier"
+ ]
+ },
+ {
+ "required": [
+ "Engine"
+ ]
+ }
+ ],
+ "primaryIdentifier": [
+ "/properties/GlobalClusterIdentifier"
+ ],
+ "properties": {
+ "DeletionProtection": {
+ "type": "boolean"
+ },
+ "Engine": {
+ "enum": [
+ "aurora",
+ "aurora-mysql",
+ "aurora-postgresql"
+ ],
+ "type": "string"
+ },
+ "EngineLifecycleSupport": {
+ "type": "string"
+ },
+ "EngineVersion": {
+ "type": "string"
+ },
+ "GlobalClusterIdentifier": {
+ "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "SourceDBClusterIdentifier": {
+ "oneOf": [
+ {
+ "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$"
+ },
+ {
+ "pattern": "^(?=.{40,128}$)arn.*"
+ }
+ ],
+ "type": "string"
+ },
+ "StorageEncrypted": {
+ "type": "boolean"
+ }
+ },
+ "propertyTransform": {
+ "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds",
+ "typeName": "AWS::RDS::GlobalCluster"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-synthetics-canary.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-synthetics-canary.json
new file mode 100644
index 0000000000..274392c7eb
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-synthetics-canary.json
@@ -0,0 +1,356 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name"
+ ],
+ "definitions": {
+ "ArtifactConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "S3Encryption": {
+ "$ref": "#/definitions/S3Encryption"
+ }
+ },
+ "type": "object"
+ },
+ "BaseScreenshot": {
+ "properties": {
+ "IgnoreCoordinates": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "ScreenshotName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ScreenshotName"
+ ],
+ "type": "object"
+ },
+ "Code": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "S3Bucket",
+ "S3Key"
+ ]
+ },
+ {
+ "required": [
+ "Script"
+ ]
+ }
+ ],
+ "properties": {
+ "Handler": {
+ "type": "string"
+ },
+ "S3Bucket": {
+ "type": "string"
+ },
+ "S3Key": {
+ "type": "string"
+ },
+ "S3ObjectVersion": {
+ "type": "string"
+ },
+ "Script": {
+ "type": "string"
+ },
+ "SourceLocationArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Handler"
+ ],
+ "type": "object"
+ },
+ "RunConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ActiveTracing": {
+ "type": "boolean"
+ },
+ "EnvironmentVariables": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z][a-zA-Z0-9_]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "MemoryInMB": {
+ "type": "integer"
+ },
+ "TimeoutInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3Encryption": {
+ "additionalProperties": false,
+ "properties": {
+ "EncryptionMode": {
+ "type": "string"
+ },
+ "KmsKeyArn": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Schedule": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "string"
+ },
+ "Expression": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Expression"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VPCConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "SubnetIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ },
+ "VisualReference": {
+ "additionalProperties": false,
+ "properties": {
+ "BaseCanaryRunId": {
+ "type": "string"
+ },
+ "BaseScreenshots": {
+ "items": {
+ "$ref": "#/definitions/BaseScreenshot"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "BaseCanaryRunId"
+ ],
+ "type": "object"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/DeleteLambdaResourcesOnCanaryDeletion"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "synthetics:CreateCanary",
+ "synthetics:StartCanary",
+ "synthetics:GetCanary",
+ "synthetics:TagResource",
+ "s3:CreateBucket",
+ "s3:GetObject",
+ "s3:GetObjectVersion",
+ "s3:PutBucketEncryption",
+ "s3:PutEncryptionConfiguration",
+ "s3:GetBucketLocation",
+ "lambda:CreateFunction",
+ "lambda:AddPermission",
+ "lambda:PublishVersion",
+ "lambda:UpdateFunctionConfiguration",
+ "lambda:GetFunctionConfiguration",
+ "lambda:GetLayerVersionByArn",
+ "lambda:GetLayerVersion",
+ "lambda:PublishLayerVersion",
+ "ec2:DescribeVpcs",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeSecurityGroups",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "synthetics:DeleteCanary",
+ "synthetics:GetCanary"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "synthetics:DescribeCanaries"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "synthetics:GetCanary",
+ "synthetics:DescribeCanaries",
+ "synthetics:ListTagsForResource",
+ "iam:ListRoles",
+ "s3:ListAllMyBuckets",
+ "s3:GetBucketLocation"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "synthetics:UpdateCanary",
+ "synthetics:StartCanary",
+ "synthetics:StopCanary",
+ "synthetics:GetCanary",
+ "synthetics:TagResource",
+ "synthetics:UntagResource",
+ "s3:GetObject",
+ "s3:GetObjectVersion",
+ "s3:PutBucketEncryption",
+ "s3:PutEncryptionConfiguration",
+ "s3:GetBucketLocation",
+ "lambda:AddPermission",
+ "lambda:PublishVersion",
+ "lambda:UpdateFunctionConfiguration",
+ "lambda:GetFunctionConfiguration",
+ "lambda:GetLayerVersionByArn",
+ "lambda:GetLayerVersion",
+ "lambda:PublishLayerVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Name"
+ ],
+ "properties": {
+ "ArtifactConfig": {
+ "$ref": "#/definitions/ArtifactConfig"
+ },
+ "ArtifactS3Location": {
+ "pattern": "^(s3|S3)://",
+ "type": "string"
+ },
+ "Code": {
+ "$ref": "#/definitions/Code"
+ },
+ "DeleteLambdaResourcesOnCanaryDeletion": {
+ "type": "boolean"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "FailureRetentionPeriod": {
+ "type": "integer"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[0-9a-z_\\-]{1,21}$",
+ "type": "string"
+ },
+ "RunConfig": {
+ "$ref": "#/definitions/RunConfig"
+ },
+ "RuntimeVersion": {
+ "type": "string"
+ },
+ "Schedule": {
+ "$ref": "#/definitions/Schedule"
+ },
+ "StartCanaryAfterCreation": {
+ "type": "boolean"
+ },
+ "State": {
+ "type": "string"
+ },
+ "SuccessRetentionPeriod": {
+ "type": "integer"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VPCConfig": {
+ "$ref": "#/definitions/VPCConfig"
+ },
+ "VisualReference": {
+ "$ref": "#/definitions/VisualReference"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/State",
+ "/properties/Code/SourceLocationArn"
+ ],
+ "required": [
+ "Name",
+ "Code",
+ "ArtifactS3Location",
+ "ExecutionRoleArn",
+ "Schedule",
+ "RuntimeVersion"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-synthetics",
+ "tagging": {
+ "taggable": true
+ },
+ "typeName": "AWS::Synthetics::Canary",
+ "writeOnlyProperties": [
+ "/properties/Code/S3Bucket",
+ "/properties/Code/S3Key",
+ "/properties/Code/S3ObjectVersion",
+ "/properties/Code/Script",
+ "/properties/DeleteLambdaResourcesOnCanaryDeletion",
+ "/properties/StartCanaryAfterCreation",
+ "/properties/RunConfig/EnvironmentVariables",
+ "/properties/VisualReference"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-synthetics-group.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-synthetics-group.json
new file mode 100644
index 0000000000..66d7a5ef08
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-synthetics-group.json
@@ -0,0 +1,111 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name"
+ ],
+ "definitions": {
+ "ResourceArn": {
+ "pattern": "arn:(aws[a-zA-Z-]*)?:synthetics:[a-z]{2}((-gov)|(-iso(b|e|f?)))?-[a-z]+-\\d{1}:\\d{12}:canary:[0-9a-z_\\-]",
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)([a-zA-Z\\d\\s_.:/=+\\-@]+)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^([a-zA-Z\\d\\s_.:/=+\\-@]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "synthetics:CreateGroup",
+ "synthetics:AssociateResource",
+ "synthetics:TagResource",
+ "synthetics:GetGroup"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "synthetics:DeleteGroup",
+ "synthetics:GetGroup"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "synthetics:ListGroups"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "synthetics:GetGroup",
+ "synthetics:ListTagsForResource",
+ "synthetics:ListGroupResources"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "synthetics:AssociateResource",
+ "synthetics:DisassociateResource",
+ "synthetics:TagResource",
+ "synthetics:UntagResource",
+ "synthetics:GetGroup",
+ "synthetics:ListGroupResources"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Name"
+ ],
+ "properties": {
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "pattern": "^[0-9a-z_\\-]{1,64}$",
+ "type": "string"
+ },
+ "ResourceArns": {
+ "items": {
+ "$ref": "#/definitions/ResourceArn"
+ },
+ "maxItems": 10,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Name"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-synthetics",
+ "tagging": {
+ "taggable": true
+ },
+ "typeName": "AWS::Synthetics::Group"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-systemsmanagersap-application.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-systemsmanagersap-application.json
deleted file mode 100644
index 4a0937c197..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-systemsmanagersap-application.json
+++ /dev/null
@@ -1,161 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Credentials",
- "/properties/Instances",
- "/properties/SapInstanceNumber",
- "/properties/Sid"
- ],
- "definitions": {
- "Credential": {
- "additionalProperties": false,
- "properties": {
- "CredentialType": {
- "enum": [
- "ADMIN"
- ],
- "type": "string"
- },
- "DatabaseName": {
- "pattern": "^(?=.{1,100}$).*",
- "type": "string"
- },
- "SecretId": {
- "pattern": "^(?=.{1,100}$).*",
- "type": "string"
- }
- },
- "type": "object"
- },
- "Instance": {
- "pattern": "^i-[\\w\\d]{8}$|^i-[\\w\\d]{17}$",
- "type": "string"
- },
- "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": [
- "ssm-sap:RegisterApplication",
- "ssm-sap:GetApplication",
- "ssm-sap:TagResource",
- "ssm-sap:ListTagsForResource"
- ]
- },
- "delete": {
- "permissions": [
- "ssm-sap:DeregisterApplication",
- "ssm-sap:GetApplication"
- ]
- },
- "list": {
- "permissions": [
- "ssm-sap:ListApplications"
- ]
- },
- "read": {
- "permissions": [
- "ssm-sap:GetApplication",
- "ssm-sap:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "ssm-sap:TagResource",
- "ssm-sap:UntagResource",
- "ssm-sap:ListTagsForResource",
- "ssm-sap:GetApplication"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "ApplicationId": {
- "pattern": "[\\w\\d]{1,50}",
- "type": "string"
- },
- "ApplicationType": {
- "enum": [
- "HANA"
- ],
- "type": "string"
- },
- "Arn": {
- "pattern": "^arn:(.+:){2,4}.+$|^arn:(.+:){1,3}.+\\/.+$",
- "type": "string"
- },
- "Credentials": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Credential"
- },
- "minItems": 1,
- "type": "array"
- },
- "Instances": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Instance"
- },
- "minItems": 1,
- "type": "array"
- },
- "SapInstanceNumber": {
- "pattern": "[0-9]{2}",
- "type": "string"
- },
- "Sid": {
- "pattern": "[A-Z][A-Z0-9]{2}",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "ApplicationId",
- "ApplicationType"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::SystemsManagerSAP::Application",
- "writeOnlyProperties": [
- "/properties/Credentials",
- "/properties/Instances",
- "/properties/SapInstanceNumber",
- "/properties/Sid"
- ]
-}
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 07c0d80f5a..87d785ef8a 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py
@@ -989,7 +989,6 @@
"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",
@@ -1016,6 +1015,7 @@
"aws-ec2-prefixlist.json",
"aws-ec2-route.json",
"aws-ec2-routetable.json",
+ "aws-ec2-securitygroup.json",
"aws-ec2-securitygroupegress.json",
"aws-ec2-securitygroupingress.json",
"aws-ec2-snapshotblockpublicaccess.json",
@@ -1042,7 +1042,6 @@
"aws-ec2-volume.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
- "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpoint.json",
"aws-ec2-vpcendpointconnectionnotification.json",
@@ -1134,7 +1133,6 @@
"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",
@@ -1143,6 +1141,7 @@
"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",
@@ -1155,6 +1154,7 @@
"aws-iam-group.json",
"aws-iam-grouppolicy.json",
"aws-iam-instanceprofile.json",
+ "aws-iam-managedpolicy.json",
"aws-iam-oidcprovider.json",
"aws-iam-policy.json",
"aws-iam-role.json",
@@ -1230,8 +1230,6 @@
"aws-mediaconnect-flowsource.json",
"aws-mediaconnect-flowvpcinterface.json",
"aws-mediaconnect-gateway.json",
- "aws-medialive-multiplex.json",
- "aws-medialive-multiplexprogram.json",
"aws-mediapackage-asset.json",
"aws-mediapackage-channel.json",
"aws-mediapackage-originendpoint.json",
@@ -1474,6 +1472,7 @@
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
"aws-synthetics-group.json",
+ "aws-systemsmanagersap-application.json",
"aws-transfer-agreement.json",
"aws-transfer-certificate.json",
"aws-transfer-connector.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-ipam.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-ipam.json
new file mode 100644
index 0000000000..69ed6aeb61
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-ipam.json
@@ -0,0 +1,148 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "IpamOperatingRegion": {
+ "additionalProperties": false,
+ "properties": {
+ "RegionName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RegionName"
+ ],
+ "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": [
+ "ec2:CreateIpam",
+ "iam:CreateServiceLinkedRole",
+ "ec2:CreateTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DeleteIpam",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:ModifyIpam",
+ "ec2:CreateTags",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IpamId"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryAssociationId": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryId": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "IpamId": {
+ "type": "string"
+ },
+ "OperatingRegions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/IpamOperatingRegion"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "PrivateDefaultScopeId": {
+ "type": "string"
+ },
+ "PublicDefaultScopeId": {
+ "maxLength": 255,
+ "type": "string"
+ },
+ "ResourceDiscoveryAssociationCount": {
+ "type": "integer"
+ },
+ "ScopeCount": {
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Tier": {
+ "enum": [
+ "free",
+ "advanced"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/IpamId",
+ "/properties/Arn",
+ "/properties/PublicDefaultScopeId",
+ "/properties/PrivateDefaultScopeId",
+ "/properties/ScopeCount",
+ "/properties/ResourceDiscoveryAssociationCount",
+ "/properties/DefaultResourceDiscoveryId",
+ "/properties/DefaultResourceDiscoveryAssociationId"
+ ],
+ "required": [],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::IPAM"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-securitygroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-securitygroup.json
deleted file mode 100644
index 6713650d36..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-securitygroup.json
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GroupDescription",
- "/properties/GroupName",
- "/properties/VpcId"
- ],
- "definitions": {
- "Egress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "DestinationPrefixListId": {
- "type": "string"
- },
- "DestinationSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "DestinationSecurityGroupId",
- "DestinationPrefixListId"
- ],
- "type": "object"
- },
- "Ingress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "SourcePrefixListId": {
- "type": "string"
- },
- "SourceSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "SourceSecurityGroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "SourceSecurityGroupOwnerId": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "SourcePrefixListId",
- "SourceSecurityGroupId",
- "SourceSecurityGroupName"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "dependentRequired": {
- "SecurityGroupEgress": [
- "VpcId"
- ]
- },
- "handlers": {
- "create": {
- "permissions": [
- "ec2:CreateSecurityGroup",
- "ec2:DescribeSecurityGroups",
- "ec2:RevokeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DeleteSecurityGroup",
- "ec2:DescribeInstances"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "update": {
- "permissions": [
- "ec2:RevokeSecurityGroupEgress",
- "ec2:RevokeSecurityGroupIngress",
- "ec2:DescribeSecurityGroups",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags",
- "ec2:DeleteTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "GroupDescription": {
- "maxLength": 255,
- "minLength": 0,
- "pattern": "^([a-z,A-Z,0-9,. _\\-:/()#,@[\\]+=&;\\{\\}!$*])*$",
- "type": "string"
- },
- "GroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "GroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "SecurityGroupEgress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Egress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SecurityGroupIngress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Ingress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "VpcId": {
- "format": "AWS::EC2::VPC.Id",
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/SecurityGroupEgress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupEgress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupEgress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)",
- "/properties/SecurityGroupIngress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupIngress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupIngress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)"
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/GroupId"
- ],
- "required": [
- "GroupDescription"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::EC2::SecurityGroup",
- "writeOnlyProperties": [
- "/properties/SecurityGroupIngress/*/SourceSecurityGroupName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-vpccidrblock.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-vpccidrblock.json
new file mode 100644
index 0000000000..d12a123311
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ec2-vpccidrblock.json
@@ -0,0 +1,103 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Ipv6Pool",
+ "/properties/VpcId",
+ "/properties/AmazonProvidedIpv6CidrBlock",
+ "/properties/Ipv6CidrBlock",
+ "/properties/CidrBlock",
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:AssociateVpcCidrBlock",
+ "ec2:DescribeVpcs",
+ "ec2:AllocateIpamPoolCidr"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DescribeVpcs",
+ "ec2:DisassociateVpcCidrBlock"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "VpcId"
+ ]
+ },
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id",
+ "/properties/VpcId"
+ ],
+ "properties": {
+ "AmazonProvidedIpv6CidrBlock": {
+ "type": "boolean"
+ },
+ "CidrBlock": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Ipv4IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv4NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6CidrBlock": {
+ "type": "string"
+ },
+ "Ipv6IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv6NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6Pool": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "VpcId"
+ ],
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::EC2::VPCCidrBlock",
+ "writeOnlyProperties": [
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-glue-database.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-glue-trigger.json
deleted file mode 100644
index 974dd89b9f..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-glue-trigger.json
+++ /dev/null
@@ -1,172 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/WorkflowName",
- "/properties/Type"
- ],
- "definitions": {
- "Action": {
- "additionalProperties": false,
- "properties": {
- "Arguments": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "NotificationProperty": {
- "$ref": "#/definitions/NotificationProperty"
- },
- "SecurityConfiguration": {
- "type": "string"
- },
- "Timeout": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Condition": {
- "additionalProperties": false,
- "properties": {
- "CrawlState": {
- "type": "string"
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "LogicalOperator": {
- "enum": [
- "EQUALS"
- ],
- "type": "string"
- },
- "State": {
- "enum": [
- "SUCCEEDED",
- "STOPPED",
- "TIMEOUT",
- "FAILED"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "EventBatchingCondition": {
- "additionalProperties": false,
- "properties": {
- "BatchSize": {
- "type": "integer"
- },
- "BatchWindow": {
- "type": "integer"
- }
- },
- "required": [
- "BatchSize"
- ],
- "type": "object"
- },
- "NotificationProperty": {
- "additionalProperties": false,
- "properties": {
- "NotifyDelayAfter": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Predicate": {
- "additionalProperties": false,
- "properties": {
- "Conditions": {
- "items": {
- "$ref": "#/definitions/Condition"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Logical": {
- "enum": [
- "AND",
- "ANY"
- ],
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Actions": {
- "items": {
- "$ref": "#/definitions/Action"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Description": {
- "type": "string"
- },
- "EventBatchingCondition": {
- "$ref": "#/definitions/EventBatchingCondition"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "Predicate": {
- "$ref": "#/definitions/Predicate"
- },
- "Schedule": {
- "type": "string"
- },
- "StartOnCreation": {
- "type": "boolean"
- },
- "Tags": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "Type": {
- "enum": [
- "CONDITIONAL",
- "EVENT",
- "ON_DEMAND",
- "SCHEDULED"
- ],
- "type": "string"
- },
- "WorkflowName": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "Type",
- "Actions"
- ],
- "typeName": "AWS::Glue::Trigger"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-iam-managedpolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-iam-managedpolicy.json
deleted file mode 100644
index f913eca461..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-iam-managedpolicy.json
+++ /dev/null
@@ -1,147 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ManagedPolicyName",
- "/properties/Description",
- "/properties/Path"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreatePolicy",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- },
- "delete": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:DeletePolicyVersion",
- "iam:DeletePolicy",
- "iam:ListEntitiesForPolicy"
- ]
- },
- "list": {
- "permissions": [
- "iam:ListPolicies"
- ]
- },
- "read": {
- "permissions": [
- "iam:GetPolicy",
- "iam:ListEntitiesForPolicy",
- "iam:GetPolicyVersion"
- ]
- },
- "update": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:CreatePolicyVersion",
- "iam:DeletePolicyVersion",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/PolicyArn"
- ],
- "properties": {
- "AttachmentCount": {
- "type": "integer"
- },
- "CreateDate": {
- "type": "string"
- },
- "DefaultVersionId": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Groups": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "IsAttachable": {
- "type": "boolean"
- },
- "ManagedPolicyName": {
- "type": "string"
- },
- "Path": {
- "pattern": "^/(.+/)*$",
- "type": "string"
- },
- "PermissionsBoundaryUsageCount": {
- "type": "integer"
- },
- "PolicyArn": {
- "type": "string"
- },
- "PolicyDocument": {
- "maxLength": 6144,
- "type": [
- "object",
- "string"
- ]
- },
- "PolicyId": {
- "type": "string"
- },
- "Roles": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "UpdateDate": {
- "type": "string"
- },
- "Users": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/PolicyArn",
- "/properties/AttachmentCount",
- "/properties/CreateDate",
- "/properties/DefaultVersionId",
- "/properties/IsAttachable",
- "/properties/PermissionsBoundaryUsageCount",
- "/properties/PolicyId",
- "/properties/UpdateDate"
- ],
- "required": [
- "PolicyDocument"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iam",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::IAM::ManagedPolicy"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-medialive-multiplex.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-medialive-multiplex.json
similarity index 100%
rename from src/cfnlint/data/schemas/providers/ap_south_2/aws-medialive-multiplex.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_3/aws-medialive-multiplex.json
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-medialive-multiplexprogram.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-medialive-multiplexprogram.json
similarity index 100%
rename from src/cfnlint/data/schemas/providers/ap_south_2/aws-medialive-multiplexprogram.json
rename to src/cfnlint/data/schemas/providers/ap_northeast_3/aws-medialive-multiplexprogram.json
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-systemsmanagersap-application.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-systemsmanagersap-application.json
deleted file mode 100644
index 4a0937c197..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-systemsmanagersap-application.json
+++ /dev/null
@@ -1,161 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Credentials",
- "/properties/Instances",
- "/properties/SapInstanceNumber",
- "/properties/Sid"
- ],
- "definitions": {
- "Credential": {
- "additionalProperties": false,
- "properties": {
- "CredentialType": {
- "enum": [
- "ADMIN"
- ],
- "type": "string"
- },
- "DatabaseName": {
- "pattern": "^(?=.{1,100}$).*",
- "type": "string"
- },
- "SecretId": {
- "pattern": "^(?=.{1,100}$).*",
- "type": "string"
- }
- },
- "type": "object"
- },
- "Instance": {
- "pattern": "^i-[\\w\\d]{8}$|^i-[\\w\\d]{17}$",
- "type": "string"
- },
- "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": [
- "ssm-sap:RegisterApplication",
- "ssm-sap:GetApplication",
- "ssm-sap:TagResource",
- "ssm-sap:ListTagsForResource"
- ]
- },
- "delete": {
- "permissions": [
- "ssm-sap:DeregisterApplication",
- "ssm-sap:GetApplication"
- ]
- },
- "list": {
- "permissions": [
- "ssm-sap:ListApplications"
- ]
- },
- "read": {
- "permissions": [
- "ssm-sap:GetApplication",
- "ssm-sap:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "ssm-sap:TagResource",
- "ssm-sap:UntagResource",
- "ssm-sap:ListTagsForResource",
- "ssm-sap:GetApplication"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "ApplicationId": {
- "pattern": "[\\w\\d]{1,50}",
- "type": "string"
- },
- "ApplicationType": {
- "enum": [
- "HANA"
- ],
- "type": "string"
- },
- "Arn": {
- "pattern": "^arn:(.+:){2,4}.+$|^arn:(.+:){1,3}.+\\/.+$",
- "type": "string"
- },
- "Credentials": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Credential"
- },
- "minItems": 1,
- "type": "array"
- },
- "Instances": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Instance"
- },
- "minItems": 1,
- "type": "array"
- },
- "SapInstanceNumber": {
- "pattern": "[0-9]{2}",
- "type": "string"
- },
- "Sid": {
- "pattern": "[A-Z][A-Z0-9]{2}",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "ApplicationId",
- "ApplicationType"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::SystemsManagerSAP::Application",
- "writeOnlyProperties": [
- "/properties/Credentials",
- "/properties/Instances",
- "/properties/SapInstanceNumber",
- "/properties/Sid"
- ]
-}
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 26aa6516a6..24fc9506df 100644
--- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py
@@ -1518,7 +1518,6 @@
"aws-ec2-volume.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
- "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpoint.json",
"aws-ec2-vpcendpointconnectionnotification.json",
@@ -1622,7 +1621,6 @@
"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",
@@ -1751,14 +1749,6 @@
"aws-iottwinmaker-scene.json",
"aws-iottwinmaker-syncjob.json",
"aws-iottwinmaker-workspace.json",
- "aws-ivs-channel.json",
- "aws-ivs-encoderconfiguration.json",
- "aws-ivs-playbackkeypair.json",
- "aws-ivs-playbackrestrictionpolicy.json",
- "aws-ivs-recordingconfiguration.json",
- "aws-ivs-stage.json",
- "aws-ivs-storageconfiguration.json",
- "aws-ivs-streamkey.json",
"aws-ivschat-loggingconfiguration.json",
"aws-ivschat-room.json",
"aws-kafkaconnect-connector.json",
@@ -1788,6 +1778,7 @@
"aws-lambda-alias.json",
"aws-lambda-codesigningconfig.json",
"aws-lambda-eventinvokeconfig.json",
+ "aws-lambda-eventsourcemapping.json",
"aws-lambda-function.json",
"aws-lambda-layerversion.json",
"aws-lambda-layerversionpermission.json",
@@ -1807,7 +1798,6 @@
"aws-lightsail-loadbalancer.json",
"aws-lightsail-loadbalancertlscertificate.json",
"aws-lightsail-staticip.json",
- "aws-location-apikey.json",
"aws-location-geofencecollection.json",
"aws-location-map.json",
"aws-location-placeindex.json",
@@ -1875,7 +1865,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-vpccidrblock.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-vpccidrblock.json
new file mode 100644
index 0000000000..d12a123311
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-vpccidrblock.json
@@ -0,0 +1,103 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Ipv6Pool",
+ "/properties/VpcId",
+ "/properties/AmazonProvidedIpv6CidrBlock",
+ "/properties/Ipv6CidrBlock",
+ "/properties/CidrBlock",
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:AssociateVpcCidrBlock",
+ "ec2:DescribeVpcs",
+ "ec2:AllocateIpamPoolCidr"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DescribeVpcs",
+ "ec2:DisassociateVpcCidrBlock"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "VpcId"
+ ]
+ },
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id",
+ "/properties/VpcId"
+ ],
+ "properties": {
+ "AmazonProvidedIpv6CidrBlock": {
+ "type": "boolean"
+ },
+ "CidrBlock": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Ipv4IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv4NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6CidrBlock": {
+ "type": "string"
+ },
+ "Ipv6IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv6NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6Pool": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "VpcId"
+ ],
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::EC2::VPCCidrBlock",
+ "writeOnlyProperties": [
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-database.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-channel.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-channel.json
new file mode 100644
index 0000000000..e4cb46dd5a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-channel.json
@@ -0,0 +1,148 @@
+{
+ "additionalProperties": false,
+ "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": [
+ "ivs:CreateChannel",
+ "ivs:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ivs:DeleteChannel",
+ "ivs:UnTagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ivs:ListChannels",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ivs:GetChannel",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ivs:GetChannel",
+ "ivs:UpdateChannel",
+ "ivs:TagResource",
+ "ivs:UnTagResource",
+ "ivs:ListTagsForResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Authorized": {
+ "default": false,
+ "type": "boolean"
+ },
+ "IngestEndpoint": {
+ "type": "string"
+ },
+ "InsecureIngest": {
+ "default": false,
+ "type": "boolean"
+ },
+ "LatencyMode": {
+ "default": "LOW",
+ "enum": [
+ "NORMAL",
+ "LOW"
+ ],
+ "type": "string"
+ },
+ "Name": {
+ "default": "-",
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^[a-zA-Z0-9-_]*$",
+ "type": "string"
+ },
+ "PlaybackUrl": {
+ "type": "string"
+ },
+ "Preset": {
+ "enum": [
+ "HIGHER_BANDWIDTH_DELIVERY",
+ "CONSTRAINED_BANDWIDTH_DELIVERY"
+ ],
+ "type": "string"
+ },
+ "RecordingConfigurationArn": {
+ "default": "",
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|arn:aws:ivs:[a-z0-9-]+:[0-9]+:recording-configuration/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "default": "STANDARD",
+ "enum": [
+ "STANDARD",
+ "BASIC",
+ "ADVANCED_SD",
+ "ADVANCED_HD"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/PlaybackUrl",
+ "/properties/IngestEndpoint"
+ ],
+ "required": [],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::IVS::Channel"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-encoderconfiguration.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-encoderconfiguration.json
new file mode 100644
index 0000000000..34c05bbe86
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-encoderconfiguration.json
@@ -0,0 +1,136 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/Video",
+ "/properties/Video/Bitrate",
+ "/properties/Video/Framerate",
+ "/properties/Video/Height",
+ "/properties/Video/Width"
+ ],
+ "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": [
+ "ivs:CreateEncoderConfiguration",
+ "ivs:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ivs:DeleteEncoderConfiguration",
+ "ivs:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ivs:ListEncoderConfigurations",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ivs:GetEncoderConfiguration",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ivs:GetEncoderConfiguration",
+ "ivs:ListTagsForResource",
+ "ivs:UntagResource",
+ "ivs:TagResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:encoder-configuration/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^[a-zA-Z0-9-_]*$",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Video": {
+ "additionalProperties": false,
+ "properties": {
+ "Bitrate": {
+ "default": 2500000,
+ "maximum": 8500000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "Framerate": {
+ "default": 30,
+ "maximum": 60,
+ "minimum": 1,
+ "type": "number"
+ },
+ "Height": {
+ "default": 720,
+ "maximum": 1920,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "Width": {
+ "default": 1280,
+ "maximum": 1920,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "required": [],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::IVS::EncoderConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-playbackkeypair.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-playbackkeypair.json
new file mode 100644
index 0000000000..f80020c4a8
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-playbackkeypair.json
@@ -0,0 +1,110 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/PublicKeyMaterial",
+ "/properties/Name"
+ ],
+ "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": [
+ "ivs:ImportPlaybackKeyPair",
+ "ivs:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ivs:DeletePlaybackKeyPair",
+ "ivs:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ivs:ListPlaybackKeyPairs",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ivs:GetPlaybackKeyPair"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ivs:GetPlaybackKeyPair",
+ "ivs:ListTagsForResource",
+ "ivs:UntagResource",
+ "ivs:TagResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:playback-key/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Fingerprint": {
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^[a-zA-Z0-9-_]*$",
+ "type": "string"
+ },
+ "PublicKeyMaterial": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Fingerprint"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::IVS::PlaybackKeyPair",
+ "writeOnlyProperties": [
+ "/properties/PublicKeyMaterial"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-playbackrestrictionpolicy.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-playbackrestrictionpolicy.json
new file mode 100644
index 0000000000..5fe616ae89
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-playbackrestrictionpolicy.json
@@ -0,0 +1,123 @@
+{
+ "additionalProperties": false,
+ "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": [
+ "ivs:CreatePlaybackRestrictionPolicy",
+ "ivs:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ivs:DeletePlaybackRestrictionPolicy",
+ "ivs:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ivs:ListPlaybackRestrictionPolicies",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ivs:GetPlaybackRestrictionPolicy",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ivs:GetPlaybackRestrictionPolicy",
+ "ivs:UpdatePlaybackRestrictionPolicy",
+ "ivs:ListTagsForResource",
+ "ivs:UntagResource",
+ "ivs:TagResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "AllowedCountries": {
+ "default": [],
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "AllowedOrigins": {
+ "default": [],
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Arn": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:playback-restriction-policy/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "EnableStrictOriginEnforcement": {
+ "default": false,
+ "type": "boolean"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^[a-zA-Z0-9-_]*$",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "required": [
+ "AllowedCountries",
+ "AllowedOrigins"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::IVS::PlaybackRestrictionPolicy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-recordingconfiguration.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-recordingconfiguration.json
new file mode 100644
index 0000000000..e1c3e09a85
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-recordingconfiguration.json
@@ -0,0 +1,255 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/DestinationConfiguration",
+ "/properties/DestinationConfiguration/S3",
+ "/properties/DestinationConfiguration/S3/BucketName",
+ "/properties/RecordingReconnectWindowSeconds",
+ "/properties/ThumbnailConfiguration",
+ "/properties/ThumbnailConfiguration/RecordingMode",
+ "/properties/ThumbnailConfiguration/TargetIntervalSeconds",
+ "/properties/ThumbnailConfiguration/Storage",
+ "/properties/ThumbnailConfiguration/Resolution",
+ "/properties/RenditionConfiguration",
+ "/properties/RenditionConfiguration/RenditionSelection",
+ "/properties/RenditionConfiguration/Renditions"
+ ],
+ "definitions": {
+ "DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "S3": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "RenditionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RenditionSelection": {
+ "default": "ALL",
+ "enum": [
+ "ALL",
+ "NONE",
+ "CUSTOM"
+ ],
+ "type": "string"
+ },
+ "Renditions": {
+ "insertionOrder": false,
+ "items": {
+ "enum": [
+ "FULL_HD",
+ "HD",
+ "SD",
+ "LOWEST_RESOLUTION"
+ ],
+ "type": "string"
+ },
+ "maxItems": 4,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketName": {
+ "maxLength": 63,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-.]+$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketName"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ThumbnailConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RecordingMode": {
+ "default": "INTERVAL",
+ "enum": [
+ "INTERVAL",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "Resolution": {
+ "enum": [
+ "FULL_HD",
+ "HD",
+ "SD",
+ "LOWEST_RESOLUTION"
+ ],
+ "type": "string"
+ },
+ "Storage": {
+ "insertionOrder": false,
+ "items": {
+ "enum": [
+ "SEQUENTIAL",
+ "LATEST"
+ ],
+ "type": "string"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetIntervalSeconds": {
+ "default": 60,
+ "maximum": 60,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ivs:CreateRecordingConfiguration",
+ "ivs:GetRecordingConfiguration",
+ "ivs:TagResource",
+ "iam:CreateServiceLinkedRole",
+ "iam:PutRolePolicy",
+ "iam:AttachRolePolicy",
+ "s3:ListBucket",
+ "s3:GetBucketLocation",
+ "cloudformation:ListExports"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ivs:DeleteRecordingConfiguration",
+ "ivs:UntagResource",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ivs:ListRecordingConfigurations",
+ "s3:GetBucketLocation",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ivs:GetRecordingConfiguration",
+ "s3:GetBucketLocation",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ivs:GetRecordingConfiguration",
+ "sts:AssumeRole",
+ "iam:CreateServiceLinkedRole",
+ "iam:PutRolePolicy",
+ "iam:AttachRolePolicy",
+ "s3:ListBucket",
+ "ivs:TagResource",
+ "ivs:UntagResource",
+ "ivs:ListTagsForResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^arn:aws[-a-z]*:ivs:[a-z0-9-]+:[0-9]+:recording-configuration/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "DestinationConfiguration": {
+ "$ref": "#/definitions/DestinationConfiguration"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^[a-zA-Z0-9-_]*$",
+ "type": "string"
+ },
+ "RecordingReconnectWindowSeconds": {
+ "default": 0,
+ "maximum": 300,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "RenditionConfiguration": {
+ "$ref": "#/definitions/RenditionConfiguration"
+ },
+ "State": {
+ "enum": [
+ "CREATING",
+ "CREATE_FAILED",
+ "ACTIVE"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ThumbnailConfiguration": {
+ "$ref": "#/definitions/ThumbnailConfiguration"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/State"
+ ],
+ "required": [
+ "DestinationConfiguration"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::IVS::RecordingConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-stage.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-stage.json
new file mode 100644
index 0000000000..e8d7395467
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-stage.json
@@ -0,0 +1,106 @@
+{
+ "additionalProperties": false,
+ "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": [
+ "ivs:CreateStage",
+ "ivs:GetStage",
+ "ivs:TagResource",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ivs:DeleteStage",
+ "ivs:UnTagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ivs:ListStages",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ivs:GetStage",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ivs:GetStage",
+ "ivs:UpdateStage",
+ "ivs:TagResource",
+ "ivs:UnTagResource",
+ "ivs:ListTagsForResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "ActiveSessionId": {
+ "default": "",
+ "maxLength": 128,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Arn": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^arn:aws[-a-z]*:ivs:[a-z0-9-]+:[0-9]+:stage/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^[a-zA-Z0-9-_]*$",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/ActiveSessionId"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::IVS::Stage"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-storageconfiguration.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-storageconfiguration.json
new file mode 100644
index 0000000000..b3470f4c42
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-storageconfiguration.json
@@ -0,0 +1,132 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/S3",
+ "/properties/S3/BucketName"
+ ],
+ "definitions": {
+ "S3StorageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketName": {
+ "maxLength": 63,
+ "minLength": 3,
+ "pattern": "^[a-z0-9-.]+$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketName"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ivs:CreateStorageConfiguration",
+ "ivs:GetStorageConfiguration",
+ "ivs:TagResource",
+ "s3:GetBucketLocation",
+ "s3:GetBucketPolicy",
+ "s3:PutBucketPolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ivs:DeleteStorageConfiguration",
+ "ivs:UntagResource",
+ "s3:GetBucketPolicy",
+ "s3:DeleteBucketPolicy",
+ "s3:PutBucketPolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ivs:ListStorageConfigurations",
+ "s3:GetBucketLocation",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ivs:GetStorageConfiguration",
+ "ivs:ListTagsForResource",
+ "s3:GetBucketLocation"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ivs:GetStorageConfiguration",
+ "ivs:TagResource",
+ "ivs:UntagResource",
+ "ivs:ListTagsForResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^arn:aws[-a-z]*:ivs:[a-z0-9-]+:[0-9]+:storage-configuration/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^[a-zA-Z0-9-_]*$",
+ "type": "string"
+ },
+ "S3": {
+ "$ref": "#/definitions/S3StorageConfiguration"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "required": [
+ "S3"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::IVS::StorageConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-streamkey.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-streamkey.json
new file mode 100644
index 0000000000..cf085065b0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ivs-streamkey.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ChannelArn"
+ ],
+ "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": [
+ "ivs:TagResource",
+ "ivs:UntagResource",
+ "ivs:CreateStreamKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ivs:DeleteStreamKey",
+ "ivs:UntagResource"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "ChannelArn": {
+ "$ref": "resource-schema.json#/properties/ChannelArn"
+ }
+ },
+ "required": [
+ "ChannelArn"
+ ]
+ },
+ "permissions": [
+ "ivs:ListStreamKeys",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ivs:GetStreamKey",
+ "ivs:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ivs:GetStreamKey",
+ "ivs:TagResource",
+ "ivs:UntagResource",
+ "ivs:ListTagsForResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:stream-key/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "ChannelArn": {
+ "pattern": "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Value"
+ ],
+ "replacementStrategy": "delete_then_create",
+ "required": [
+ "ChannelArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::IVS::StreamKey"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-lambda-eventsourcemapping.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-lambda-eventsourcemapping.json
deleted file mode 100644
index 90ac6114e9..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-lambda-eventsourcemapping.json
+++ /dev/null
@@ -1,359 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/EventSourceArn",
- "/properties/StartingPosition",
- "/properties/StartingPositionTimestamp",
- "/properties/SelfManagedEventSource",
- "/properties/AmazonManagedKafkaEventSourceConfig",
- "/properties/SelfManagedKafkaEventSourceConfig"
- ],
- "definitions": {
- "AmazonManagedKafkaEventSourceConfig": {
- "additionalProperties": false,
- "properties": {
- "ConsumerGroupId": {
- "$ref": "#/definitions/ConsumerGroupId"
- }
- },
- "type": "object"
- },
- "ConsumerGroupId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9-\\/*:_+=.@-]*",
- "type": "string"
- },
- "DestinationConfig": {
- "additionalProperties": false,
- "properties": {
- "OnFailure": {
- "$ref": "#/definitions/OnFailure"
- }
- },
- "type": "object"
- },
- "DocumentDBEventSourceConfig": {
- "additionalProperties": false,
- "properties": {
- "CollectionName": {
- "maxLength": 57,
- "minLength": 1,
- "type": "string"
- },
- "DatabaseName": {
- "maxLength": 63,
- "minLength": 1,
- "type": "string"
- },
- "FullDocument": {
- "enum": [
- "UpdateLookup",
- "Default"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Endpoints": {
- "additionalProperties": false,
- "properties": {
- "KafkaBootstrapServers": {
- "items": {
- "maxLength": 300,
- "minLength": 1,
- "pattern": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}",
- "type": "string"
- },
- "maxItems": 10,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "Filter": {
- "additionalProperties": false,
- "properties": {
- "Pattern": {
- "maxLength": 4096,
- "minLength": 0,
- "pattern": ".*",
- "type": "string"
- }
- },
- "type": "object"
- },
- "FilterCriteria": {
- "additionalProperties": false,
- "properties": {
- "Filters": {
- "items": {
- "$ref": "#/definitions/Filter"
- },
- "maxItems": 20,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "MaximumConcurrency": {
- "maximum": 1000,
- "minimum": 2,
- "type": "integer"
- },
- "OnFailure": {
- "additionalProperties": false,
- "properties": {
- "Destination": {
- "maxLength": 1024,
- "minLength": 12,
- "pattern": "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ScalingConfig": {
- "additionalProperties": false,
- "properties": {
- "MaximumConcurrency": {
- "$ref": "#/definitions/MaximumConcurrency"
- }
- },
- "type": "object"
- },
- "SelfManagedEventSource": {
- "additionalProperties": false,
- "properties": {
- "Endpoints": {
- "$ref": "#/definitions/Endpoints"
- }
- },
- "type": "object"
- },
- "SelfManagedKafkaEventSourceConfig": {
- "additionalProperties": false,
- "properties": {
- "ConsumerGroupId": {
- "$ref": "#/definitions/ConsumerGroupId"
- }
- },
- "type": "object"
- },
- "SourceAccessConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Type": {
- "enum": [
- "BASIC_AUTH",
- "VPC_SUBNET",
- "VPC_SECURITY_GROUP",
- "SASL_SCRAM_512_AUTH",
- "SASL_SCRAM_256_AUTH",
- "VIRTUAL_HOST",
- "CLIENT_CERTIFICATE_TLS_AUTH",
- "SERVER_ROOT_CA_CERTIFICATE"
- ],
- "type": "string"
- },
- "URI": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9-\\/*:_+=.@-]*",
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "lambda:CreateEventSourceMapping",
- "lambda:GetEventSourceMapping"
- ]
- },
- "delete": {
- "permissions": [
- "lambda:DeleteEventSourceMapping",
- "lambda:GetEventSourceMapping"
- ]
- },
- "list": {
- "permissions": [
- "lambda:ListEventSourceMappings"
- ]
- },
- "read": {
- "permissions": [
- "lambda:GetEventSourceMapping"
- ]
- },
- "update": {
- "permissions": [
- "lambda:UpdateEventSourceMapping",
- "lambda:GetEventSourceMapping"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "AmazonManagedKafkaEventSourceConfig": {
- "$ref": "#/definitions/AmazonManagedKafkaEventSourceConfig"
- },
- "BatchSize": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "BisectBatchOnFunctionError": {
- "type": "boolean"
- },
- "DestinationConfig": {
- "$ref": "#/definitions/DestinationConfig"
- },
- "DocumentDBEventSourceConfig": {
- "$ref": "#/definitions/DocumentDBEventSourceConfig"
- },
- "Enabled": {
- "type": "boolean"
- },
- "EventSourceArn": {
- "maxLength": 1024,
- "minLength": 12,
- "pattern": "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)",
- "type": "string"
- },
- "FilterCriteria": {
- "$ref": "#/definitions/FilterCriteria"
- },
- "FunctionName": {
- "maxLength": 140,
- "minLength": 1,
- "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?",
- "type": "string"
- },
- "FunctionResponseTypes": {
- "items": {
- "enum": [
- "ReportBatchItemFailures"
- ],
- "type": "string"
- },
- "maxLength": 1,
- "minLength": 0,
- "type": "array",
- "uniqueItems": true
- },
- "Id": {
- "maxLength": 36,
- "minLength": 36,
- "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}",
- "type": "string"
- },
- "MaximumBatchingWindowInSeconds": {
- "maximum": 300,
- "minimum": 0,
- "type": "integer"
- },
- "MaximumRecordAgeInSeconds": {
- "maximum": 604800,
- "minimum": -1,
- "type": "integer"
- },
- "MaximumRetryAttempts": {
- "maximum": 10000,
- "minimum": -1,
- "type": "integer"
- },
- "ParallelizationFactor": {
- "maximum": 10,
- "minimum": 1,
- "type": "integer"
- },
- "Queues": {
- "items": {
- "maxLength": 1000,
- "minLength": 1,
- "pattern": "[\\s\\S]*",
- "type": "string"
- },
- "maxItems": 1,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "ScalingConfig": {
- "$ref": "#/definitions/ScalingConfig"
- },
- "SelfManagedEventSource": {
- "$ref": "#/definitions/SelfManagedEventSource"
- },
- "SelfManagedKafkaEventSourceConfig": {
- "$ref": "#/definitions/SelfManagedKafkaEventSourceConfig"
- },
- "SourceAccessConfigurations": {
- "items": {
- "$ref": "#/definitions/SourceAccessConfiguration"
- },
- "maxItems": 22,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "StartingPosition": {
- "enum": [
- "AT_TIMESTAMP",
- "LATEST",
- "TRIM_HORIZON"
- ],
- "maxLength": 12,
- "minLength": 6,
- "pattern": "(LATEST|TRIM_HORIZON|AT_TIMESTAMP)+",
- "type": "string"
- },
- "StartingPositionTimestamp": {
- "type": "number"
- },
- "Topics": {
- "items": {
- "maxLength": 249,
- "minLength": 1,
- "pattern": "^[^.]([a-zA-Z0-9\\-_.]+)",
- "type": "string"
- },
- "maxItems": 1,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "TumblingWindowInSeconds": {
- "maximum": 900,
- "minimum": 0,
- "type": "integer"
- }
- },
- "propertyTransform": {
- "/properties/StartingPositionTimestamp": "StartingPositionTimestamp * 1000"
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "FunctionName"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::Lambda::EventSourceMapping"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-location-apikey.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-location-apikey.json
new file mode 100644
index 0000000000..b41c88be08
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-location-apikey.json
@@ -0,0 +1,226 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/KeyName"
+ ],
+ "definitions": {
+ "ApiKeyRestrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowActions": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 200,
+ "minLength": 5,
+ "pattern": "^geo:\\w*\\*?$",
+ "type": "string"
+ },
+ "maxItems": 7,
+ "minItems": 1,
+ "type": "array"
+ },
+ "AllowReferers": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 253,
+ "pattern": "^([$\\-._+!*`(),;/?:@=&\\w]|%([0-9a-fA-F?]{2}|[0-9a-fA-F?]?[*]))+$",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ },
+ "AllowResources": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 1600,
+ "pattern": "(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$)|(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):(geo-routes|geo-places|geo-maps)(:((\\*)|([a-z0-9]+([.-][a-z0-9]+)*)))::((provider[\\/][*-._\\w]+))$)",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "AllowActions",
+ "AllowResources"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[A-Za-z0-9 _=@:.+-/]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 50,
+ "patternProperties": {
+ "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "iso8601UTC": {
+ "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$",
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "geo:CreateKey",
+ "geo:DescribeKey",
+ "geo:TagResource",
+ "geo:UntagResource",
+ "geo:GetMapTile",
+ "geo:GetMapStyleDescriptor",
+ "geo:GetMapSprites",
+ "geo:GetMapGlyphs",
+ "geo:SearchPlaceIndexForText",
+ "geo:SearchPlaceIndexForPosition",
+ "geo:SearchPlaceIndexForSuggestions",
+ "geo:GetPlace",
+ "geo:CalculateRoute",
+ "geo:CalculateRouteMatrix"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "geo:DeleteKey",
+ "geo:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "geo:ListKeys"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "geo:DescribeKey"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "geo:CreateKey",
+ "geo:DescribeKey",
+ "geo:TagResource",
+ "geo:UntagResource",
+ "geo:GetMapTile",
+ "geo:GetMapStyleDescriptor",
+ "geo:GetMapSprites",
+ "geo:GetMapGlyphs",
+ "geo:SearchPlaceIndexForText",
+ "geo:SearchPlaceIndexForPosition",
+ "geo:SearchPlaceIndexForSuggestions",
+ "geo:GetPlace",
+ "geo:CalculateRoute",
+ "geo:CalculateRouteMatrix",
+ "geo:UpdateKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/KeyName"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 1600,
+ "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
+ "type": "string"
+ },
+ "CreateTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ExpireTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ },
+ "ForceDelete": {
+ "type": "boolean"
+ },
+ "ForceUpdate": {
+ "type": "boolean"
+ },
+ "KeyArn": {
+ "maxLength": 1600,
+ "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
+ "type": "string"
+ },
+ "KeyName": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^[-._\\w]+$",
+ "type": "string"
+ },
+ "NoExpiry": {
+ "type": "boolean"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/ApiKeyRestrictions"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "UpdateTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CreateTime",
+ "/properties/Arn",
+ "/properties/KeyArn",
+ "/properties/UpdateTime"
+ ],
+ "required": [
+ "KeyName",
+ "Restrictions"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Location::APIKey",
+ "writeOnlyProperties": [
+ "/properties/ForceUpdate",
+ "/properties/ForceDelete",
+ "/properties/NoExpiry"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-msk-replicator.json
new file mode 100644
index 0000000000..442dc3b3a8
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-msk-replicator.json
@@ -0,0 +1,349 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn",
+ "/properties/ReplicationInfoList/*/TopicReplication/StartingPosition/Type"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:CreateNetworkInterface",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "kafka:CreateReplicator",
+ "kafka:CreateReplicatorReference",
+ "kafka:DescribeClusterV2",
+ "kafka:DescribeReplicator",
+ "kafka:GetBootstrapBrokers",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "kafka:DeleteReplicator",
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "kafka:ListReplicators"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource",
+ "kafka:UntagResource",
+ "kafka:UpdateReplicationInfo"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py
index 717714baba..ab0fb85c3b 100644
--- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py
@@ -640,6 +640,7 @@
"aws-apigatewayv2-authorizer.json",
"aws-apigatewayv2-deployment.json",
"aws-apigatewayv2-domainname.json",
+ "aws-apigatewayv2-integration.json",
"aws-apigatewayv2-integrationresponse.json",
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
@@ -792,7 +793,6 @@
"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",
@@ -810,6 +810,7 @@
"aws-ec2-prefixlist.json",
"aws-ec2-route.json",
"aws-ec2-routetable.json",
+ "aws-ec2-securitygroup.json",
"aws-ec2-securitygroupegress.json",
"aws-ec2-securitygroupingress.json",
"aws-ec2-snapshotblockpublicaccess.json",
@@ -836,7 +837,6 @@
"aws-ec2-volume.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
- "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpointconnectionnotification.json",
"aws-ec2-vpcendpointservice.json",
@@ -912,7 +912,6 @@
"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",
@@ -921,6 +920,7 @@
"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",
@@ -931,6 +931,7 @@
"aws-guardduty-threatintelset.json",
"aws-iam-group.json",
"aws-iam-grouppolicy.json",
+ "aws-iam-managedpolicy.json",
"aws-iam-oidcprovider.json",
"aws-iam-policy.json",
"aws-iam-role.json",
@@ -990,6 +991,8 @@
"aws-mediaconnect-flowoutput.json",
"aws-mediaconnect-flowsource.json",
"aws-mediaconnect-flowvpcinterface.json",
+ "aws-medialive-multiplex.json",
+ "aws-medialive-multiplexprogram.json",
"aws-mediatailor-channel.json",
"aws-mediatailor-channelpolicy.json",
"aws-mediatailor-livesource.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigatewayv2-integration.json
deleted file mode 100644
index 99fa47be40..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigatewayv2-integration.json
+++ /dev/null
@@ -1,178 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ApiId"
- ],
- "definitions": {
- "ResponseParameter": {
- "additionalProperties": false,
- "properties": {
- "Destination": {
- "type": "string"
- },
- "Source": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseParameterList": {
- "items": {
- "$ref": "#/definitions/ResponseParameter"
- },
- "type": "array"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TlsConfig": {
- "additionalProperties": false,
- "properties": {
- "ServerNameToVerify": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "apigateway:POST"
- ]
- },
- "delete": {
- "permissions": [
- "apigateway:GET",
- "apigateway:DELETE"
- ]
- },
- "list": {
- "permissions": [
- "apigateway:GET"
- ]
- },
- "read": {
- "permissions": [
- "apigateway:GET"
- ]
- },
- "update": {
- "permissions": [
- "apigateway:PATCH",
- "apigateway:GET",
- "apigateway:PUT"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/ApiId",
- "/properties/IntegrationId"
- ],
- "properties": {
- "ApiId": {
- "type": "string"
- },
- "ConnectionId": {
- "type": "string"
- },
- "ConnectionType": {
- "type": "string"
- },
- "ContentHandlingStrategy": {
- "type": "string"
- },
- "CredentialsArn": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "IntegrationId": {
- "type": "string"
- },
- "IntegrationMethod": {
- "type": "string"
- },
- "IntegrationSubtype": {
- "type": "string"
- },
- "IntegrationType": {
- "type": "string"
- },
- "IntegrationUri": {
- "type": "string"
- },
- "PassthroughBehavior": {
- "type": "string"
- },
- "PayloadFormatVersion": {
- "type": "string"
- },
- "RequestParameters": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "RequestTemplates": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseParameters": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "$ref": "#/definitions/ResponseParameterList"
- }
- },
- "type": "object"
- },
- "TemplateSelectionExpression": {
- "type": "string"
- },
- "TimeoutInMillis": {
- "type": "integer"
- },
- "TlsConfig": {
- "$ref": "#/definitions/TlsConfig"
- }
- },
- "readOnlyProperties": [
- "/properties/IntegrationId"
- ],
- "required": [
- "ApiId",
- "IntegrationType"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "taggable": false
- },
- "typeName": "AWS::ApiGatewayV2::Integration"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-ipam.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-ipam.json
new file mode 100644
index 0000000000..69ed6aeb61
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-ipam.json
@@ -0,0 +1,148 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "IpamOperatingRegion": {
+ "additionalProperties": false,
+ "properties": {
+ "RegionName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RegionName"
+ ],
+ "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": [
+ "ec2:CreateIpam",
+ "iam:CreateServiceLinkedRole",
+ "ec2:CreateTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DeleteIpam",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:ModifyIpam",
+ "ec2:CreateTags",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IpamId"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryAssociationId": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryId": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "IpamId": {
+ "type": "string"
+ },
+ "OperatingRegions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/IpamOperatingRegion"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "PrivateDefaultScopeId": {
+ "type": "string"
+ },
+ "PublicDefaultScopeId": {
+ "maxLength": 255,
+ "type": "string"
+ },
+ "ResourceDiscoveryAssociationCount": {
+ "type": "integer"
+ },
+ "ScopeCount": {
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Tier": {
+ "enum": [
+ "free",
+ "advanced"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/IpamId",
+ "/properties/Arn",
+ "/properties/PublicDefaultScopeId",
+ "/properties/PrivateDefaultScopeId",
+ "/properties/ScopeCount",
+ "/properties/ResourceDiscoveryAssociationCount",
+ "/properties/DefaultResourceDiscoveryId",
+ "/properties/DefaultResourceDiscoveryAssociationId"
+ ],
+ "required": [],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::IPAM"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-securitygroup.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-securitygroup.json
deleted file mode 100644
index 6713650d36..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-securitygroup.json
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GroupDescription",
- "/properties/GroupName",
- "/properties/VpcId"
- ],
- "definitions": {
- "Egress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "DestinationPrefixListId": {
- "type": "string"
- },
- "DestinationSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "DestinationSecurityGroupId",
- "DestinationPrefixListId"
- ],
- "type": "object"
- },
- "Ingress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "SourcePrefixListId": {
- "type": "string"
- },
- "SourceSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "SourceSecurityGroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "SourceSecurityGroupOwnerId": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "SourcePrefixListId",
- "SourceSecurityGroupId",
- "SourceSecurityGroupName"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "dependentRequired": {
- "SecurityGroupEgress": [
- "VpcId"
- ]
- },
- "handlers": {
- "create": {
- "permissions": [
- "ec2:CreateSecurityGroup",
- "ec2:DescribeSecurityGroups",
- "ec2:RevokeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DeleteSecurityGroup",
- "ec2:DescribeInstances"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "update": {
- "permissions": [
- "ec2:RevokeSecurityGroupEgress",
- "ec2:RevokeSecurityGroupIngress",
- "ec2:DescribeSecurityGroups",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags",
- "ec2:DeleteTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "GroupDescription": {
- "maxLength": 255,
- "minLength": 0,
- "pattern": "^([a-z,A-Z,0-9,. _\\-:/()#,@[\\]+=&;\\{\\}!$*])*$",
- "type": "string"
- },
- "GroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "GroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "SecurityGroupEgress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Egress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SecurityGroupIngress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Ingress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "VpcId": {
- "format": "AWS::EC2::VPC.Id",
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/SecurityGroupEgress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupEgress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupEgress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)",
- "/properties/SecurityGroupIngress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupIngress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupIngress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)"
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/GroupId"
- ],
- "required": [
- "GroupDescription"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::EC2::SecurityGroup",
- "writeOnlyProperties": [
- "/properties/SecurityGroupIngress/*/SourceSecurityGroupName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-vpccidrblock.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-vpccidrblock.json
new file mode 100644
index 0000000000..d12a123311
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-vpccidrblock.json
@@ -0,0 +1,103 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Ipv6Pool",
+ "/properties/VpcId",
+ "/properties/AmazonProvidedIpv6CidrBlock",
+ "/properties/Ipv6CidrBlock",
+ "/properties/CidrBlock",
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:AssociateVpcCidrBlock",
+ "ec2:DescribeVpcs",
+ "ec2:AllocateIpamPoolCidr"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DescribeVpcs",
+ "ec2:DisassociateVpcCidrBlock"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "VpcId"
+ ]
+ },
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id",
+ "/properties/VpcId"
+ ],
+ "properties": {
+ "AmazonProvidedIpv6CidrBlock": {
+ "type": "boolean"
+ },
+ "CidrBlock": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Ipv4IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv4NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6CidrBlock": {
+ "type": "string"
+ },
+ "Ipv6IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv6NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6Pool": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "VpcId"
+ ],
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::EC2::VPCCidrBlock",
+ "writeOnlyProperties": [
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-glue-database.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-glue-trigger.json
deleted file mode 100644
index 974dd89b9f..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-glue-trigger.json
+++ /dev/null
@@ -1,172 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/WorkflowName",
- "/properties/Type"
- ],
- "definitions": {
- "Action": {
- "additionalProperties": false,
- "properties": {
- "Arguments": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "NotificationProperty": {
- "$ref": "#/definitions/NotificationProperty"
- },
- "SecurityConfiguration": {
- "type": "string"
- },
- "Timeout": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Condition": {
- "additionalProperties": false,
- "properties": {
- "CrawlState": {
- "type": "string"
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "LogicalOperator": {
- "enum": [
- "EQUALS"
- ],
- "type": "string"
- },
- "State": {
- "enum": [
- "SUCCEEDED",
- "STOPPED",
- "TIMEOUT",
- "FAILED"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "EventBatchingCondition": {
- "additionalProperties": false,
- "properties": {
- "BatchSize": {
- "type": "integer"
- },
- "BatchWindow": {
- "type": "integer"
- }
- },
- "required": [
- "BatchSize"
- ],
- "type": "object"
- },
- "NotificationProperty": {
- "additionalProperties": false,
- "properties": {
- "NotifyDelayAfter": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Predicate": {
- "additionalProperties": false,
- "properties": {
- "Conditions": {
- "items": {
- "$ref": "#/definitions/Condition"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Logical": {
- "enum": [
- "AND",
- "ANY"
- ],
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Actions": {
- "items": {
- "$ref": "#/definitions/Action"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Description": {
- "type": "string"
- },
- "EventBatchingCondition": {
- "$ref": "#/definitions/EventBatchingCondition"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "Predicate": {
- "$ref": "#/definitions/Predicate"
- },
- "Schedule": {
- "type": "string"
- },
- "StartOnCreation": {
- "type": "boolean"
- },
- "Tags": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "Type": {
- "enum": [
- "CONDITIONAL",
- "EVENT",
- "ON_DEMAND",
- "SCHEDULED"
- ],
- "type": "string"
- },
- "WorkflowName": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "Type",
- "Actions"
- ],
- "typeName": "AWS::Glue::Trigger"
-}
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 85d0e0cfc5..80ec2a020a 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py
@@ -1404,7 +1404,6 @@
"aws-codeartifact-domain.json",
"aws-codeartifact-packagegroup.json",
"aws-codeartifact-repository.json",
- "aws-codebuild-fleet.json",
"aws-codebuild-project.json",
"aws-codebuild-reportgroup.json",
"aws-codebuild-sourcecredential.json",
@@ -1513,11 +1512,14 @@
"aws-dax-parametergroup.json",
"aws-dax-subnetgroup.json",
"aws-deadline-farm.json",
+ "aws-deadline-fleet.json",
"aws-deadline-licenseendpoint.json",
"aws-deadline-meteredproduct.json",
"aws-deadline-monitor.json",
+ "aws-deadline-queue.json",
"aws-deadline-queueenvironment.json",
"aws-deadline-queuefleetassociation.json",
+ "aws-deadline-storageprofile.json",
"aws-detective-graph.json",
"aws-detective-memberinvitation.json",
"aws-detective-organizationadmin.json",
@@ -1895,6 +1897,7 @@
"aws-lambda-alias.json",
"aws-lambda-codesigningconfig.json",
"aws-lambda-eventinvokeconfig.json",
+ "aws-lambda-eventsourcemapping.json",
"aws-lambda-function.json",
"aws-lambda-layerversion.json",
"aws-lambda-layerversionpermission.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-codebuild-fleet.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-codebuild-fleet.json
new file mode 100644
index 0000000000..4c870f71c0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-codebuild-fleet.json
@@ -0,0 +1,159 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Subnets": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:CreateFleet",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:DeleteFleet"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "codebuild:ListFleets"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "codebuild:BatchGetFleets"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:UpdateFleet",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "BaseCapacity": {
+ "minimum": 1,
+ "type": "integer"
+ },
+ "ComputeType": {
+ "enum": [
+ "BUILD_GENERAL1_SMALL",
+ "BUILD_GENERAL1_MEDIUM",
+ "BUILD_GENERAL1_LARGE",
+ "BUILD_GENERAL1_2XLARGE"
+ ],
+ "type": "string"
+ },
+ "EnvironmentType": {
+ "enum": [
+ "WINDOWS_SERVER_2019_CONTAINER",
+ "WINDOWS_SERVER_2022_CONTAINER",
+ "LINUX_CONTAINER",
+ "LINUX_GPU_CONTAINER",
+ "ARM_CONTAINER",
+ "MAC_ARM"
+ ],
+ "type": "string"
+ },
+ "FleetServiceRole": {
+ "pattern": "^(?:arn:)[a-zA-Z+-=,._:/@]+$",
+ "type": "string"
+ },
+ "FleetVpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ },
+ "ImageId": {
+ "pattern": "^((aws/codebuild/[A-Za-z-]+:[0-9]+(-[0-9._]+)?)|ami-[a-z0-9]{1,1020})$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 2,
+ "type": "string"
+ },
+ "OverflowBehavior": {
+ "enum": [
+ "QUEUE",
+ "ON_DEMAND"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CodeBuild::Fleet"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-fleet.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-fleet.json
deleted file mode 100644
index 5fa78cdcc1..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-fleet.json
+++ /dev/null
@@ -1,586 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/FarmId"
- ],
- "definitions": {
- "AcceleratorCountRange": {
- "additionalProperties": false,
- "properties": {
- "Max": {
- "maximum": 2147483647,
- "minimum": 0,
- "type": "integer"
- },
- "Min": {
- "maximum": 2147483647,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "Min"
- ],
- "type": "object"
- },
- "AcceleratorTotalMemoryMiBRange": {
- "additionalProperties": false,
- "properties": {
- "Max": {
- "maximum": 2147483647,
- "minimum": 0,
- "type": "integer"
- },
- "Min": {
- "maximum": 2147483647,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "Min"
- ],
- "type": "object"
- },
- "AcceleratorType": {
- "enum": [
- "gpu"
- ],
- "type": "string"
- },
- "AutoScalingMode": {
- "enum": [
- "NO_SCALING",
- "EVENT_BASED_AUTO_SCALING"
- ],
- "type": "string"
- },
- "CpuArchitectureType": {
- "enum": [
- "x86_64",
- "arm64"
- ],
- "type": "string"
- },
- "CustomerManagedFleetConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Mode": {
- "$ref": "#/definitions/AutoScalingMode"
- },
- "StorageProfileId": {
- "pattern": "^sp-[0-9a-f]{32}$",
- "type": "string"
- },
- "WorkerCapabilities": {
- "$ref": "#/definitions/CustomerManagedWorkerCapabilities"
- }
- },
- "required": [
- "Mode",
- "WorkerCapabilities"
- ],
- "type": "object"
- },
- "CustomerManagedFleetOperatingSystemFamily": {
- "enum": [
- "WINDOWS",
- "LINUX",
- "MACOS"
- ],
- "type": "string"
- },
- "CustomerManagedWorkerCapabilities": {
- "additionalProperties": false,
- "properties": {
- "AcceleratorCount": {
- "$ref": "#/definitions/AcceleratorCountRange"
- },
- "AcceleratorTotalMemoryMiB": {
- "$ref": "#/definitions/AcceleratorTotalMemoryMiBRange"
- },
- "AcceleratorTypes": {
- "items": {
- "$ref": "#/definitions/AcceleratorType"
- },
- "type": "array"
- },
- "CpuArchitectureType": {
- "$ref": "#/definitions/CpuArchitectureType"
- },
- "CustomAmounts": {
- "items": {
- "$ref": "#/definitions/FleetAmountCapability"
- },
- "maxItems": 15,
- "minItems": 1,
- "type": "array"
- },
- "CustomAttributes": {
- "items": {
- "$ref": "#/definitions/FleetAttributeCapability"
- },
- "maxItems": 15,
- "minItems": 1,
- "type": "array"
- },
- "MemoryMiB": {
- "$ref": "#/definitions/MemoryMiBRange"
- },
- "OsFamily": {
- "$ref": "#/definitions/CustomerManagedFleetOperatingSystemFamily"
- },
- "VCpuCount": {
- "$ref": "#/definitions/VCpuCountRange"
- }
- },
- "required": [
- "CpuArchitectureType",
- "MemoryMiB",
- "OsFamily",
- "VCpuCount"
- ],
- "type": "object"
- },
- "Ec2EbsVolume": {
- "additionalProperties": false,
- "properties": {
- "Iops": {
- "default": 3000,
- "maximum": 16000,
- "minimum": 3000,
- "type": "integer"
- },
- "SizeGiB": {
- "default": 250,
- "type": "integer"
- },
- "ThroughputMiB": {
- "default": 125,
- "maximum": 1000,
- "minimum": 125,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Ec2MarketType": {
- "enum": [
- "on-demand",
- "spot"
- ],
- "type": "string"
- },
- "FleetAmountCapability": {
- "additionalProperties": false,
- "properties": {
- "Max": {
- "type": "number"
- },
- "Min": {
- "type": "number"
- },
- "Name": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^([a-zA-Z][a-zA-Z0-9]{0,63}:)?amount(\\.[a-zA-Z][a-zA-Z0-9]{0,63})+$",
- "type": "string"
- }
- },
- "required": [
- "Min",
- "Name"
- ],
- "type": "object"
- },
- "FleetAttributeCapability": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^([a-zA-Z][a-zA-Z0-9]{0,63}:)?attr(\\.[a-zA-Z][a-zA-Z0-9]{0,63})+$",
- "type": "string"
- },
- "Values": {
- "items": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^[a-zA-Z_]([a-zA-Z0-9_\\-]{0,99})$",
- "type": "string"
- },
- "maxItems": 10,
- "minItems": 1,
- "type": "array"
- }
- },
- "required": [
- "Name",
- "Values"
- ],
- "type": "object"
- },
- "FleetCapabilities": {
- "additionalProperties": false,
- "properties": {
- "Amounts": {
- "items": {
- "$ref": "#/definitions/FleetAmountCapability"
- },
- "maxItems": 15,
- "minItems": 1,
- "type": "array"
- },
- "Attributes": {
- "items": {
- "$ref": "#/definitions/FleetAttributeCapability"
- },
- "maxItems": 15,
- "minItems": 1,
- "type": "array"
- }
- },
- "type": "object"
- },
- "FleetConfiguration": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "CustomerManaged": {
- "$ref": "#/definitions/CustomerManagedFleetConfiguration"
- }
- },
- "required": [
- "CustomerManaged"
- ],
- "title": "CustomerManaged",
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "ServiceManagedEc2": {
- "$ref": "#/definitions/ServiceManagedEc2FleetConfiguration"
- }
- },
- "required": [
- "ServiceManagedEc2"
- ],
- "title": "ServiceManagedEc2",
- "type": "object"
- }
- ]
- },
- "FleetStatus": {
- "enum": [
- "ACTIVE",
- "CREATE_IN_PROGRESS",
- "UPDATE_IN_PROGRESS",
- "CREATE_FAILED",
- "UPDATE_FAILED"
- ],
- "type": "string"
- },
- "MemoryMiBRange": {
- "additionalProperties": false,
- "properties": {
- "Max": {
- "maximum": 2147483647,
- "minimum": 512,
- "type": "integer"
- },
- "Min": {
- "maximum": 2147483647,
- "minimum": 512,
- "type": "integer"
- }
- },
- "required": [
- "Min"
- ],
- "type": "object"
- },
- "ServiceManagedEc2FleetConfiguration": {
- "additionalProperties": false,
- "properties": {
- "InstanceCapabilities": {
- "$ref": "#/definitions/ServiceManagedEc2InstanceCapabilities"
- },
- "InstanceMarketOptions": {
- "$ref": "#/definitions/ServiceManagedEc2InstanceMarketOptions"
- }
- },
- "required": [
- "InstanceCapabilities",
- "InstanceMarketOptions"
- ],
- "type": "object"
- },
- "ServiceManagedEc2InstanceCapabilities": {
- "additionalProperties": false,
- "properties": {
- "AllowedInstanceTypes": {
- "items": {
- "pattern": "^[a-zA-Z0-9]+\\.[a-zA-Z0-9]+$",
- "type": "string"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array"
- },
- "CpuArchitectureType": {
- "$ref": "#/definitions/CpuArchitectureType"
- },
- "CustomAmounts": {
- "items": {
- "$ref": "#/definitions/FleetAmountCapability"
- },
- "maxItems": 15,
- "minItems": 1,
- "type": "array"
- },
- "CustomAttributes": {
- "items": {
- "$ref": "#/definitions/FleetAttributeCapability"
- },
- "maxItems": 15,
- "minItems": 1,
- "type": "array"
- },
- "ExcludedInstanceTypes": {
- "items": {
- "pattern": "^[a-zA-Z0-9]+\\.[a-zA-Z0-9]+$",
- "type": "string"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array"
- },
- "MemoryMiB": {
- "$ref": "#/definitions/MemoryMiBRange"
- },
- "OsFamily": {
- "$ref": "#/definitions/ServiceManagedFleetOperatingSystemFamily"
- },
- "RootEbsVolume": {
- "$ref": "#/definitions/Ec2EbsVolume"
- },
- "VCpuCount": {
- "$ref": "#/definitions/VCpuCountRange"
- }
- },
- "required": [
- "CpuArchitectureType",
- "MemoryMiB",
- "OsFamily",
- "VCpuCount"
- ],
- "type": "object"
- },
- "ServiceManagedEc2InstanceMarketOptions": {
- "additionalProperties": false,
- "properties": {
- "Type": {
- "$ref": "#/definitions/Ec2MarketType"
- }
- },
- "required": [
- "Type"
- ],
- "type": "object"
- },
- "ServiceManagedFleetOperatingSystemFamily": {
- "enum": [
- "LINUX"
- ],
- "type": "string"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 127,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "VCpuCountRange": {
- "additionalProperties": false,
- "properties": {
- "Max": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "Min": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "Min"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "deadline:CreateFleet",
- "deadline:GetFleet",
- "iam:PassRole",
- "identitystore:ListGroupMembershipsForMember",
- "logs:CreateLogGroup",
- "deadline:TagResource",
- "deadline:ListTagsForResource"
- ]
- },
- "delete": {
- "permissions": [
- "deadline:DeleteFleet",
- "deadline:GetFleet",
- "identitystore:ListGroupMembershipsForMember"
- ]
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "FarmId": {
- "$ref": "resource-schema.json#/properties/FarmId"
- }
- },
- "required": [
- "FarmId"
- ]
- },
- "permissions": [
- "deadline:ListFleets",
- "identitystore:DescribeGroup",
- "identitystore:DescribeUser",
- "identitystore:ListGroupMembershipsForMember"
- ]
- },
- "read": {
- "permissions": [
- "deadline:GetFleet",
- "identitystore:ListGroupMembershipsForMember",
- "deadline:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "deadline:UpdateFleet",
- "deadline:GetFleet",
- "iam:PassRole",
- "identitystore:ListGroupMembershipsForMember",
- "deadline:TagResource",
- "deadline:UntagResource",
- "deadline:ListTagsForResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "pattern": "^arn:(aws[a-zA-Z-]*):deadline:[a-z0-9-]+:[0-9]+:farm/farm-[0-9a-z]{32}/fleet/fleet-[0-9a-z]{32}",
- "type": "string"
- },
- "Capabilities": {
- "$ref": "#/definitions/FleetCapabilities"
- },
- "Configuration": {
- "$ref": "#/definitions/FleetConfiguration"
- },
- "Description": {
- "default": "",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "DisplayName": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "FarmId": {
- "pattern": "^farm-[0-9a-f]{32}$",
- "type": "string"
- },
- "FleetId": {
- "pattern": "^fleet-[0-9a-f]{32}$",
- "type": "string"
- },
- "MaxWorkerCount": {
- "maximum": 2147483647,
- "minimum": 0,
- "type": "integer"
- },
- "MinWorkerCount": {
- "default": 0,
- "maximum": 2147483647,
- "minimum": 0,
- "type": "integer"
- },
- "RoleArn": {
- "pattern": "^arn:(aws[a-zA-Z-]*):iam::\\d{12}:role(/[!-.0-~]+)*/[\\w+=,.@-]+$",
- "type": "string"
- },
- "Status": {
- "$ref": "#/definitions/FleetStatus"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- },
- "WorkerCount": {
- "type": "integer"
- }
- },
- "readOnlyProperties": [
- "/properties/Capabilities",
- "/properties/FleetId",
- "/properties/Status",
- "/properties/WorkerCount",
- "/properties/Arn"
- ],
- "required": [
- "Configuration",
- "DisplayName",
- "MaxWorkerCount",
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-deadline",
- "tagging": {
- "cloudFormationSystemTags": true,
- "permissions": [
- "deadline:TagResource",
- "deadline:UntagResource",
- "deadline:ListTagsForResource"
- ],
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Deadline::Fleet"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-queue.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-queue.json
deleted file mode 100644
index bc404e7daf..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-queue.json
+++ /dev/null
@@ -1,279 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/FarmId"
- ],
- "definitions": {
- "DefaultQueueBudgetAction": {
- "default": "NONE",
- "enum": [
- "NONE",
- "STOP_SCHEDULING_AND_COMPLETE_TASKS",
- "STOP_SCHEDULING_AND_CANCEL_TASKS"
- ],
- "type": "string"
- },
- "JobAttachmentSettings": {
- "additionalProperties": false,
- "properties": {
- "RootPrefix": {
- "maxLength": 63,
- "minLength": 1,
- "type": "string"
- },
- "S3BucketName": {
- "maxLength": 63,
- "minLength": 3,
- "pattern": "(?!^(\\d+\\.)+\\d+$)(^(([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])\\.)*([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])$)",
- "type": "string"
- }
- },
- "required": [
- "RootPrefix",
- "S3BucketName"
- ],
- "type": "object"
- },
- "JobRunAsUser": {
- "additionalProperties": false,
- "properties": {
- "Posix": {
- "$ref": "#/definitions/PosixUser"
- },
- "RunAs": {
- "$ref": "#/definitions/RunAs"
- },
- "Windows": {
- "$ref": "#/definitions/WindowsUser"
- }
- },
- "required": [
- "RunAs"
- ],
- "type": "object"
- },
- "PosixUser": {
- "additionalProperties": false,
- "properties": {
- "Group": {
- "maxLength": 31,
- "minLength": 0,
- "pattern": "^(?:[a-z][a-z0-9-]{0,30})?$",
- "type": "string"
- },
- "User": {
- "maxLength": 31,
- "minLength": 0,
- "pattern": "^(?:[a-z][a-z0-9-]{0,30})?$",
- "type": "string"
- }
- },
- "required": [
- "Group",
- "User"
- ],
- "type": "object"
- },
- "RunAs": {
- "enum": [
- "QUEUE_CONFIGURED_USER",
- "WORKER_AGENT_USER"
- ],
- "type": "string"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 127,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "WindowsUser": {
- "additionalProperties": false,
- "properties": {
- "PasswordArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:(aws[a-zA-Z-]*):secretsmanager:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:secret:[a-zA-Z0-9-/_+=.@]{1,2028}$",
- "type": "string"
- },
- "User": {
- "maxLength": 111,
- "minLength": 0,
- "pattern": "^[^\"'/\\[\\]:;|=,+*?<>\\s]*$",
- "type": "string"
- }
- },
- "required": [
- "PasswordArn",
- "User"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "deadline:CreateQueue",
- "deadline:GetQueue",
- "iam:PassRole",
- "identitystore:ListGroupMembershipsForMember",
- "logs:CreateLogGroup",
- "s3:ListBucket",
- "deadline:TagResource",
- "deadline:ListTagsForResource"
- ]
- },
- "delete": {
- "permissions": [
- "deadline:DeleteQueue",
- "deadline:GetQueue",
- "identitystore:ListGroupMembershipsForMember"
- ]
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "FarmId": {
- "$ref": "resource-schema.json#/properties/FarmId"
- }
- },
- "required": [
- "FarmId"
- ]
- },
- "permissions": [
- "deadline:ListQueues",
- "identitystore:DescribeGroup",
- "identitystore:DescribeUser",
- "identitystore:ListGroupMembershipsForMember"
- ]
- },
- "read": {
- "permissions": [
- "deadline:GetQueue",
- "identitystore:ListGroupMembershipsForMember",
- "deadline:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "deadline:UpdateQueue",
- "deadline:GetQueue",
- "iam:PassRole",
- "identitystore:ListGroupMembershipsForMember",
- "logs:CreateLogGroup",
- "s3:ListBucket",
- "deadline:TagResource",
- "deadline:UntagResource",
- "deadline:ListTagsForResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "AllowedStorageProfileIds": {
- "items": {
- "pattern": "^sp-[0-9a-f]{32}$",
- "type": "string"
- },
- "maxItems": 20,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "Arn": {
- "pattern": "^arn:*",
- "type": "string"
- },
- "DefaultBudgetAction": {
- "$ref": "#/definitions/DefaultQueueBudgetAction"
- },
- "Description": {
- "default": "",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "DisplayName": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "FarmId": {
- "pattern": "^farm-[0-9a-f]{32}$",
- "type": "string"
- },
- "JobAttachmentSettings": {
- "$ref": "#/definitions/JobAttachmentSettings"
- },
- "JobRunAsUser": {
- "$ref": "#/definitions/JobRunAsUser"
- },
- "QueueId": {
- "pattern": "^queue-[0-9a-f]{32}$",
- "type": "string"
- },
- "RequiredFileSystemLocationNames": {
- "items": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[0-9A-Za-z ]*$",
- "type": "string"
- },
- "maxItems": 20,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "RoleArn": {
- "pattern": "^arn:(aws[a-zA-Z-]*):iam::\\d{12}:role(/[!-.0-~]+)*/[\\w+=,.@-]+$",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/QueueId",
- "/properties/Arn"
- ],
- "required": [
- "DisplayName"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-deadline",
- "tagging": {
- "cloudFormationSystemTags": true,
- "permissions": [
- "deadline:TagResource",
- "deadline:UntagResource",
- "deadline:ListTagsForResource"
- ],
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Deadline::Queue"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-storageprofile.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-storageprofile.json
deleted file mode 100644
index 47def71914..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-storageprofile.json
+++ /dev/null
@@ -1,138 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/FarmId"
- ],
- "definitions": {
- "FileSystemLocation": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[0-9A-Za-z ]*$",
- "type": "string"
- },
- "Path": {
- "maxLength": 1024,
- "minLength": 0,
- "type": "string"
- },
- "Type": {
- "$ref": "#/definitions/FileSystemLocationType"
- }
- },
- "required": [
- "Name",
- "Path",
- "Type"
- ],
- "type": "object"
- },
- "FileSystemLocationType": {
- "enum": [
- "SHARED",
- "LOCAL"
- ],
- "type": "string"
- },
- "StorageProfileOperatingSystemFamily": {
- "enum": [
- "WINDOWS",
- "LINUX",
- "MACOS"
- ],
- "type": "string"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "deadline:CreateStorageProfile",
- "deadline:GetStorageProfile",
- "identitystore:ListGroupMembershipsForMember"
- ]
- },
- "delete": {
- "permissions": [
- "deadline:DeleteStorageProfile",
- "deadline:GetStorageProfile",
- "identitystore:ListGroupMembershipsForMember"
- ]
- },
- "list": {
- "handlerSchema": {
- "properties": {
- "FarmId": {
- "$ref": "resource-schema.json#/properties/FarmId"
- }
- },
- "required": [
- "FarmId"
- ]
- },
- "permissions": [
- "deadline:ListStorageProfiles",
- "identitystore:ListGroupMembershipsForMember"
- ]
- },
- "read": {
- "permissions": [
- "deadline:GetStorageProfile",
- "identitystore:ListGroupMembershipsForMember"
- ]
- },
- "update": {
- "permissions": [
- "deadline:UpdateStorageProfile",
- "deadline:GetStorageProfile",
- "identitystore:ListGroupMembershipsForMember"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/FarmId",
- "/properties/StorageProfileId"
- ],
- "properties": {
- "DisplayName": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "FarmId": {
- "pattern": "^farm-[0-9a-f]{32}$",
- "type": "string"
- },
- "FileSystemLocations": {
- "items": {
- "$ref": "#/definitions/FileSystemLocation"
- },
- "maxItems": 20,
- "minItems": 0,
- "type": "array"
- },
- "OsFamily": {
- "$ref": "#/definitions/StorageProfileOperatingSystemFamily"
- },
- "StorageProfileId": {
- "pattern": "^sp-[0-9a-f]{32}$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/StorageProfileId"
- ],
- "required": [
- "DisplayName",
- "OsFamily"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-deadline",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::Deadline::StorageProfile"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-lambda-eventsourcemapping.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-lambda-eventsourcemapping.json
deleted file mode 100644
index 90ac6114e9..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-lambda-eventsourcemapping.json
+++ /dev/null
@@ -1,359 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/EventSourceArn",
- "/properties/StartingPosition",
- "/properties/StartingPositionTimestamp",
- "/properties/SelfManagedEventSource",
- "/properties/AmazonManagedKafkaEventSourceConfig",
- "/properties/SelfManagedKafkaEventSourceConfig"
- ],
- "definitions": {
- "AmazonManagedKafkaEventSourceConfig": {
- "additionalProperties": false,
- "properties": {
- "ConsumerGroupId": {
- "$ref": "#/definitions/ConsumerGroupId"
- }
- },
- "type": "object"
- },
- "ConsumerGroupId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9-\\/*:_+=.@-]*",
- "type": "string"
- },
- "DestinationConfig": {
- "additionalProperties": false,
- "properties": {
- "OnFailure": {
- "$ref": "#/definitions/OnFailure"
- }
- },
- "type": "object"
- },
- "DocumentDBEventSourceConfig": {
- "additionalProperties": false,
- "properties": {
- "CollectionName": {
- "maxLength": 57,
- "minLength": 1,
- "type": "string"
- },
- "DatabaseName": {
- "maxLength": 63,
- "minLength": 1,
- "type": "string"
- },
- "FullDocument": {
- "enum": [
- "UpdateLookup",
- "Default"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Endpoints": {
- "additionalProperties": false,
- "properties": {
- "KafkaBootstrapServers": {
- "items": {
- "maxLength": 300,
- "minLength": 1,
- "pattern": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}",
- "type": "string"
- },
- "maxItems": 10,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "Filter": {
- "additionalProperties": false,
- "properties": {
- "Pattern": {
- "maxLength": 4096,
- "minLength": 0,
- "pattern": ".*",
- "type": "string"
- }
- },
- "type": "object"
- },
- "FilterCriteria": {
- "additionalProperties": false,
- "properties": {
- "Filters": {
- "items": {
- "$ref": "#/definitions/Filter"
- },
- "maxItems": 20,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "MaximumConcurrency": {
- "maximum": 1000,
- "minimum": 2,
- "type": "integer"
- },
- "OnFailure": {
- "additionalProperties": false,
- "properties": {
- "Destination": {
- "maxLength": 1024,
- "minLength": 12,
- "pattern": "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ScalingConfig": {
- "additionalProperties": false,
- "properties": {
- "MaximumConcurrency": {
- "$ref": "#/definitions/MaximumConcurrency"
- }
- },
- "type": "object"
- },
- "SelfManagedEventSource": {
- "additionalProperties": false,
- "properties": {
- "Endpoints": {
- "$ref": "#/definitions/Endpoints"
- }
- },
- "type": "object"
- },
- "SelfManagedKafkaEventSourceConfig": {
- "additionalProperties": false,
- "properties": {
- "ConsumerGroupId": {
- "$ref": "#/definitions/ConsumerGroupId"
- }
- },
- "type": "object"
- },
- "SourceAccessConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Type": {
- "enum": [
- "BASIC_AUTH",
- "VPC_SUBNET",
- "VPC_SECURITY_GROUP",
- "SASL_SCRAM_512_AUTH",
- "SASL_SCRAM_256_AUTH",
- "VIRTUAL_HOST",
- "CLIENT_CERTIFICATE_TLS_AUTH",
- "SERVER_ROOT_CA_CERTIFICATE"
- ],
- "type": "string"
- },
- "URI": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9-\\/*:_+=.@-]*",
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "lambda:CreateEventSourceMapping",
- "lambda:GetEventSourceMapping"
- ]
- },
- "delete": {
- "permissions": [
- "lambda:DeleteEventSourceMapping",
- "lambda:GetEventSourceMapping"
- ]
- },
- "list": {
- "permissions": [
- "lambda:ListEventSourceMappings"
- ]
- },
- "read": {
- "permissions": [
- "lambda:GetEventSourceMapping"
- ]
- },
- "update": {
- "permissions": [
- "lambda:UpdateEventSourceMapping",
- "lambda:GetEventSourceMapping"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "AmazonManagedKafkaEventSourceConfig": {
- "$ref": "#/definitions/AmazonManagedKafkaEventSourceConfig"
- },
- "BatchSize": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "BisectBatchOnFunctionError": {
- "type": "boolean"
- },
- "DestinationConfig": {
- "$ref": "#/definitions/DestinationConfig"
- },
- "DocumentDBEventSourceConfig": {
- "$ref": "#/definitions/DocumentDBEventSourceConfig"
- },
- "Enabled": {
- "type": "boolean"
- },
- "EventSourceArn": {
- "maxLength": 1024,
- "minLength": 12,
- "pattern": "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)",
- "type": "string"
- },
- "FilterCriteria": {
- "$ref": "#/definitions/FilterCriteria"
- },
- "FunctionName": {
- "maxLength": 140,
- "minLength": 1,
- "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?",
- "type": "string"
- },
- "FunctionResponseTypes": {
- "items": {
- "enum": [
- "ReportBatchItemFailures"
- ],
- "type": "string"
- },
- "maxLength": 1,
- "minLength": 0,
- "type": "array",
- "uniqueItems": true
- },
- "Id": {
- "maxLength": 36,
- "minLength": 36,
- "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}",
- "type": "string"
- },
- "MaximumBatchingWindowInSeconds": {
- "maximum": 300,
- "minimum": 0,
- "type": "integer"
- },
- "MaximumRecordAgeInSeconds": {
- "maximum": 604800,
- "minimum": -1,
- "type": "integer"
- },
- "MaximumRetryAttempts": {
- "maximum": 10000,
- "minimum": -1,
- "type": "integer"
- },
- "ParallelizationFactor": {
- "maximum": 10,
- "minimum": 1,
- "type": "integer"
- },
- "Queues": {
- "items": {
- "maxLength": 1000,
- "minLength": 1,
- "pattern": "[\\s\\S]*",
- "type": "string"
- },
- "maxItems": 1,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "ScalingConfig": {
- "$ref": "#/definitions/ScalingConfig"
- },
- "SelfManagedEventSource": {
- "$ref": "#/definitions/SelfManagedEventSource"
- },
- "SelfManagedKafkaEventSourceConfig": {
- "$ref": "#/definitions/SelfManagedKafkaEventSourceConfig"
- },
- "SourceAccessConfigurations": {
- "items": {
- "$ref": "#/definitions/SourceAccessConfiguration"
- },
- "maxItems": 22,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "StartingPosition": {
- "enum": [
- "AT_TIMESTAMP",
- "LATEST",
- "TRIM_HORIZON"
- ],
- "maxLength": 12,
- "minLength": 6,
- "pattern": "(LATEST|TRIM_HORIZON|AT_TIMESTAMP)+",
- "type": "string"
- },
- "StartingPositionTimestamp": {
- "type": "number"
- },
- "Topics": {
- "items": {
- "maxLength": 249,
- "minLength": 1,
- "pattern": "^[^.]([a-zA-Z0-9\\-_.]+)",
- "type": "string"
- },
- "maxItems": 1,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "TumblingWindowInSeconds": {
- "maximum": 900,
- "minimum": 0,
- "type": "integer"
- }
- },
- "propertyTransform": {
- "/properties/StartingPositionTimestamp": "StartingPositionTimestamp * 1000"
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "FunctionName"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::Lambda::EventSourceMapping"
-}
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 b217f3f392..d994b3d476 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py
@@ -1656,7 +1656,6 @@
"aws-ec2-volume.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
- "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpoint.json",
"aws-ec2-vpcendpointconnectionnotification.json",
@@ -1778,7 +1777,6 @@
"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",
@@ -1827,6 +1825,7 @@
"aws-iam-group.json",
"aws-iam-grouppolicy.json",
"aws-iam-instanceprofile.json",
+ "aws-iam-managedpolicy.json",
"aws-iam-oidcprovider.json",
"aws-iam-policy.json",
"aws-iam-role.json",
@@ -1942,6 +1941,7 @@
"aws-lambda-alias.json",
"aws-lambda-codesigningconfig.json",
"aws-lambda-eventinvokeconfig.json",
+ "aws-lambda-eventsourcemapping.json",
"aws-lambda-function.json",
"aws-lambda-layerversion.json",
"aws-lambda-layerversionpermission.json",
@@ -1965,7 +1965,6 @@
"aws-lightsail-loadbalancer.json",
"aws-lightsail-loadbalancertlscertificate.json",
"aws-lightsail-staticip.json",
- "aws-location-apikey.json",
"aws-location-geofencecollection.json",
"aws-location-map.json",
"aws-location-placeindex.json",
@@ -2035,7 +2034,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ec2-vpccidrblock.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ec2-vpccidrblock.json
new file mode 100644
index 0000000000..d12a123311
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-ec2-vpccidrblock.json
@@ -0,0 +1,103 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Ipv6Pool",
+ "/properties/VpcId",
+ "/properties/AmazonProvidedIpv6CidrBlock",
+ "/properties/Ipv6CidrBlock",
+ "/properties/CidrBlock",
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:AssociateVpcCidrBlock",
+ "ec2:DescribeVpcs",
+ "ec2:AllocateIpamPoolCidr"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DescribeVpcs",
+ "ec2:DisassociateVpcCidrBlock"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "VpcId"
+ ]
+ },
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id",
+ "/properties/VpcId"
+ ],
+ "properties": {
+ "AmazonProvidedIpv6CidrBlock": {
+ "type": "boolean"
+ },
+ "CidrBlock": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Ipv4IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv4NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6CidrBlock": {
+ "type": "string"
+ },
+ "Ipv6IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv6NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6Pool": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "VpcId"
+ ],
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::EC2::VPCCidrBlock",
+ "writeOnlyProperties": [
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-database.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-iam-managedpolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-iam-managedpolicy.json
deleted file mode 100644
index f913eca461..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-iam-managedpolicy.json
+++ /dev/null
@@ -1,147 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ManagedPolicyName",
- "/properties/Description",
- "/properties/Path"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreatePolicy",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- },
- "delete": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:DeletePolicyVersion",
- "iam:DeletePolicy",
- "iam:ListEntitiesForPolicy"
- ]
- },
- "list": {
- "permissions": [
- "iam:ListPolicies"
- ]
- },
- "read": {
- "permissions": [
- "iam:GetPolicy",
- "iam:ListEntitiesForPolicy",
- "iam:GetPolicyVersion"
- ]
- },
- "update": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:CreatePolicyVersion",
- "iam:DeletePolicyVersion",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/PolicyArn"
- ],
- "properties": {
- "AttachmentCount": {
- "type": "integer"
- },
- "CreateDate": {
- "type": "string"
- },
- "DefaultVersionId": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Groups": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "IsAttachable": {
- "type": "boolean"
- },
- "ManagedPolicyName": {
- "type": "string"
- },
- "Path": {
- "pattern": "^/(.+/)*$",
- "type": "string"
- },
- "PermissionsBoundaryUsageCount": {
- "type": "integer"
- },
- "PolicyArn": {
- "type": "string"
- },
- "PolicyDocument": {
- "maxLength": 6144,
- "type": [
- "object",
- "string"
- ]
- },
- "PolicyId": {
- "type": "string"
- },
- "Roles": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "UpdateDate": {
- "type": "string"
- },
- "Users": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/PolicyArn",
- "/properties/AttachmentCount",
- "/properties/CreateDate",
- "/properties/DefaultVersionId",
- "/properties/IsAttachable",
- "/properties/PermissionsBoundaryUsageCount",
- "/properties/PolicyId",
- "/properties/UpdateDate"
- ],
- "required": [
- "PolicyDocument"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iam",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::IAM::ManagedPolicy"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-lambda-eventsourcemapping.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-lambda-eventsourcemapping.json
deleted file mode 100644
index 90ac6114e9..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-lambda-eventsourcemapping.json
+++ /dev/null
@@ -1,359 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/EventSourceArn",
- "/properties/StartingPosition",
- "/properties/StartingPositionTimestamp",
- "/properties/SelfManagedEventSource",
- "/properties/AmazonManagedKafkaEventSourceConfig",
- "/properties/SelfManagedKafkaEventSourceConfig"
- ],
- "definitions": {
- "AmazonManagedKafkaEventSourceConfig": {
- "additionalProperties": false,
- "properties": {
- "ConsumerGroupId": {
- "$ref": "#/definitions/ConsumerGroupId"
- }
- },
- "type": "object"
- },
- "ConsumerGroupId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9-\\/*:_+=.@-]*",
- "type": "string"
- },
- "DestinationConfig": {
- "additionalProperties": false,
- "properties": {
- "OnFailure": {
- "$ref": "#/definitions/OnFailure"
- }
- },
- "type": "object"
- },
- "DocumentDBEventSourceConfig": {
- "additionalProperties": false,
- "properties": {
- "CollectionName": {
- "maxLength": 57,
- "minLength": 1,
- "type": "string"
- },
- "DatabaseName": {
- "maxLength": 63,
- "minLength": 1,
- "type": "string"
- },
- "FullDocument": {
- "enum": [
- "UpdateLookup",
- "Default"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Endpoints": {
- "additionalProperties": false,
- "properties": {
- "KafkaBootstrapServers": {
- "items": {
- "maxLength": 300,
- "minLength": 1,
- "pattern": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}",
- "type": "string"
- },
- "maxItems": 10,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "Filter": {
- "additionalProperties": false,
- "properties": {
- "Pattern": {
- "maxLength": 4096,
- "minLength": 0,
- "pattern": ".*",
- "type": "string"
- }
- },
- "type": "object"
- },
- "FilterCriteria": {
- "additionalProperties": false,
- "properties": {
- "Filters": {
- "items": {
- "$ref": "#/definitions/Filter"
- },
- "maxItems": 20,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "MaximumConcurrency": {
- "maximum": 1000,
- "minimum": 2,
- "type": "integer"
- },
- "OnFailure": {
- "additionalProperties": false,
- "properties": {
- "Destination": {
- "maxLength": 1024,
- "minLength": 12,
- "pattern": "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ScalingConfig": {
- "additionalProperties": false,
- "properties": {
- "MaximumConcurrency": {
- "$ref": "#/definitions/MaximumConcurrency"
- }
- },
- "type": "object"
- },
- "SelfManagedEventSource": {
- "additionalProperties": false,
- "properties": {
- "Endpoints": {
- "$ref": "#/definitions/Endpoints"
- }
- },
- "type": "object"
- },
- "SelfManagedKafkaEventSourceConfig": {
- "additionalProperties": false,
- "properties": {
- "ConsumerGroupId": {
- "$ref": "#/definitions/ConsumerGroupId"
- }
- },
- "type": "object"
- },
- "SourceAccessConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Type": {
- "enum": [
- "BASIC_AUTH",
- "VPC_SUBNET",
- "VPC_SECURITY_GROUP",
- "SASL_SCRAM_512_AUTH",
- "SASL_SCRAM_256_AUTH",
- "VIRTUAL_HOST",
- "CLIENT_CERTIFICATE_TLS_AUTH",
- "SERVER_ROOT_CA_CERTIFICATE"
- ],
- "type": "string"
- },
- "URI": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9-\\/*:_+=.@-]*",
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "lambda:CreateEventSourceMapping",
- "lambda:GetEventSourceMapping"
- ]
- },
- "delete": {
- "permissions": [
- "lambda:DeleteEventSourceMapping",
- "lambda:GetEventSourceMapping"
- ]
- },
- "list": {
- "permissions": [
- "lambda:ListEventSourceMappings"
- ]
- },
- "read": {
- "permissions": [
- "lambda:GetEventSourceMapping"
- ]
- },
- "update": {
- "permissions": [
- "lambda:UpdateEventSourceMapping",
- "lambda:GetEventSourceMapping"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "AmazonManagedKafkaEventSourceConfig": {
- "$ref": "#/definitions/AmazonManagedKafkaEventSourceConfig"
- },
- "BatchSize": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "BisectBatchOnFunctionError": {
- "type": "boolean"
- },
- "DestinationConfig": {
- "$ref": "#/definitions/DestinationConfig"
- },
- "DocumentDBEventSourceConfig": {
- "$ref": "#/definitions/DocumentDBEventSourceConfig"
- },
- "Enabled": {
- "type": "boolean"
- },
- "EventSourceArn": {
- "maxLength": 1024,
- "minLength": 12,
- "pattern": "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)",
- "type": "string"
- },
- "FilterCriteria": {
- "$ref": "#/definitions/FilterCriteria"
- },
- "FunctionName": {
- "maxLength": 140,
- "minLength": 1,
- "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?",
- "type": "string"
- },
- "FunctionResponseTypes": {
- "items": {
- "enum": [
- "ReportBatchItemFailures"
- ],
- "type": "string"
- },
- "maxLength": 1,
- "minLength": 0,
- "type": "array",
- "uniqueItems": true
- },
- "Id": {
- "maxLength": 36,
- "minLength": 36,
- "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}",
- "type": "string"
- },
- "MaximumBatchingWindowInSeconds": {
- "maximum": 300,
- "minimum": 0,
- "type": "integer"
- },
- "MaximumRecordAgeInSeconds": {
- "maximum": 604800,
- "minimum": -1,
- "type": "integer"
- },
- "MaximumRetryAttempts": {
- "maximum": 10000,
- "minimum": -1,
- "type": "integer"
- },
- "ParallelizationFactor": {
- "maximum": 10,
- "minimum": 1,
- "type": "integer"
- },
- "Queues": {
- "items": {
- "maxLength": 1000,
- "minLength": 1,
- "pattern": "[\\s\\S]*",
- "type": "string"
- },
- "maxItems": 1,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "ScalingConfig": {
- "$ref": "#/definitions/ScalingConfig"
- },
- "SelfManagedEventSource": {
- "$ref": "#/definitions/SelfManagedEventSource"
- },
- "SelfManagedKafkaEventSourceConfig": {
- "$ref": "#/definitions/SelfManagedKafkaEventSourceConfig"
- },
- "SourceAccessConfigurations": {
- "items": {
- "$ref": "#/definitions/SourceAccessConfiguration"
- },
- "maxItems": 22,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "StartingPosition": {
- "enum": [
- "AT_TIMESTAMP",
- "LATEST",
- "TRIM_HORIZON"
- ],
- "maxLength": 12,
- "minLength": 6,
- "pattern": "(LATEST|TRIM_HORIZON|AT_TIMESTAMP)+",
- "type": "string"
- },
- "StartingPositionTimestamp": {
- "type": "number"
- },
- "Topics": {
- "items": {
- "maxLength": 249,
- "minLength": 1,
- "pattern": "^[^.]([a-zA-Z0-9\\-_.]+)",
- "type": "string"
- },
- "maxItems": 1,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "TumblingWindowInSeconds": {
- "maximum": 900,
- "minimum": 0,
- "type": "integer"
- }
- },
- "propertyTransform": {
- "/properties/StartingPositionTimestamp": "StartingPositionTimestamp * 1000"
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "FunctionName"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::Lambda::EventSourceMapping"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-location-apikey.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-location-apikey.json
new file mode 100644
index 0000000000..b41c88be08
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-location-apikey.json
@@ -0,0 +1,226 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/KeyName"
+ ],
+ "definitions": {
+ "ApiKeyRestrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowActions": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 200,
+ "minLength": 5,
+ "pattern": "^geo:\\w*\\*?$",
+ "type": "string"
+ },
+ "maxItems": 7,
+ "minItems": 1,
+ "type": "array"
+ },
+ "AllowReferers": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 253,
+ "pattern": "^([$\\-._+!*`(),;/?:@=&\\w]|%([0-9a-fA-F?]{2}|[0-9a-fA-F?]?[*]))+$",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ },
+ "AllowResources": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 1600,
+ "pattern": "(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$)|(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):(geo-routes|geo-places|geo-maps)(:((\\*)|([a-z0-9]+([.-][a-z0-9]+)*)))::((provider[\\/][*-._\\w]+))$)",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "AllowActions",
+ "AllowResources"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[A-Za-z0-9 _=@:.+-/]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 50,
+ "patternProperties": {
+ "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "iso8601UTC": {
+ "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$",
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "geo:CreateKey",
+ "geo:DescribeKey",
+ "geo:TagResource",
+ "geo:UntagResource",
+ "geo:GetMapTile",
+ "geo:GetMapStyleDescriptor",
+ "geo:GetMapSprites",
+ "geo:GetMapGlyphs",
+ "geo:SearchPlaceIndexForText",
+ "geo:SearchPlaceIndexForPosition",
+ "geo:SearchPlaceIndexForSuggestions",
+ "geo:GetPlace",
+ "geo:CalculateRoute",
+ "geo:CalculateRouteMatrix"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "geo:DeleteKey",
+ "geo:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "geo:ListKeys"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "geo:DescribeKey"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "geo:CreateKey",
+ "geo:DescribeKey",
+ "geo:TagResource",
+ "geo:UntagResource",
+ "geo:GetMapTile",
+ "geo:GetMapStyleDescriptor",
+ "geo:GetMapSprites",
+ "geo:GetMapGlyphs",
+ "geo:SearchPlaceIndexForText",
+ "geo:SearchPlaceIndexForPosition",
+ "geo:SearchPlaceIndexForSuggestions",
+ "geo:GetPlace",
+ "geo:CalculateRoute",
+ "geo:CalculateRouteMatrix",
+ "geo:UpdateKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/KeyName"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 1600,
+ "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
+ "type": "string"
+ },
+ "CreateTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ExpireTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ },
+ "ForceDelete": {
+ "type": "boolean"
+ },
+ "ForceUpdate": {
+ "type": "boolean"
+ },
+ "KeyArn": {
+ "maxLength": 1600,
+ "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
+ "type": "string"
+ },
+ "KeyName": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^[-._\\w]+$",
+ "type": "string"
+ },
+ "NoExpiry": {
+ "type": "boolean"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/ApiKeyRestrictions"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "UpdateTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CreateTime",
+ "/properties/Arn",
+ "/properties/KeyArn",
+ "/properties/UpdateTime"
+ ],
+ "required": [
+ "KeyName",
+ "Restrictions"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Location::APIKey",
+ "writeOnlyProperties": [
+ "/properties/ForceUpdate",
+ "/properties/ForceDelete",
+ "/properties/NoExpiry"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-msk-replicator.json
new file mode 100644
index 0000000000..442dc3b3a8
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-msk-replicator.json
@@ -0,0 +1,349 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn",
+ "/properties/ReplicationInfoList/*/TopicReplication/StartingPosition/Type"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:CreateNetworkInterface",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "kafka:CreateReplicator",
+ "kafka:CreateReplicatorReference",
+ "kafka:DescribeClusterV2",
+ "kafka:DescribeReplicator",
+ "kafka:GetBootstrapBrokers",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "kafka:DeleteReplicator",
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "kafka:ListReplicators"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource",
+ "kafka:UntagResource",
+ "kafka:UpdateReplicationInfo"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py
index 4c6d28bca9..da6a1a255c 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py
@@ -720,6 +720,7 @@
"aws-apigatewayv2-authorizer.json",
"aws-apigatewayv2-deployment.json",
"aws-apigatewayv2-domainname.json",
+ "aws-apigatewayv2-integration.json",
"aws-apigatewayv2-integrationresponse.json",
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
@@ -824,6 +825,8 @@
"aws-cognito-identitypool.json",
"aws-cognito-identitypoolprincipaltag.json",
"aws-cognito-identitypoolroleattachment.json",
+ "aws-cognito-logdeliveryconfiguration.json",
+ "aws-cognito-userpool.json",
"aws-cognito-userpoolclient.json",
"aws-cognito-userpooldomain.json",
"aws-cognito-userpoolgroup.json",
@@ -879,7 +882,6 @@
"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",
@@ -906,6 +908,7 @@
"aws-ec2-snapshotblockpublicaccess.json",
"aws-ec2-spotfleet.json",
"aws-ec2-subnet.json",
+ "aws-ec2-subnetcidrblock.json",
"aws-ec2-subnetnetworkaclassociation.json",
"aws-ec2-subnetroutetableassociation.json",
"aws-ec2-trafficmirrorfilter.json",
@@ -931,7 +934,6 @@
"aws-ec2-volume.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
- "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpoint.json",
"aws-ec2-vpcendpointconnectionnotification.json",
@@ -1018,7 +1020,6 @@
"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",
@@ -1027,6 +1028,7 @@
"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",
@@ -1166,7 +1168,6 @@
"aws-rds-dbsecuritygroupingress.json",
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
- "aws-rds-globalcluster.json",
"aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
@@ -1311,6 +1312,7 @@
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
+ "aws-systemsmanagersap-application.json",
"aws-transfer-agreement.json",
"aws-transfer-certificate.json",
"aws-transfer-connector.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigatewayv2-integration.json
deleted file mode 100644
index 99fa47be40..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigatewayv2-integration.json
+++ /dev/null
@@ -1,178 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ApiId"
- ],
- "definitions": {
- "ResponseParameter": {
- "additionalProperties": false,
- "properties": {
- "Destination": {
- "type": "string"
- },
- "Source": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseParameterList": {
- "items": {
- "$ref": "#/definitions/ResponseParameter"
- },
- "type": "array"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TlsConfig": {
- "additionalProperties": false,
- "properties": {
- "ServerNameToVerify": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "apigateway:POST"
- ]
- },
- "delete": {
- "permissions": [
- "apigateway:GET",
- "apigateway:DELETE"
- ]
- },
- "list": {
- "permissions": [
- "apigateway:GET"
- ]
- },
- "read": {
- "permissions": [
- "apigateway:GET"
- ]
- },
- "update": {
- "permissions": [
- "apigateway:PATCH",
- "apigateway:GET",
- "apigateway:PUT"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/ApiId",
- "/properties/IntegrationId"
- ],
- "properties": {
- "ApiId": {
- "type": "string"
- },
- "ConnectionId": {
- "type": "string"
- },
- "ConnectionType": {
- "type": "string"
- },
- "ContentHandlingStrategy": {
- "type": "string"
- },
- "CredentialsArn": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "IntegrationId": {
- "type": "string"
- },
- "IntegrationMethod": {
- "type": "string"
- },
- "IntegrationSubtype": {
- "type": "string"
- },
- "IntegrationType": {
- "type": "string"
- },
- "IntegrationUri": {
- "type": "string"
- },
- "PassthroughBehavior": {
- "type": "string"
- },
- "PayloadFormatVersion": {
- "type": "string"
- },
- "RequestParameters": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "RequestTemplates": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseParameters": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "$ref": "#/definitions/ResponseParameterList"
- }
- },
- "type": "object"
- },
- "TemplateSelectionExpression": {
- "type": "string"
- },
- "TimeoutInMillis": {
- "type": "integer"
- },
- "TlsConfig": {
- "$ref": "#/definitions/TlsConfig"
- }
- },
- "readOnlyProperties": [
- "/properties/IntegrationId"
- ],
- "required": [
- "ApiId",
- "IntegrationType"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "taggable": false
- },
- "typeName": "AWS::ApiGatewayV2::Integration"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-logdeliveryconfiguration.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-logdeliveryconfiguration.json
deleted file mode 100644
index a83e0bcce0..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-logdeliveryconfiguration.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/UserPoolId"
- ],
- "definitions": {
- "CloudWatchLogsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "LogConfiguration": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsConfiguration": {
- "$ref": "#/definitions/CloudWatchLogsConfiguration"
- },
- "EventSource": {
- "type": "string"
- },
- "LogLevel": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "LogConfigurations": {
- "items": {
- "$ref": "#/definitions/LogConfiguration"
- },
- "type": "array"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "cognito-idp:GetLogDeliveryConfiguration",
- "cognito-idp:SetLogDeliveryConfiguration",
- "logs:CreateLogDelivery",
- "logs:GetLogDelivery",
- "logs:UpdateLogDelivery",
- "logs:DeleteLogDelivery",
- "logs:ListLogDeliveries",
- "logs:PutResourcePolicy",
- "logs:DescribeResourcePolicies",
- "logs:DescribeLogGroups"
- ],
- "timeoutInMinutes": 2
- },
- "delete": {
- "permissions": [
- "cognito-idp:GetLogDeliveryConfiguration",
- "cognito-idp:SetLogDeliveryConfiguration",
- "logs:CreateLogDelivery",
- "logs:GetLogDelivery",
- "logs:UpdateLogDelivery",
- "logs:DeleteLogDelivery",
- "logs:ListLogDeliveries",
- "logs:PutResourcePolicy",
- "logs:DescribeResourcePolicies",
- "logs:DescribeLogGroups"
- ],
- "timeoutInMinutes": 2
- },
- "read": {
- "permissions": [
- "cognito-idp:GetLogDeliveryConfiguration"
- ]
- },
- "update": {
- "permissions": [
- "cognito-idp:GetLogDeliveryConfiguration",
- "cognito-idp:SetLogDeliveryConfiguration",
- "logs:CreateLogDelivery",
- "logs:GetLogDelivery",
- "logs:UpdateLogDelivery",
- "logs:DeleteLogDelivery",
- "logs:ListLogDeliveries",
- "logs:PutResourcePolicy",
- "logs:DescribeResourcePolicies",
- "logs:DescribeLogGroups"
- ],
- "timeoutInMinutes": 2
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Id": {
- "type": "string"
- },
- "LogConfigurations": {
- "$ref": "#/definitions/LogConfigurations"
- },
- "UserPoolId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "UserPoolId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::Cognito::LogDeliveryConfiguration"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-userpool.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-userpool.json
deleted file mode 100644
index d035f0721a..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cognito-userpool.json
+++ /dev/null
@@ -1,529 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "AccountRecoverySetting": {
- "additionalProperties": false,
- "properties": {
- "RecoveryMechanisms": {
- "items": {
- "$ref": "#/definitions/RecoveryOption"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "AdminCreateUserConfig": {
- "additionalProperties": false,
- "properties": {
- "AllowAdminCreateUserOnly": {
- "type": "boolean"
- },
- "InviteMessageTemplate": {
- "$ref": "#/definitions/InviteMessageTemplate"
- },
- "UnusedAccountValidityDays": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "CustomEmailSender": {
- "additionalProperties": false,
- "properties": {
- "LambdaArn": {
- "type": "string"
- },
- "LambdaVersion": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "CustomSMSSender": {
- "additionalProperties": false,
- "properties": {
- "LambdaArn": {
- "type": "string"
- },
- "LambdaVersion": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "DeviceConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ChallengeRequiredOnNewDevice": {
- "type": "boolean"
- },
- "DeviceOnlyRememberedOnUserPrompt": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "EmailConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ConfigurationSet": {
- "type": "string"
- },
- "EmailSendingAccount": {
- "type": "string"
- },
- "From": {
- "type": "string"
- },
- "ReplyToEmailAddress": {
- "type": "string"
- },
- "SourceArn": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "InviteMessageTemplate": {
- "additionalProperties": false,
- "properties": {
- "EmailMessage": {
- "type": "string"
- },
- "EmailSubject": {
- "type": "string"
- },
- "SMSMessage": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "LambdaConfig": {
- "additionalProperties": false,
- "properties": {
- "CreateAuthChallenge": {
- "type": "string"
- },
- "CustomEmailSender": {
- "$ref": "#/definitions/CustomEmailSender"
- },
- "CustomMessage": {
- "type": "string"
- },
- "CustomSMSSender": {
- "$ref": "#/definitions/CustomSMSSender"
- },
- "DefineAuthChallenge": {
- "type": "string"
- },
- "KMSKeyID": {
- "type": "string"
- },
- "PostAuthentication": {
- "type": "string"
- },
- "PostConfirmation": {
- "type": "string"
- },
- "PreAuthentication": {
- "type": "string"
- },
- "PreSignUp": {
- "type": "string"
- },
- "PreTokenGeneration": {
- "type": "string"
- },
- "PreTokenGenerationConfig": {
- "$ref": "#/definitions/PreTokenGenerationConfig"
- },
- "UserMigration": {
- "type": "string"
- },
- "VerifyAuthChallengeResponse": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "NumberAttributeConstraints": {
- "additionalProperties": false,
- "properties": {
- "MaxValue": {
- "type": "string"
- },
- "MinValue": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "PasswordPolicy": {
- "additionalProperties": false,
- "properties": {
- "MinimumLength": {
- "type": "integer"
- },
- "RequireLowercase": {
- "type": "boolean"
- },
- "RequireNumbers": {
- "type": "boolean"
- },
- "RequireSymbols": {
- "type": "boolean"
- },
- "RequireUppercase": {
- "type": "boolean"
- },
- "TemporaryPasswordValidityDays": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Policies": {
- "additionalProperties": false,
- "properties": {
- "PasswordPolicy": {
- "$ref": "#/definitions/PasswordPolicy"
- }
- },
- "type": "object"
- },
- "PreTokenGenerationConfig": {
- "additionalProperties": false,
- "properties": {
- "LambdaArn": {
- "type": "string"
- },
- "LambdaVersion": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "RecoveryOption": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "type": "string"
- },
- "Priority": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "SchemaAttribute": {
- "additionalProperties": false,
- "properties": {
- "AttributeDataType": {
- "type": "string"
- },
- "DeveloperOnlyAttribute": {
- "type": "boolean"
- },
- "Mutable": {
- "type": "boolean"
- },
- "Name": {
- "type": "string"
- },
- "NumberAttributeConstraints": {
- "$ref": "#/definitions/NumberAttributeConstraints"
- },
- "Required": {
- "type": "boolean"
- },
- "StringAttributeConstraints": {
- "$ref": "#/definitions/StringAttributeConstraints"
- }
- },
- "type": "object"
- },
- "SmsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ExternalId": {
- "type": "string"
- },
- "SnsCallerArn": {
- "type": "string"
- },
- "SnsRegion": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "StringAttributeConstraints": {
- "additionalProperties": false,
- "properties": {
- "MaxLength": {
- "type": "string"
- },
- "MinLength": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "UserAttributeUpdateSettings": {
- "additionalProperties": false,
- "properties": {
- "AttributesRequireVerificationBeforeUpdate": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "AttributesRequireVerificationBeforeUpdate"
- ],
- "type": "object"
- },
- "UserPoolAddOns": {
- "additionalProperties": false,
- "properties": {
- "AdvancedSecurityMode": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "UsernameConfiguration": {
- "additionalProperties": false,
- "properties": {
- "CaseSensitive": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "VerificationMessageTemplate": {
- "additionalProperties": false,
- "properties": {
- "DefaultEmailOption": {
- "type": "string"
- },
- "EmailMessage": {
- "type": "string"
- },
- "EmailMessageByLink": {
- "type": "string"
- },
- "EmailSubject": {
- "type": "string"
- },
- "EmailSubjectByLink": {
- "type": "string"
- },
- "SmsMessage": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "cognito-idp:CreateUserPool",
- "iam:PassRole",
- "cognito-idp:SetUserPoolMfaConfig",
- "cognito-idp:DescribeUserPool",
- "kms:CreateGrant",
- "iam:CreateServiceLinkedRole"
- ],
- "timeoutInMinutes": 2
- },
- "delete": {
- "permissions": [
- "cognito-idp:DeleteUserPool"
- ],
- "timeoutInMinutes": 2
- },
- "list": {
- "permissions": [
- "cognito-idp:ListUserPools"
- ]
- },
- "read": {
- "permissions": [
- "cognito-idp:DescribeUserPool"
- ]
- },
- "update": {
- "permissions": [
- "cognito-idp:UpdateUserPool",
- "cognito-idp:ListTagsForResource",
- "cognito-idp:UntagResource",
- "cognito-idp:TagResource",
- "cognito-idp:SetUserPoolMfaConfig",
- "cognito-idp:AddCustomAttributes",
- "cognito-idp:DescribeUserPool",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 2
- }
- },
- "primaryIdentifier": [
- "/properties/UserPoolId"
- ],
- "properties": {
- "AccountRecoverySetting": {
- "$ref": "#/definitions/AccountRecoverySetting"
- },
- "AdminCreateUserConfig": {
- "$ref": "#/definitions/AdminCreateUserConfig"
- },
- "AliasAttributes": {
- "items": {
- "enum": [
- "email",
- "phone_number",
- "preferred_username"
- ],
- "type": "string"
- },
- "type": "array"
- },
- "Arn": {
- "type": "string"
- },
- "AutoVerifiedAttributes": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "DeletionProtection": {
- "type": "string"
- },
- "DeviceConfiguration": {
- "$ref": "#/definitions/DeviceConfiguration"
- },
- "EmailConfiguration": {
- "$ref": "#/definitions/EmailConfiguration"
- },
- "EmailVerificationMessage": {
- "maxLength": 20000,
- "minLength": 6,
- "type": "string"
- },
- "EmailVerificationSubject": {
- "maxLength": 140,
- "minLength": 1,
- "type": "string"
- },
- "EnabledMfas": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "LambdaConfig": {
- "$ref": "#/definitions/LambdaConfig"
- },
- "MfaConfiguration": {
- "enum": [
- "OFF",
- "ON",
- "OPTIONAL"
- ],
- "type": "string"
- },
- "Policies": {
- "$ref": "#/definitions/Policies"
- },
- "ProviderName": {
- "type": "string"
- },
- "ProviderURL": {
- "type": "string"
- },
- "Schema": {
- "items": {
- "$ref": "#/definitions/SchemaAttribute"
- },
- "type": "array"
- },
- "SmsAuthenticationMessage": {
- "maxLength": 140,
- "minLength": 6,
- "type": "string"
- },
- "SmsConfiguration": {
- "$ref": "#/definitions/SmsConfiguration"
- },
- "SmsVerificationMessage": {
- "maxLength": 140,
- "minLength": 6,
- "type": "string"
- },
- "UserAttributeUpdateSettings": {
- "$ref": "#/definitions/UserAttributeUpdateSettings"
- },
- "UserPoolAddOns": {
- "$ref": "#/definitions/UserPoolAddOns"
- },
- "UserPoolId": {
- "type": "string"
- },
- "UserPoolName": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "UserPoolTags": {
- "additionalProperties": false,
- "patternProperties": {
- "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "UsernameAttributes": {
- "items": {
- "enum": [
- "email",
- "phone_number"
- ],
- "type": "string"
- },
- "type": "array"
- },
- "UsernameConfiguration": {
- "$ref": "#/definitions/UsernameConfiguration"
- },
- "VerificationMessageTemplate": {
- "$ref": "#/definitions/VerificationMessageTemplate"
- }
- },
- "propertyTransform": {
- "/properties/Schema/*/Name": "'custom:' & '' & Name"
- },
- "readOnlyProperties": [
- "/properties/ProviderName",
- "/properties/UserPoolId",
- "/properties/ProviderURL",
- "/properties/Arn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/UserPoolTags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Cognito::UserPool",
- "writeOnlyProperties": [
- "/properties/EnabledMfas"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-ipam.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-ipam.json
new file mode 100644
index 0000000000..69ed6aeb61
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-ipam.json
@@ -0,0 +1,148 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "IpamOperatingRegion": {
+ "additionalProperties": false,
+ "properties": {
+ "RegionName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RegionName"
+ ],
+ "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": [
+ "ec2:CreateIpam",
+ "iam:CreateServiceLinkedRole",
+ "ec2:CreateTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DeleteIpam",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:ModifyIpam",
+ "ec2:CreateTags",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IpamId"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryAssociationId": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryId": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "IpamId": {
+ "type": "string"
+ },
+ "OperatingRegions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/IpamOperatingRegion"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "PrivateDefaultScopeId": {
+ "type": "string"
+ },
+ "PublicDefaultScopeId": {
+ "maxLength": 255,
+ "type": "string"
+ },
+ "ResourceDiscoveryAssociationCount": {
+ "type": "integer"
+ },
+ "ScopeCount": {
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Tier": {
+ "enum": [
+ "free",
+ "advanced"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/IpamId",
+ "/properties/Arn",
+ "/properties/PublicDefaultScopeId",
+ "/properties/PrivateDefaultScopeId",
+ "/properties/ScopeCount",
+ "/properties/ResourceDiscoveryAssociationCount",
+ "/properties/DefaultResourceDiscoveryId",
+ "/properties/DefaultResourceDiscoveryAssociationId"
+ ],
+ "required": [],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::IPAM"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-subnetcidrblock.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-subnetcidrblock.json
deleted file mode 100644
index 500d506d74..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-subnetcidrblock.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Ipv6CidrBlock",
- "/properties/SubnetId",
- "/properties/Ipv6IpamPoolId",
- "/properties/Ipv6NetmaskLength"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "ec2:AssociateSubnetCidrBlock",
- "ec2:DescribeSubnets"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DisassociateSubnetCidrBlock",
- "ec2:DescribeSubnets"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeSubnets"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeSubnets"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Id": {
- "type": "string"
- },
- "Ipv6CidrBlock": {
- "maxLength": 42,
- "type": "string"
- },
- "Ipv6IpamPoolId": {
- "type": "string"
- },
- "Ipv6NetmaskLength": {
- "maximum": 128,
- "minimum": 0,
- "type": "integer"
- },
- "SubnetId": {
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/Ipv6CidrBlock": "$join([$match($replace(Ipv6CidrBlock, /(^|:)(0{1,4})([0-9a-fA-F]{1,4})/, \"$1$3\"), /^([0-9a-fA-F]{1,4}:){4}/).match, \":/64\"])"
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "SubnetId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/subnetcidrblock",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::EC2::SubnetCidrBlock",
- "writeOnlyProperties": [
- "/properties/Ipv6IpamPoolId",
- "/properties/Ipv6NetmaskLength"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-vpccidrblock.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-vpccidrblock.json
new file mode 100644
index 0000000000..d12a123311
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-vpccidrblock.json
@@ -0,0 +1,103 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Ipv6Pool",
+ "/properties/VpcId",
+ "/properties/AmazonProvidedIpv6CidrBlock",
+ "/properties/Ipv6CidrBlock",
+ "/properties/CidrBlock",
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:AssociateVpcCidrBlock",
+ "ec2:DescribeVpcs",
+ "ec2:AllocateIpamPoolCidr"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DescribeVpcs",
+ "ec2:DisassociateVpcCidrBlock"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "VpcId"
+ ]
+ },
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id",
+ "/properties/VpcId"
+ ],
+ "properties": {
+ "AmazonProvidedIpv6CidrBlock": {
+ "type": "boolean"
+ },
+ "CidrBlock": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Ipv4IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv4NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6CidrBlock": {
+ "type": "string"
+ },
+ "Ipv6IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv6NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6Pool": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "VpcId"
+ ],
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::EC2::VPCCidrBlock",
+ "writeOnlyProperties": [
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-glue-database.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-glue-trigger.json
deleted file mode 100644
index 974dd89b9f..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-glue-trigger.json
+++ /dev/null
@@ -1,172 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/WorkflowName",
- "/properties/Type"
- ],
- "definitions": {
- "Action": {
- "additionalProperties": false,
- "properties": {
- "Arguments": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "NotificationProperty": {
- "$ref": "#/definitions/NotificationProperty"
- },
- "SecurityConfiguration": {
- "type": "string"
- },
- "Timeout": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Condition": {
- "additionalProperties": false,
- "properties": {
- "CrawlState": {
- "type": "string"
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "LogicalOperator": {
- "enum": [
- "EQUALS"
- ],
- "type": "string"
- },
- "State": {
- "enum": [
- "SUCCEEDED",
- "STOPPED",
- "TIMEOUT",
- "FAILED"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "EventBatchingCondition": {
- "additionalProperties": false,
- "properties": {
- "BatchSize": {
- "type": "integer"
- },
- "BatchWindow": {
- "type": "integer"
- }
- },
- "required": [
- "BatchSize"
- ],
- "type": "object"
- },
- "NotificationProperty": {
- "additionalProperties": false,
- "properties": {
- "NotifyDelayAfter": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Predicate": {
- "additionalProperties": false,
- "properties": {
- "Conditions": {
- "items": {
- "$ref": "#/definitions/Condition"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Logical": {
- "enum": [
- "AND",
- "ANY"
- ],
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Actions": {
- "items": {
- "$ref": "#/definitions/Action"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Description": {
- "type": "string"
- },
- "EventBatchingCondition": {
- "$ref": "#/definitions/EventBatchingCondition"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "Predicate": {
- "$ref": "#/definitions/Predicate"
- },
- "Schedule": {
- "type": "string"
- },
- "StartOnCreation": {
- "type": "boolean"
- },
- "Tags": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "Type": {
- "enum": [
- "CONDITIONAL",
- "EVENT",
- "ON_DEMAND",
- "SCHEDULED"
- ],
- "type": "string"
- },
- "WorkflowName": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "Type",
- "Actions"
- ],
- "typeName": "AWS::Glue::Trigger"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-globalcluster.json
new file mode 100644
index 0000000000..9cf0aaadab
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-globalcluster.json
@@ -0,0 +1,99 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/GlobalClusterIdentifier",
+ "/properties/SourceDBClusterIdentifier",
+ "/properties/StorageEncrypted",
+ "/properties/Engine"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateGlobalCluster",
+ "rds:DescribeDBClusters",
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DescribeGlobalClusters",
+ "rds:DeleteGlobalCluster",
+ "rds:RemoveFromGlobalCluster",
+ "rds:DescribeDBClusters"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:ModifyGlobalCluster",
+ "rds:DescribeGlobalClusters"
+ ]
+ }
+ },
+ "oneOf": [
+ {
+ "required": [
+ "SourceDBClusterIdentifier"
+ ]
+ },
+ {
+ "required": [
+ "Engine"
+ ]
+ }
+ ],
+ "primaryIdentifier": [
+ "/properties/GlobalClusterIdentifier"
+ ],
+ "properties": {
+ "DeletionProtection": {
+ "type": "boolean"
+ },
+ "Engine": {
+ "enum": [
+ "aurora",
+ "aurora-mysql",
+ "aurora-postgresql"
+ ],
+ "type": "string"
+ },
+ "EngineLifecycleSupport": {
+ "type": "string"
+ },
+ "EngineVersion": {
+ "type": "string"
+ },
+ "GlobalClusterIdentifier": {
+ "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "SourceDBClusterIdentifier": {
+ "oneOf": [
+ {
+ "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$"
+ },
+ {
+ "pattern": "^(?=.{40,128}$)arn.*"
+ }
+ ],
+ "type": "string"
+ },
+ "StorageEncrypted": {
+ "type": "boolean"
+ }
+ },
+ "propertyTransform": {
+ "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds",
+ "typeName": "AWS::RDS::GlobalCluster"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-systemsmanagersap-application.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-systemsmanagersap-application.json
deleted file mode 100644
index 4a0937c197..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-systemsmanagersap-application.json
+++ /dev/null
@@ -1,161 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Credentials",
- "/properties/Instances",
- "/properties/SapInstanceNumber",
- "/properties/Sid"
- ],
- "definitions": {
- "Credential": {
- "additionalProperties": false,
- "properties": {
- "CredentialType": {
- "enum": [
- "ADMIN"
- ],
- "type": "string"
- },
- "DatabaseName": {
- "pattern": "^(?=.{1,100}$).*",
- "type": "string"
- },
- "SecretId": {
- "pattern": "^(?=.{1,100}$).*",
- "type": "string"
- }
- },
- "type": "object"
- },
- "Instance": {
- "pattern": "^i-[\\w\\d]{8}$|^i-[\\w\\d]{17}$",
- "type": "string"
- },
- "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": [
- "ssm-sap:RegisterApplication",
- "ssm-sap:GetApplication",
- "ssm-sap:TagResource",
- "ssm-sap:ListTagsForResource"
- ]
- },
- "delete": {
- "permissions": [
- "ssm-sap:DeregisterApplication",
- "ssm-sap:GetApplication"
- ]
- },
- "list": {
- "permissions": [
- "ssm-sap:ListApplications"
- ]
- },
- "read": {
- "permissions": [
- "ssm-sap:GetApplication",
- "ssm-sap:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "ssm-sap:TagResource",
- "ssm-sap:UntagResource",
- "ssm-sap:ListTagsForResource",
- "ssm-sap:GetApplication"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "ApplicationId": {
- "pattern": "[\\w\\d]{1,50}",
- "type": "string"
- },
- "ApplicationType": {
- "enum": [
- "HANA"
- ],
- "type": "string"
- },
- "Arn": {
- "pattern": "^arn:(.+:){2,4}.+$|^arn:(.+:){1,3}.+\\/.+$",
- "type": "string"
- },
- "Credentials": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Credential"
- },
- "minItems": 1,
- "type": "array"
- },
- "Instances": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Instance"
- },
- "minItems": 1,
- "type": "array"
- },
- "SapInstanceNumber": {
- "pattern": "[0-9]{2}",
- "type": "string"
- },
- "Sid": {
- "pattern": "[A-Z][A-Z0-9]{2}",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "ApplicationId",
- "ApplicationType"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::SystemsManagerSAP::Application",
- "writeOnlyProperties": [
- "/properties/Credentials",
- "/properties/Instances",
- "/properties/SapInstanceNumber",
- "/properties/Sid"
- ]
-}
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 050b08fcf1..49f29c92cb 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py
@@ -113,6 +113,7 @@
"AWS::CloudFront::PublicKey",
"AWS::CloudFront::RealtimeLogConfig",
"AWS::CloudFront::ResponseHeadersPolicy",
+ "AWS::CloudTrail::EventDataStore",
"AWS::CloudTrail::Trail",
"AWS::CloudWatch::Alarm",
"AWS::CloudWatch::AnomalyDetector",
@@ -639,6 +640,7 @@
"aws-apigatewayv2-authorizer.json",
"aws-apigatewayv2-deployment.json",
"aws-apigatewayv2-domainname.json",
+ "aws-apigatewayv2-integration.json",
"aws-apigatewayv2-integrationresponse.json",
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
@@ -711,6 +713,7 @@
"aws-cloudfront-publickey.json",
"aws-cloudfront-realtimelogconfig.json",
"aws-cloudfront-responseheaderspolicy.json",
+ "aws-cloudtrail-eventdatastore.json",
"aws-cloudtrail-trail.json",
"aws-cloudwatch-alarm.json",
"aws-cloudwatch-anomalydetector.json",
@@ -782,7 +785,6 @@
"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",
@@ -804,6 +806,7 @@
"aws-ec2-securitygroupingress.json",
"aws-ec2-snapshotblockpublicaccess.json",
"aws-ec2-subnet.json",
+ "aws-ec2-subnetcidrblock.json",
"aws-ec2-subnetnetworkaclassociation.json",
"aws-ec2-subnetroutetableassociation.json",
"aws-ec2-trafficmirrorfilter.json",
@@ -824,7 +827,6 @@
"aws-ec2-transitgatewayvpcattachment.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
- "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpointconnectionnotification.json",
"aws-ec2-vpcendpointservice.json",
@@ -897,7 +899,6 @@
"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",
@@ -906,6 +907,7 @@
"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",
@@ -1035,7 +1037,6 @@
"aws-rds-dbsecuritygroupingress.json",
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
- "aws-rds-globalcluster.json",
"aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigatewayv2-integration.json
deleted file mode 100644
index 99fa47be40..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigatewayv2-integration.json
+++ /dev/null
@@ -1,178 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ApiId"
- ],
- "definitions": {
- "ResponseParameter": {
- "additionalProperties": false,
- "properties": {
- "Destination": {
- "type": "string"
- },
- "Source": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseParameterList": {
- "items": {
- "$ref": "#/definitions/ResponseParameter"
- },
- "type": "array"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TlsConfig": {
- "additionalProperties": false,
- "properties": {
- "ServerNameToVerify": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "apigateway:POST"
- ]
- },
- "delete": {
- "permissions": [
- "apigateway:GET",
- "apigateway:DELETE"
- ]
- },
- "list": {
- "permissions": [
- "apigateway:GET"
- ]
- },
- "read": {
- "permissions": [
- "apigateway:GET"
- ]
- },
- "update": {
- "permissions": [
- "apigateway:PATCH",
- "apigateway:GET",
- "apigateway:PUT"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/ApiId",
- "/properties/IntegrationId"
- ],
- "properties": {
- "ApiId": {
- "type": "string"
- },
- "ConnectionId": {
- "type": "string"
- },
- "ConnectionType": {
- "type": "string"
- },
- "ContentHandlingStrategy": {
- "type": "string"
- },
- "CredentialsArn": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "IntegrationId": {
- "type": "string"
- },
- "IntegrationMethod": {
- "type": "string"
- },
- "IntegrationSubtype": {
- "type": "string"
- },
- "IntegrationType": {
- "type": "string"
- },
- "IntegrationUri": {
- "type": "string"
- },
- "PassthroughBehavior": {
- "type": "string"
- },
- "PayloadFormatVersion": {
- "type": "string"
- },
- "RequestParameters": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "RequestTemplates": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseParameters": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "$ref": "#/definitions/ResponseParameterList"
- }
- },
- "type": "object"
- },
- "TemplateSelectionExpression": {
- "type": "string"
- },
- "TimeoutInMillis": {
- "type": "integer"
- },
- "TlsConfig": {
- "$ref": "#/definitions/TlsConfig"
- }
- },
- "readOnlyProperties": [
- "/properties/IntegrationId"
- ],
- "required": [
- "ApiId",
- "IntegrationType"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "taggable": false
- },
- "typeName": "AWS::ApiGatewayV2::Integration"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-ipam.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-ipam.json
new file mode 100644
index 0000000000..69ed6aeb61
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-ipam.json
@@ -0,0 +1,148 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "IpamOperatingRegion": {
+ "additionalProperties": false,
+ "properties": {
+ "RegionName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RegionName"
+ ],
+ "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": [
+ "ec2:CreateIpam",
+ "iam:CreateServiceLinkedRole",
+ "ec2:CreateTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DeleteIpam",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:ModifyIpam",
+ "ec2:CreateTags",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IpamId"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryAssociationId": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryId": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "IpamId": {
+ "type": "string"
+ },
+ "OperatingRegions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/IpamOperatingRegion"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "PrivateDefaultScopeId": {
+ "type": "string"
+ },
+ "PublicDefaultScopeId": {
+ "maxLength": 255,
+ "type": "string"
+ },
+ "ResourceDiscoveryAssociationCount": {
+ "type": "integer"
+ },
+ "ScopeCount": {
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Tier": {
+ "enum": [
+ "free",
+ "advanced"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/IpamId",
+ "/properties/Arn",
+ "/properties/PublicDefaultScopeId",
+ "/properties/PrivateDefaultScopeId",
+ "/properties/ScopeCount",
+ "/properties/ResourceDiscoveryAssociationCount",
+ "/properties/DefaultResourceDiscoveryId",
+ "/properties/DefaultResourceDiscoveryAssociationId"
+ ],
+ "required": [],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::IPAM"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-subnetcidrblock.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-subnetcidrblock.json
deleted file mode 100644
index 500d506d74..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-subnetcidrblock.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Ipv6CidrBlock",
- "/properties/SubnetId",
- "/properties/Ipv6IpamPoolId",
- "/properties/Ipv6NetmaskLength"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "ec2:AssociateSubnetCidrBlock",
- "ec2:DescribeSubnets"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DisassociateSubnetCidrBlock",
- "ec2:DescribeSubnets"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeSubnets"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeSubnets"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Id": {
- "type": "string"
- },
- "Ipv6CidrBlock": {
- "maxLength": 42,
- "type": "string"
- },
- "Ipv6IpamPoolId": {
- "type": "string"
- },
- "Ipv6NetmaskLength": {
- "maximum": 128,
- "minimum": 0,
- "type": "integer"
- },
- "SubnetId": {
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/Ipv6CidrBlock": "$join([$match($replace(Ipv6CidrBlock, /(^|:)(0{1,4})([0-9a-fA-F]{1,4})/, \"$1$3\"), /^([0-9a-fA-F]{1,4}:){4}/).match, \":/64\"])"
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "SubnetId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/subnetcidrblock",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::EC2::SubnetCidrBlock",
- "writeOnlyProperties": [
- "/properties/Ipv6IpamPoolId",
- "/properties/Ipv6NetmaskLength"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-vpccidrblock.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-vpccidrblock.json
new file mode 100644
index 0000000000..d12a123311
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-vpccidrblock.json
@@ -0,0 +1,103 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Ipv6Pool",
+ "/properties/VpcId",
+ "/properties/AmazonProvidedIpv6CidrBlock",
+ "/properties/Ipv6CidrBlock",
+ "/properties/CidrBlock",
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:AssociateVpcCidrBlock",
+ "ec2:DescribeVpcs",
+ "ec2:AllocateIpamPoolCidr"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DescribeVpcs",
+ "ec2:DisassociateVpcCidrBlock"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "VpcId"
+ ]
+ },
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id",
+ "/properties/VpcId"
+ ],
+ "properties": {
+ "AmazonProvidedIpv6CidrBlock": {
+ "type": "boolean"
+ },
+ "CidrBlock": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Ipv4IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv4NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6CidrBlock": {
+ "type": "string"
+ },
+ "Ipv6IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv6NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6Pool": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "VpcId"
+ ],
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::EC2::VPCCidrBlock",
+ "writeOnlyProperties": [
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-glue-database.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-glue-trigger.json
deleted file mode 100644
index 974dd89b9f..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-glue-trigger.json
+++ /dev/null
@@ -1,172 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/WorkflowName",
- "/properties/Type"
- ],
- "definitions": {
- "Action": {
- "additionalProperties": false,
- "properties": {
- "Arguments": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "NotificationProperty": {
- "$ref": "#/definitions/NotificationProperty"
- },
- "SecurityConfiguration": {
- "type": "string"
- },
- "Timeout": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Condition": {
- "additionalProperties": false,
- "properties": {
- "CrawlState": {
- "type": "string"
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "LogicalOperator": {
- "enum": [
- "EQUALS"
- ],
- "type": "string"
- },
- "State": {
- "enum": [
- "SUCCEEDED",
- "STOPPED",
- "TIMEOUT",
- "FAILED"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "EventBatchingCondition": {
- "additionalProperties": false,
- "properties": {
- "BatchSize": {
- "type": "integer"
- },
- "BatchWindow": {
- "type": "integer"
- }
- },
- "required": [
- "BatchSize"
- ],
- "type": "object"
- },
- "NotificationProperty": {
- "additionalProperties": false,
- "properties": {
- "NotifyDelayAfter": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Predicate": {
- "additionalProperties": false,
- "properties": {
- "Conditions": {
- "items": {
- "$ref": "#/definitions/Condition"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Logical": {
- "enum": [
- "AND",
- "ANY"
- ],
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Actions": {
- "items": {
- "$ref": "#/definitions/Action"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Description": {
- "type": "string"
- },
- "EventBatchingCondition": {
- "$ref": "#/definitions/EventBatchingCondition"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "Predicate": {
- "$ref": "#/definitions/Predicate"
- },
- "Schedule": {
- "type": "string"
- },
- "StartOnCreation": {
- "type": "boolean"
- },
- "Tags": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "Type": {
- "enum": [
- "CONDITIONAL",
- "EVENT",
- "ON_DEMAND",
- "SCHEDULED"
- ],
- "type": "string"
- },
- "WorkflowName": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "Type",
- "Actions"
- ],
- "typeName": "AWS::Glue::Trigger"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-globalcluster.json
new file mode 100644
index 0000000000..9cf0aaadab
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-globalcluster.json
@@ -0,0 +1,99 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/GlobalClusterIdentifier",
+ "/properties/SourceDBClusterIdentifier",
+ "/properties/StorageEncrypted",
+ "/properties/Engine"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateGlobalCluster",
+ "rds:DescribeDBClusters",
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DescribeGlobalClusters",
+ "rds:DeleteGlobalCluster",
+ "rds:RemoveFromGlobalCluster",
+ "rds:DescribeDBClusters"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:ModifyGlobalCluster",
+ "rds:DescribeGlobalClusters"
+ ]
+ }
+ },
+ "oneOf": [
+ {
+ "required": [
+ "SourceDBClusterIdentifier"
+ ]
+ },
+ {
+ "required": [
+ "Engine"
+ ]
+ }
+ ],
+ "primaryIdentifier": [
+ "/properties/GlobalClusterIdentifier"
+ ],
+ "properties": {
+ "DeletionProtection": {
+ "type": "boolean"
+ },
+ "Engine": {
+ "enum": [
+ "aurora",
+ "aurora-mysql",
+ "aurora-postgresql"
+ ],
+ "type": "string"
+ },
+ "EngineLifecycleSupport": {
+ "type": "string"
+ },
+ "EngineVersion": {
+ "type": "string"
+ },
+ "GlobalClusterIdentifier": {
+ "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "SourceDBClusterIdentifier": {
+ "oneOf": [
+ {
+ "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$"
+ },
+ {
+ "pattern": "^(?=.{40,128}$)arn.*"
+ }
+ ],
+ "type": "string"
+ },
+ "StorageEncrypted": {
+ "type": "boolean"
+ }
+ },
+ "propertyTransform": {
+ "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds",
+ "typeName": "AWS::RDS::GlobalCluster"
+}
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 76198a03ef..9623d50793 100644
--- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py
@@ -1414,7 +1414,6 @@
"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",
@@ -1442,6 +1441,7 @@
"aws-ec2-prefixlist.json",
"aws-ec2-route.json",
"aws-ec2-routetable.json",
+ "aws-ec2-securitygroup.json",
"aws-ec2-securitygroupegress.json",
"aws-ec2-securitygroupingress.json",
"aws-ec2-snapshotblockpublicaccess.json",
@@ -1474,7 +1474,6 @@
"aws-ec2-volume.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
- "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpoint.json",
"aws-ec2-vpcendpointconnectionnotification.json",
@@ -1576,7 +1575,6 @@
"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",
@@ -1589,6 +1587,7 @@
"aws-glue-schemaversionmetadata.json",
"aws-glue-securityconfiguration.json",
"aws-glue-table.json",
+ "aws-glue-trigger.json",
"aws-glue-workflow.json",
"aws-greengrassv2-componentversion.json",
"aws-greengrassv2-deployment.json",
@@ -1603,6 +1602,7 @@
"aws-iam-group.json",
"aws-iam-grouppolicy.json",
"aws-iam-instanceprofile.json",
+ "aws-iam-managedpolicy.json",
"aws-iam-oidcprovider.json",
"aws-iam-policy.json",
"aws-iam-role.json",
@@ -1718,7 +1718,6 @@
"aws-lightsail-loadbalancer.json",
"aws-lightsail-loadbalancertlscertificate.json",
"aws-lightsail-staticip.json",
- "aws-location-apikey.json",
"aws-location-geofencecollection.json",
"aws-location-map.json",
"aws-location-placeindex.json",
@@ -1782,7 +1781,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-ipam.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-ipam.json
new file mode 100644
index 0000000000..69ed6aeb61
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-ipam.json
@@ -0,0 +1,148 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "IpamOperatingRegion": {
+ "additionalProperties": false,
+ "properties": {
+ "RegionName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RegionName"
+ ],
+ "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": [
+ "ec2:CreateIpam",
+ "iam:CreateServiceLinkedRole",
+ "ec2:CreateTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DeleteIpam",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:ModifyIpam",
+ "ec2:CreateTags",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IpamId"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryAssociationId": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryId": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "IpamId": {
+ "type": "string"
+ },
+ "OperatingRegions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/IpamOperatingRegion"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "PrivateDefaultScopeId": {
+ "type": "string"
+ },
+ "PublicDefaultScopeId": {
+ "maxLength": 255,
+ "type": "string"
+ },
+ "ResourceDiscoveryAssociationCount": {
+ "type": "integer"
+ },
+ "ScopeCount": {
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Tier": {
+ "enum": [
+ "free",
+ "advanced"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/IpamId",
+ "/properties/Arn",
+ "/properties/PublicDefaultScopeId",
+ "/properties/PrivateDefaultScopeId",
+ "/properties/ScopeCount",
+ "/properties/ResourceDiscoveryAssociationCount",
+ "/properties/DefaultResourceDiscoveryId",
+ "/properties/DefaultResourceDiscoveryAssociationId"
+ ],
+ "required": [],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::IPAM"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-securitygroup.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-securitygroup.json
deleted file mode 100644
index 6713650d36..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-securitygroup.json
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GroupDescription",
- "/properties/GroupName",
- "/properties/VpcId"
- ],
- "definitions": {
- "Egress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "DestinationPrefixListId": {
- "type": "string"
- },
- "DestinationSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "DestinationSecurityGroupId",
- "DestinationPrefixListId"
- ],
- "type": "object"
- },
- "Ingress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "SourcePrefixListId": {
- "type": "string"
- },
- "SourceSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "SourceSecurityGroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "SourceSecurityGroupOwnerId": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "SourcePrefixListId",
- "SourceSecurityGroupId",
- "SourceSecurityGroupName"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "dependentRequired": {
- "SecurityGroupEgress": [
- "VpcId"
- ]
- },
- "handlers": {
- "create": {
- "permissions": [
- "ec2:CreateSecurityGroup",
- "ec2:DescribeSecurityGroups",
- "ec2:RevokeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DeleteSecurityGroup",
- "ec2:DescribeInstances"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "update": {
- "permissions": [
- "ec2:RevokeSecurityGroupEgress",
- "ec2:RevokeSecurityGroupIngress",
- "ec2:DescribeSecurityGroups",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags",
- "ec2:DeleteTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "GroupDescription": {
- "maxLength": 255,
- "minLength": 0,
- "pattern": "^([a-z,A-Z,0-9,. _\\-:/()#,@[\\]+=&;\\{\\}!$*])*$",
- "type": "string"
- },
- "GroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "GroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "SecurityGroupEgress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Egress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SecurityGroupIngress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Ingress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "VpcId": {
- "format": "AWS::EC2::VPC.Id",
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/SecurityGroupEgress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupEgress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupEgress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)",
- "/properties/SecurityGroupIngress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupIngress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupIngress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)"
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/GroupId"
- ],
- "required": [
- "GroupDescription"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::EC2::SecurityGroup",
- "writeOnlyProperties": [
- "/properties/SecurityGroupIngress/*/SourceSecurityGroupName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-vpccidrblock.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-vpccidrblock.json
new file mode 100644
index 0000000000..d12a123311
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-vpccidrblock.json
@@ -0,0 +1,103 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Ipv6Pool",
+ "/properties/VpcId",
+ "/properties/AmazonProvidedIpv6CidrBlock",
+ "/properties/Ipv6CidrBlock",
+ "/properties/CidrBlock",
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:AssociateVpcCidrBlock",
+ "ec2:DescribeVpcs",
+ "ec2:AllocateIpamPoolCidr"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DescribeVpcs",
+ "ec2:DisassociateVpcCidrBlock"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "VpcId"
+ ]
+ },
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id",
+ "/properties/VpcId"
+ ],
+ "properties": {
+ "AmazonProvidedIpv6CidrBlock": {
+ "type": "boolean"
+ },
+ "CidrBlock": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Ipv4IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv4NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6CidrBlock": {
+ "type": "string"
+ },
+ "Ipv6IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv6NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6Pool": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "VpcId"
+ ],
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::EC2::VPCCidrBlock",
+ "writeOnlyProperties": [
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-glue-database.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-glue-trigger.json
deleted file mode 100644
index 974dd89b9f..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-glue-trigger.json
+++ /dev/null
@@ -1,172 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/WorkflowName",
- "/properties/Type"
- ],
- "definitions": {
- "Action": {
- "additionalProperties": false,
- "properties": {
- "Arguments": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "NotificationProperty": {
- "$ref": "#/definitions/NotificationProperty"
- },
- "SecurityConfiguration": {
- "type": "string"
- },
- "Timeout": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Condition": {
- "additionalProperties": false,
- "properties": {
- "CrawlState": {
- "type": "string"
- },
- "CrawlerName": {
- "type": "string"
- },
- "JobName": {
- "type": "string"
- },
- "LogicalOperator": {
- "enum": [
- "EQUALS"
- ],
- "type": "string"
- },
- "State": {
- "enum": [
- "SUCCEEDED",
- "STOPPED",
- "TIMEOUT",
- "FAILED"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "EventBatchingCondition": {
- "additionalProperties": false,
- "properties": {
- "BatchSize": {
- "type": "integer"
- },
- "BatchWindow": {
- "type": "integer"
- }
- },
- "required": [
- "BatchSize"
- ],
- "type": "object"
- },
- "NotificationProperty": {
- "additionalProperties": false,
- "properties": {
- "NotifyDelayAfter": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Predicate": {
- "additionalProperties": false,
- "properties": {
- "Conditions": {
- "items": {
- "$ref": "#/definitions/Condition"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Logical": {
- "enum": [
- "AND",
- "ANY"
- ],
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Actions": {
- "items": {
- "$ref": "#/definitions/Action"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Description": {
- "type": "string"
- },
- "EventBatchingCondition": {
- "$ref": "#/definitions/EventBatchingCondition"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "Predicate": {
- "$ref": "#/definitions/Predicate"
- },
- "Schedule": {
- "type": "string"
- },
- "StartOnCreation": {
- "type": "boolean"
- },
- "Tags": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "Type": {
- "enum": [
- "CONDITIONAL",
- "EVENT",
- "ON_DEMAND",
- "SCHEDULED"
- ],
- "type": "string"
- },
- "WorkflowName": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "Type",
- "Actions"
- ],
- "typeName": "AWS::Glue::Trigger"
-}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-iam-managedpolicy.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-iam-managedpolicy.json
deleted file mode 100644
index f913eca461..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-iam-managedpolicy.json
+++ /dev/null
@@ -1,147 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ManagedPolicyName",
- "/properties/Description",
- "/properties/Path"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreatePolicy",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- },
- "delete": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:DeletePolicyVersion",
- "iam:DeletePolicy",
- "iam:ListEntitiesForPolicy"
- ]
- },
- "list": {
- "permissions": [
- "iam:ListPolicies"
- ]
- },
- "read": {
- "permissions": [
- "iam:GetPolicy",
- "iam:ListEntitiesForPolicy",
- "iam:GetPolicyVersion"
- ]
- },
- "update": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:CreatePolicyVersion",
- "iam:DeletePolicyVersion",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/PolicyArn"
- ],
- "properties": {
- "AttachmentCount": {
- "type": "integer"
- },
- "CreateDate": {
- "type": "string"
- },
- "DefaultVersionId": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Groups": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "IsAttachable": {
- "type": "boolean"
- },
- "ManagedPolicyName": {
- "type": "string"
- },
- "Path": {
- "pattern": "^/(.+/)*$",
- "type": "string"
- },
- "PermissionsBoundaryUsageCount": {
- "type": "integer"
- },
- "PolicyArn": {
- "type": "string"
- },
- "PolicyDocument": {
- "maxLength": 6144,
- "type": [
- "object",
- "string"
- ]
- },
- "PolicyId": {
- "type": "string"
- },
- "Roles": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "UpdateDate": {
- "type": "string"
- },
- "Users": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/PolicyArn",
- "/properties/AttachmentCount",
- "/properties/CreateDate",
- "/properties/DefaultVersionId",
- "/properties/IsAttachable",
- "/properties/PermissionsBoundaryUsageCount",
- "/properties/PolicyId",
- "/properties/UpdateDate"
- ],
- "required": [
- "PolicyDocument"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iam",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::IAM::ManagedPolicy"
-}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-location-apikey.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-location-apikey.json
new file mode 100644
index 0000000000..b41c88be08
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-location-apikey.json
@@ -0,0 +1,226 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/KeyName"
+ ],
+ "definitions": {
+ "ApiKeyRestrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowActions": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 200,
+ "minLength": 5,
+ "pattern": "^geo:\\w*\\*?$",
+ "type": "string"
+ },
+ "maxItems": 7,
+ "minItems": 1,
+ "type": "array"
+ },
+ "AllowReferers": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 253,
+ "pattern": "^([$\\-._+!*`(),;/?:@=&\\w]|%([0-9a-fA-F?]{2}|[0-9a-fA-F?]?[*]))+$",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ },
+ "AllowResources": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 1600,
+ "pattern": "(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$)|(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):(geo-routes|geo-places|geo-maps)(:((\\*)|([a-z0-9]+([.-][a-z0-9]+)*)))::((provider[\\/][*-._\\w]+))$)",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "AllowActions",
+ "AllowResources"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[A-Za-z0-9 _=@:.+-/]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 50,
+ "patternProperties": {
+ "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "iso8601UTC": {
+ "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$",
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "geo:CreateKey",
+ "geo:DescribeKey",
+ "geo:TagResource",
+ "geo:UntagResource",
+ "geo:GetMapTile",
+ "geo:GetMapStyleDescriptor",
+ "geo:GetMapSprites",
+ "geo:GetMapGlyphs",
+ "geo:SearchPlaceIndexForText",
+ "geo:SearchPlaceIndexForPosition",
+ "geo:SearchPlaceIndexForSuggestions",
+ "geo:GetPlace",
+ "geo:CalculateRoute",
+ "geo:CalculateRouteMatrix"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "geo:DeleteKey",
+ "geo:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "geo:ListKeys"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "geo:DescribeKey"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "geo:CreateKey",
+ "geo:DescribeKey",
+ "geo:TagResource",
+ "geo:UntagResource",
+ "geo:GetMapTile",
+ "geo:GetMapStyleDescriptor",
+ "geo:GetMapSprites",
+ "geo:GetMapGlyphs",
+ "geo:SearchPlaceIndexForText",
+ "geo:SearchPlaceIndexForPosition",
+ "geo:SearchPlaceIndexForSuggestions",
+ "geo:GetPlace",
+ "geo:CalculateRoute",
+ "geo:CalculateRouteMatrix",
+ "geo:UpdateKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/KeyName"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 1600,
+ "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
+ "type": "string"
+ },
+ "CreateTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ExpireTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ },
+ "ForceDelete": {
+ "type": "boolean"
+ },
+ "ForceUpdate": {
+ "type": "boolean"
+ },
+ "KeyArn": {
+ "maxLength": 1600,
+ "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
+ "type": "string"
+ },
+ "KeyName": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^[-._\\w]+$",
+ "type": "string"
+ },
+ "NoExpiry": {
+ "type": "boolean"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/ApiKeyRestrictions"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "UpdateTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CreateTime",
+ "/properties/Arn",
+ "/properties/KeyArn",
+ "/properties/UpdateTime"
+ ],
+ "required": [
+ "KeyName",
+ "Restrictions"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Location::APIKey",
+ "writeOnlyProperties": [
+ "/properties/ForceUpdate",
+ "/properties/ForceDelete",
+ "/properties/NoExpiry"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-msk-replicator.json
new file mode 100644
index 0000000000..442dc3b3a8
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-msk-replicator.json
@@ -0,0 +1,349 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn",
+ "/properties/ReplicationInfoList/*/TopicReplication/StartingPosition/Type"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:CreateNetworkInterface",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "kafka:CreateReplicator",
+ "kafka:CreateReplicatorReference",
+ "kafka:DescribeClusterV2",
+ "kafka:DescribeReplicator",
+ "kafka:GetBootstrapBrokers",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "kafka:DeleteReplicator",
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "kafka:ListReplicators"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource",
+ "kafka:UntagResource",
+ "kafka:UpdateReplicationInfo"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py
index 1491067395..c3b6be5b4f 100644
--- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py
@@ -478,6 +478,8 @@
"AWS::SSM::Parameter",
"AWS::SSM::PatchBaseline",
"AWS::SSM::ResourceDataSync",
+ "AWS::SSO::Application",
+ "AWS::SSO::ApplicationAssignment",
"AWS::SSO::Assignment",
"AWS::SSO::Instance",
"AWS::SSO::InstanceAccessControlAttributeConfiguration",
@@ -558,6 +560,7 @@
"aws-apigatewayv2-authorizer.json",
"aws-apigatewayv2-deployment.json",
"aws-apigatewayv2-domainname.json",
+ "aws-apigatewayv2-integration.json",
"aws-apigatewayv2-integrationresponse.json",
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
@@ -626,6 +629,8 @@
"aws-cognito-identitypool.json",
"aws-cognito-identitypoolprincipaltag.json",
"aws-cognito-identitypoolroleattachment.json",
+ "aws-cognito-logdeliveryconfiguration.json",
+ "aws-cognito-userpool.json",
"aws-cognito-userpoolclient.json",
"aws-cognito-userpoolgroup.json",
"aws-cognito-userpoolriskconfigurationattachment.json",
@@ -675,7 +680,6 @@
"aws-ec2-gatewayroutetableassociation.json",
"aws-ec2-instance.json",
"aws-ec2-internetgateway.json",
- "aws-ec2-ipam.json",
"aws-ec2-ipamallocation.json",
"aws-ec2-ipampool.json",
"aws-ec2-ipampoolcidr.json",
@@ -715,7 +719,6 @@
"aws-ec2-transitgatewayroutetablepropagation.json",
"aws-ec2-transitgatewayvpcattachment.json",
"aws-ec2-vpc.json",
- "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpointconnectionnotification.json",
"aws-ec2-vpcendpointservice.json",
@@ -782,7 +785,6 @@
"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",
@@ -800,7 +802,6 @@
"aws-guardduty-member.json",
"aws-guardduty-threatintelset.json",
"aws-iam-grouppolicy.json",
- "aws-iam-managedpolicy.json",
"aws-iam-oidcprovider.json",
"aws-iam-rolepolicy.json",
"aws-iam-samlprovider.json",
@@ -833,7 +834,6 @@
"aws-lambda-alias.json",
"aws-lambda-eventinvokeconfig.json",
"aws-lambda-eventsourcemapping.json",
- "aws-lambda-function.json",
"aws-lambda-layerversion.json",
"aws-lambda-layerversionpermission.json",
"aws-lambda-permission.json",
@@ -966,6 +966,8 @@
"aws-ssm-parameter.json",
"aws-ssm-patchbaseline.json",
"aws-ssm-resourcedatasync.json",
+ "aws-sso-application.json",
+ "aws-sso-applicationassignment.json",
"aws-sso-assignment.json",
"aws-sso-instance.json",
"aws-sso-instanceaccesscontrolattributeconfiguration.json",
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigatewayv2-integration.json
deleted file mode 100644
index 99fa47be40..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigatewayv2-integration.json
+++ /dev/null
@@ -1,178 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ApiId"
- ],
- "definitions": {
- "ResponseParameter": {
- "additionalProperties": false,
- "properties": {
- "Destination": {
- "type": "string"
- },
- "Source": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseParameterList": {
- "items": {
- "$ref": "#/definitions/ResponseParameter"
- },
- "type": "array"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TlsConfig": {
- "additionalProperties": false,
- "properties": {
- "ServerNameToVerify": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "apigateway:POST"
- ]
- },
- "delete": {
- "permissions": [
- "apigateway:GET",
- "apigateway:DELETE"
- ]
- },
- "list": {
- "permissions": [
- "apigateway:GET"
- ]
- },
- "read": {
- "permissions": [
- "apigateway:GET"
- ]
- },
- "update": {
- "permissions": [
- "apigateway:PATCH",
- "apigateway:GET",
- "apigateway:PUT"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/ApiId",
- "/properties/IntegrationId"
- ],
- "properties": {
- "ApiId": {
- "type": "string"
- },
- "ConnectionId": {
- "type": "string"
- },
- "ConnectionType": {
- "type": "string"
- },
- "ContentHandlingStrategy": {
- "type": "string"
- },
- "CredentialsArn": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "IntegrationId": {
- "type": "string"
- },
- "IntegrationMethod": {
- "type": "string"
- },
- "IntegrationSubtype": {
- "type": "string"
- },
- "IntegrationType": {
- "type": "string"
- },
- "IntegrationUri": {
- "type": "string"
- },
- "PassthroughBehavior": {
- "type": "string"
- },
- "PayloadFormatVersion": {
- "type": "string"
- },
- "RequestParameters": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "RequestTemplates": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseParameters": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "$ref": "#/definitions/ResponseParameterList"
- }
- },
- "type": "object"
- },
- "TemplateSelectionExpression": {
- "type": "string"
- },
- "TimeoutInMillis": {
- "type": "integer"
- },
- "TlsConfig": {
- "$ref": "#/definitions/TlsConfig"
- }
- },
- "readOnlyProperties": [
- "/properties/IntegrationId"
- ],
- "required": [
- "ApiId",
- "IntegrationType"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "taggable": false
- },
- "typeName": "AWS::ApiGatewayV2::Integration"
-}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cognito-logdeliveryconfiguration.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cognito-logdeliveryconfiguration.json
deleted file mode 100644
index a83e0bcce0..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cognito-logdeliveryconfiguration.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/UserPoolId"
- ],
- "definitions": {
- "CloudWatchLogsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "LogConfiguration": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsConfiguration": {
- "$ref": "#/definitions/CloudWatchLogsConfiguration"
- },
- "EventSource": {
- "type": "string"
- },
- "LogLevel": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "LogConfigurations": {
- "items": {
- "$ref": "#/definitions/LogConfiguration"
- },
- "type": "array"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "cognito-idp:GetLogDeliveryConfiguration",
- "cognito-idp:SetLogDeliveryConfiguration",
- "logs:CreateLogDelivery",
- "logs:GetLogDelivery",
- "logs:UpdateLogDelivery",
- "logs:DeleteLogDelivery",
- "logs:ListLogDeliveries",
- "logs:PutResourcePolicy",
- "logs:DescribeResourcePolicies",
- "logs:DescribeLogGroups"
- ],
- "timeoutInMinutes": 2
- },
- "delete": {
- "permissions": [
- "cognito-idp:GetLogDeliveryConfiguration",
- "cognito-idp:SetLogDeliveryConfiguration",
- "logs:CreateLogDelivery",
- "logs:GetLogDelivery",
- "logs:UpdateLogDelivery",
- "logs:DeleteLogDelivery",
- "logs:ListLogDeliveries",
- "logs:PutResourcePolicy",
- "logs:DescribeResourcePolicies",
- "logs:DescribeLogGroups"
- ],
- "timeoutInMinutes": 2
- },
- "read": {
- "permissions": [
- "cognito-idp:GetLogDeliveryConfiguration"
- ]
- },
- "update": {
- "permissions": [
- "cognito-idp:GetLogDeliveryConfiguration",
- "cognito-idp:SetLogDeliveryConfiguration",
- "logs:CreateLogDelivery",
- "logs:GetLogDelivery",
- "logs:UpdateLogDelivery",
- "logs:DeleteLogDelivery",
- "logs:ListLogDeliveries",
- "logs:PutResourcePolicy",
- "logs:DescribeResourcePolicies",
- "logs:DescribeLogGroups"
- ],
- "timeoutInMinutes": 2
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Id": {
- "type": "string"
- },
- "LogConfigurations": {
- "$ref": "#/definitions/LogConfigurations"
- },
- "UserPoolId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "UserPoolId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::Cognito::LogDeliveryConfiguration"
-}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cognito-userpool.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cognito-userpool.json
deleted file mode 100644
index d035f0721a..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cognito-userpool.json
+++ /dev/null
@@ -1,529 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "AccountRecoverySetting": {
- "additionalProperties": false,
- "properties": {
- "RecoveryMechanisms": {
- "items": {
- "$ref": "#/definitions/RecoveryOption"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "AdminCreateUserConfig": {
- "additionalProperties": false,
- "properties": {
- "AllowAdminCreateUserOnly": {
- "type": "boolean"
- },
- "InviteMessageTemplate": {
- "$ref": "#/definitions/InviteMessageTemplate"
- },
- "UnusedAccountValidityDays": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "CustomEmailSender": {
- "additionalProperties": false,
- "properties": {
- "LambdaArn": {
- "type": "string"
- },
- "LambdaVersion": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "CustomSMSSender": {
- "additionalProperties": false,
- "properties": {
- "LambdaArn": {
- "type": "string"
- },
- "LambdaVersion": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "DeviceConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ChallengeRequiredOnNewDevice": {
- "type": "boolean"
- },
- "DeviceOnlyRememberedOnUserPrompt": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "EmailConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ConfigurationSet": {
- "type": "string"
- },
- "EmailSendingAccount": {
- "type": "string"
- },
- "From": {
- "type": "string"
- },
- "ReplyToEmailAddress": {
- "type": "string"
- },
- "SourceArn": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "InviteMessageTemplate": {
- "additionalProperties": false,
- "properties": {
- "EmailMessage": {
- "type": "string"
- },
- "EmailSubject": {
- "type": "string"
- },
- "SMSMessage": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "LambdaConfig": {
- "additionalProperties": false,
- "properties": {
- "CreateAuthChallenge": {
- "type": "string"
- },
- "CustomEmailSender": {
- "$ref": "#/definitions/CustomEmailSender"
- },
- "CustomMessage": {
- "type": "string"
- },
- "CustomSMSSender": {
- "$ref": "#/definitions/CustomSMSSender"
- },
- "DefineAuthChallenge": {
- "type": "string"
- },
- "KMSKeyID": {
- "type": "string"
- },
- "PostAuthentication": {
- "type": "string"
- },
- "PostConfirmation": {
- "type": "string"
- },
- "PreAuthentication": {
- "type": "string"
- },
- "PreSignUp": {
- "type": "string"
- },
- "PreTokenGeneration": {
- "type": "string"
- },
- "PreTokenGenerationConfig": {
- "$ref": "#/definitions/PreTokenGenerationConfig"
- },
- "UserMigration": {
- "type": "string"
- },
- "VerifyAuthChallengeResponse": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "NumberAttributeConstraints": {
- "additionalProperties": false,
- "properties": {
- "MaxValue": {
- "type": "string"
- },
- "MinValue": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "PasswordPolicy": {
- "additionalProperties": false,
- "properties": {
- "MinimumLength": {
- "type": "integer"
- },
- "RequireLowercase": {
- "type": "boolean"
- },
- "RequireNumbers": {
- "type": "boolean"
- },
- "RequireSymbols": {
- "type": "boolean"
- },
- "RequireUppercase": {
- "type": "boolean"
- },
- "TemporaryPasswordValidityDays": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Policies": {
- "additionalProperties": false,
- "properties": {
- "PasswordPolicy": {
- "$ref": "#/definitions/PasswordPolicy"
- }
- },
- "type": "object"
- },
- "PreTokenGenerationConfig": {
- "additionalProperties": false,
- "properties": {
- "LambdaArn": {
- "type": "string"
- },
- "LambdaVersion": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "RecoveryOption": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "type": "string"
- },
- "Priority": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "SchemaAttribute": {
- "additionalProperties": false,
- "properties": {
- "AttributeDataType": {
- "type": "string"
- },
- "DeveloperOnlyAttribute": {
- "type": "boolean"
- },
- "Mutable": {
- "type": "boolean"
- },
- "Name": {
- "type": "string"
- },
- "NumberAttributeConstraints": {
- "$ref": "#/definitions/NumberAttributeConstraints"
- },
- "Required": {
- "type": "boolean"
- },
- "StringAttributeConstraints": {
- "$ref": "#/definitions/StringAttributeConstraints"
- }
- },
- "type": "object"
- },
- "SmsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ExternalId": {
- "type": "string"
- },
- "SnsCallerArn": {
- "type": "string"
- },
- "SnsRegion": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "StringAttributeConstraints": {
- "additionalProperties": false,
- "properties": {
- "MaxLength": {
- "type": "string"
- },
- "MinLength": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "UserAttributeUpdateSettings": {
- "additionalProperties": false,
- "properties": {
- "AttributesRequireVerificationBeforeUpdate": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "AttributesRequireVerificationBeforeUpdate"
- ],
- "type": "object"
- },
- "UserPoolAddOns": {
- "additionalProperties": false,
- "properties": {
- "AdvancedSecurityMode": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "UsernameConfiguration": {
- "additionalProperties": false,
- "properties": {
- "CaseSensitive": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "VerificationMessageTemplate": {
- "additionalProperties": false,
- "properties": {
- "DefaultEmailOption": {
- "type": "string"
- },
- "EmailMessage": {
- "type": "string"
- },
- "EmailMessageByLink": {
- "type": "string"
- },
- "EmailSubject": {
- "type": "string"
- },
- "EmailSubjectByLink": {
- "type": "string"
- },
- "SmsMessage": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "cognito-idp:CreateUserPool",
- "iam:PassRole",
- "cognito-idp:SetUserPoolMfaConfig",
- "cognito-idp:DescribeUserPool",
- "kms:CreateGrant",
- "iam:CreateServiceLinkedRole"
- ],
- "timeoutInMinutes": 2
- },
- "delete": {
- "permissions": [
- "cognito-idp:DeleteUserPool"
- ],
- "timeoutInMinutes": 2
- },
- "list": {
- "permissions": [
- "cognito-idp:ListUserPools"
- ]
- },
- "read": {
- "permissions": [
- "cognito-idp:DescribeUserPool"
- ]
- },
- "update": {
- "permissions": [
- "cognito-idp:UpdateUserPool",
- "cognito-idp:ListTagsForResource",
- "cognito-idp:UntagResource",
- "cognito-idp:TagResource",
- "cognito-idp:SetUserPoolMfaConfig",
- "cognito-idp:AddCustomAttributes",
- "cognito-idp:DescribeUserPool",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 2
- }
- },
- "primaryIdentifier": [
- "/properties/UserPoolId"
- ],
- "properties": {
- "AccountRecoverySetting": {
- "$ref": "#/definitions/AccountRecoverySetting"
- },
- "AdminCreateUserConfig": {
- "$ref": "#/definitions/AdminCreateUserConfig"
- },
- "AliasAttributes": {
- "items": {
- "enum": [
- "email",
- "phone_number",
- "preferred_username"
- ],
- "type": "string"
- },
- "type": "array"
- },
- "Arn": {
- "type": "string"
- },
- "AutoVerifiedAttributes": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "DeletionProtection": {
- "type": "string"
- },
- "DeviceConfiguration": {
- "$ref": "#/definitions/DeviceConfiguration"
- },
- "EmailConfiguration": {
- "$ref": "#/definitions/EmailConfiguration"
- },
- "EmailVerificationMessage": {
- "maxLength": 20000,
- "minLength": 6,
- "type": "string"
- },
- "EmailVerificationSubject": {
- "maxLength": 140,
- "minLength": 1,
- "type": "string"
- },
- "EnabledMfas": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "LambdaConfig": {
- "$ref": "#/definitions/LambdaConfig"
- },
- "MfaConfiguration": {
- "enum": [
- "OFF",
- "ON",
- "OPTIONAL"
- ],
- "type": "string"
- },
- "Policies": {
- "$ref": "#/definitions/Policies"
- },
- "ProviderName": {
- "type": "string"
- },
- "ProviderURL": {
- "type": "string"
- },
- "Schema": {
- "items": {
- "$ref": "#/definitions/SchemaAttribute"
- },
- "type": "array"
- },
- "SmsAuthenticationMessage": {
- "maxLength": 140,
- "minLength": 6,
- "type": "string"
- },
- "SmsConfiguration": {
- "$ref": "#/definitions/SmsConfiguration"
- },
- "SmsVerificationMessage": {
- "maxLength": 140,
- "minLength": 6,
- "type": "string"
- },
- "UserAttributeUpdateSettings": {
- "$ref": "#/definitions/UserAttributeUpdateSettings"
- },
- "UserPoolAddOns": {
- "$ref": "#/definitions/UserPoolAddOns"
- },
- "UserPoolId": {
- "type": "string"
- },
- "UserPoolName": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "UserPoolTags": {
- "additionalProperties": false,
- "patternProperties": {
- "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "UsernameAttributes": {
- "items": {
- "enum": [
- "email",
- "phone_number"
- ],
- "type": "string"
- },
- "type": "array"
- },
- "UsernameConfiguration": {
- "$ref": "#/definitions/UsernameConfiguration"
- },
- "VerificationMessageTemplate": {
- "$ref": "#/definitions/VerificationMessageTemplate"
- }
- },
- "propertyTransform": {
- "/properties/Schema/*/Name": "'custom:' & '' & Name"
- },
- "readOnlyProperties": [
- "/properties/ProviderName",
- "/properties/UserPoolId",
- "/properties/ProviderURL",
- "/properties/Arn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/UserPoolTags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Cognito::UserPool",
- "writeOnlyProperties": [
- "/properties/EnabledMfas"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-ipam.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-ipam.json
new file mode 100644
index 0000000000..69ed6aeb61
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-ipam.json
@@ -0,0 +1,148 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "IpamOperatingRegion": {
+ "additionalProperties": false,
+ "properties": {
+ "RegionName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RegionName"
+ ],
+ "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": [
+ "ec2:CreateIpam",
+ "iam:CreateServiceLinkedRole",
+ "ec2:CreateTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DeleteIpam",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:ModifyIpam",
+ "ec2:CreateTags",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IpamId"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryAssociationId": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryId": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "IpamId": {
+ "type": "string"
+ },
+ "OperatingRegions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/IpamOperatingRegion"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "PrivateDefaultScopeId": {
+ "type": "string"
+ },
+ "PublicDefaultScopeId": {
+ "maxLength": 255,
+ "type": "string"
+ },
+ "ResourceDiscoveryAssociationCount": {
+ "type": "integer"
+ },
+ "ScopeCount": {
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Tier": {
+ "enum": [
+ "free",
+ "advanced"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/IpamId",
+ "/properties/Arn",
+ "/properties/PublicDefaultScopeId",
+ "/properties/PrivateDefaultScopeId",
+ "/properties/ScopeCount",
+ "/properties/ResourceDiscoveryAssociationCount",
+ "/properties/DefaultResourceDiscoveryId",
+ "/properties/DefaultResourceDiscoveryAssociationId"
+ ],
+ "required": [],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::IPAM"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-vpccidrblock.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-vpccidrblock.json
new file mode 100644
index 0000000000..d12a123311
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-vpccidrblock.json
@@ -0,0 +1,103 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Ipv6Pool",
+ "/properties/VpcId",
+ "/properties/AmazonProvidedIpv6CidrBlock",
+ "/properties/Ipv6CidrBlock",
+ "/properties/CidrBlock",
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:AssociateVpcCidrBlock",
+ "ec2:DescribeVpcs",
+ "ec2:AllocateIpamPoolCidr"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DescribeVpcs",
+ "ec2:DisassociateVpcCidrBlock"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "VpcId"
+ ]
+ },
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id",
+ "/properties/VpcId"
+ ],
+ "properties": {
+ "AmazonProvidedIpv6CidrBlock": {
+ "type": "boolean"
+ },
+ "CidrBlock": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Ipv4IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv4NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6CidrBlock": {
+ "type": "string"
+ },
+ "Ipv6IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv6NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6Pool": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "VpcId"
+ ],
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::EC2::VPCCidrBlock",
+ "writeOnlyProperties": [
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-glue-database.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-iam-managedpolicy.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-iam-managedpolicy.json
similarity index 99%
rename from src/cfnlint/data/schemas/providers/ap_south_2/aws-iam-managedpolicy.json
rename to src/cfnlint/data/schemas/providers/ca_west_1/aws-iam-managedpolicy.json
index f913eca461..b1e35e5257 100644
--- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-iam-managedpolicy.json
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-iam-managedpolicy.json
@@ -84,6 +84,7 @@
"type": "string"
},
"Path": {
+ "default": "/",
"pattern": "^/(.+/)*$",
"type": "string"
},
diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-lambda-function.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-lambda-function.json
similarity index 95%
rename from src/cfnlint/data/schemas/providers/eu_west_1/aws-lambda-function.json
rename to src/cfnlint/data/schemas/providers/ca_west_1/aws-lambda-function.json
index 56c061bb52..d7aa0b43a0 100644
--- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-lambda-function.json
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-lambda-function.json
@@ -165,13 +165,6 @@
},
"type": "object"
},
- "RecursiveLoop": {
- "enum": [
- "Allow",
- "Terminate"
- ],
- "type": "string"
- },
"RuntimeManagementConfig": {
"additionalProperties": false,
"properties": {
@@ -310,9 +303,7 @@
"lambda:GetLayerVersion",
"lambda:GetRuntimeManagementConfig",
"lambda:PutRuntimeManagementConfig",
- "lambda:TagResource",
- "lambda:PutFunctionRecursionConfig",
- "lambda:GetFunctionRecursionConfig"
+ "lambda:TagResource"
]
},
"delete": {
@@ -330,8 +321,7 @@
"read": {
"permissions": [
"lambda:GetFunction",
- "lambda:GetFunctionCodeSigningConfig",
- "lambda:GetFunctionRecursionConfig"
+ "lambda:GetFunctionCodeSigningConfig"
]
},
"update": {
@@ -359,9 +349,7 @@
"lambda:PutFunctionCodeSigningConfig",
"lambda:DeleteFunctionCodeSigningConfig",
"lambda:GetCodeSigningConfig",
- "lambda:GetFunctionCodeSigningConfig",
- "lambda:PutFunctionRecursionConfig",
- "lambda:GetFunctionRecursionConfig"
+ "lambda:GetFunctionCodeSigningConfig"
]
}
},
@@ -453,9 +441,6 @@
],
"type": "string"
},
- "RecursiveLoop": {
- "$ref": "#/definitions/RecursiveLoop"
- },
"ReservedConcurrentExecutions": {
"minimum": 0,
"type": "integer"
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 e6bdf32ecc..7484a185e3 100644
--- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py
@@ -742,12 +742,12 @@
"aws-apigatewayv2-authorizer.json",
"aws-apigatewayv2-deployment.json",
"aws-apigatewayv2-domainname.json",
- "aws-apigatewayv2-integration.json",
"aws-apigatewayv2-integrationresponse.json",
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
"aws-apigatewayv2-routeresponse.json",
"aws-apigatewayv2-stage.json",
+ "aws-apigatewayv2-vpclink.json",
"aws-appconfig-application.json",
"aws-appconfig-configurationprofile.json",
"aws-appconfig-deployment.json",
@@ -891,6 +891,7 @@
"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",
@@ -935,6 +936,7 @@
"aws-ec2-volume.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
+ "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpoint.json",
"aws-ec2-vpcendpointconnectionnotification.json",
@@ -1018,7 +1020,6 @@
"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",
@@ -1061,6 +1062,7 @@
"aws-iam-group.json",
"aws-iam-grouppolicy.json",
"aws-iam-instanceprofile.json",
+ "aws-iam-managedpolicy.json",
"aws-iam-oidcprovider.json",
"aws-iam-policy.json",
"aws-iam-role.json",
@@ -1253,6 +1255,7 @@
"aws-s3-accessgrantsinstance.json",
"aws-s3-accessgrantslocation.json",
"aws-s3-accesspoint.json",
+ "aws-s3-bucket.json",
"aws-s3-bucketpolicy.json",
"aws-s3-storagelens.json",
"aws-s3-storagelensgroup.json",
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigatewayv2-integration.json
new file mode 100644
index 0000000000..e7b7290e95
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigatewayv2-integration.json
@@ -0,0 +1,99 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ApiId"
+ ],
+ "definitions": {
+ "TlsConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ServerNameToVerify": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ApiId": {
+ "type": "string"
+ },
+ "ConnectionId": {
+ "type": "string"
+ },
+ "ConnectionType": {
+ "type": "string"
+ },
+ "ContentHandlingStrategy": {
+ "type": "string"
+ },
+ "CredentialsArn": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "IntegrationMethod": {
+ "type": "string"
+ },
+ "IntegrationSubtype": {
+ "type": "string"
+ },
+ "IntegrationType": {
+ "type": "string"
+ },
+ "IntegrationUri": {
+ "type": "string"
+ },
+ "PassthroughBehavior": {
+ "type": "string"
+ },
+ "PayloadFormatVersion": {
+ "type": "string"
+ },
+ "RequestParameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "RequestTemplates": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "ResponseParameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TemplateSelectionExpression": {
+ "type": "string"
+ },
+ "TimeoutInMillis": {
+ "type": "integer"
+ },
+ "TlsConfig": {
+ "$ref": "#/definitions/TlsConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "ApiId",
+ "IntegrationType"
+ ],
+ "typeName": "AWS::ApiGatewayV2::Integration"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigatewayv2-vpclink.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigatewayv2-vpclink.json
deleted file mode 100644
index 73f797afd9..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigatewayv2-vpclink.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/SecurityGroupIds",
- "/properties/SubnetIds"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "apigateway:POST",
- "iam:CreateServiceLinkedRole",
- "iam:DeleteServiceLinkedRole",
- "iam:GetServiceLinkedRoleDeletionStatus"
- ]
- },
- "delete": {
- "permissions": [
- "apigateway:GET",
- "apigateway:DELETE",
- "iam:CreateServiceLinkedRole",
- "iam:DeleteServiceLinkedRole",
- "iam:GetServiceLinkedRoleDeletionStatus"
- ]
- },
- "list": {
- "permissions": [
- "apigateway:GET",
- "iam:CreateServiceLinkedRole",
- "iam:DeleteServiceLinkedRole",
- "iam:GetServiceLinkedRoleDeletionStatus"
- ]
- },
- "read": {
- "permissions": [
- "apigateway:GET",
- "iam:CreateServiceLinkedRole",
- "iam:DeleteServiceLinkedRole",
- "iam:GetServiceLinkedRoleDeletionStatus"
- ]
- },
- "update": {
- "permissions": [
- "apigateway:PATCH",
- "apigateway:GET",
- "iam:CreateServiceLinkedRole",
- "iam:DeleteServiceLinkedRole",
- "iam:GetServiceLinkedRoleDeletionStatus"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/VpcLinkId"
- ],
- "properties": {
- "Name": {
- "type": "string"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SubnetIds": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Tags": {
- "additionalProperties": false,
- "patternProperties": {
- ".*": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "VpcLinkId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/VpcLinkId"
- ],
- "required": [
- "SubnetIds",
- "Name"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ApiGatewayV2::VpcLink"
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-glue-database.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-iam-managedpolicy.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-iam-managedpolicy.json
deleted file mode 100644
index 718cfd232e..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-iam-managedpolicy.json
+++ /dev/null
@@ -1,149 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ManagedPolicyName",
- "/properties/Description",
- "/properties/Path"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreatePolicy",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- },
- "delete": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:DeletePolicyVersion",
- "iam:DeletePolicy",
- "iam:ListEntitiesForPolicy"
- ]
- },
- "list": {
- "permissions": [
- "iam:ListPolicies"
- ]
- },
- "read": {
- "permissions": [
- "iam:GetPolicy",
- "iam:ListEntitiesForPolicy",
- "iam:GetPolicyVersion"
- ]
- },
- "update": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:CreatePolicyVersion",
- "iam:DeletePolicyVersion",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/PolicyArn"
- ],
- "properties": {
- "AttachmentCount": {
- "type": "integer"
- },
- "CreateDate": {
- "type": "string"
- },
- "DefaultVersionId": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Groups": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "IsAttachable": {
- "type": "boolean"
- },
- "ManagedPolicyName": {
- "type": "string"
- },
- "Path": {
- "default": "/",
- "pattern": "^/(.+/)*$",
- "type": "string"
- },
- "PermissionsBoundaryUsageCount": {
- "type": "integer"
- },
- "PolicyArn": {
- "type": "string"
- },
- "PolicyDocument": {
- "maxLength": 6144,
- "type": [
- "object",
- "string"
- ]
- },
- "PolicyId": {
- "type": "string"
- },
- "Roles": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "UpdateDate": {
- "type": "string"
- },
- "Users": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/PolicyArn",
- "/properties/AttachmentCount",
- "/properties/CreateDate",
- "/properties/DefaultVersionId",
- "/properties/IsAttachable",
- "/properties/PermissionsBoundaryUsageCount",
- "/properties/PolicyId",
- "/properties/UpdateDate"
- ],
- "replacementStrategy": "delete_then_create",
- "required": [
- "PolicyDocument"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iam",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::IAM::ManagedPolicy"
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-s3-bucket.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-s3-bucket.json
deleted file mode 100644
index 18697645f3..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-s3-bucket.json
+++ /dev/null
@@ -1,1561 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/BucketName"
- ],
- "definitions": {
- "AbortIncompleteMultipartUpload": {
- "additionalProperties": false,
- "properties": {
- "DaysAfterInitiation": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "DaysAfterInitiation"
- ],
- "type": "object"
- },
- "AccelerateConfiguration": {
- "additionalProperties": false,
- "properties": {
- "AccelerationStatus": {
- "enum": [
- "Enabled",
- "Suspended"
- ],
- "type": "string"
- }
- },
- "required": [
- "AccelerationStatus"
- ],
- "type": "object"
- },
- "AccessControlTranslation": {
- "additionalProperties": false,
- "properties": {
- "Owner": {
- "const": "Destination",
- "type": "string"
- }
- },
- "required": [
- "Owner"
- ],
- "type": "object"
- },
- "AnalyticsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Id": {
- "type": "string"
- },
- "Prefix": {
- "type": "string"
- },
- "StorageClassAnalysis": {
- "$ref": "#/definitions/StorageClassAnalysis"
- },
- "TagFilters": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/TagFilter"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "StorageClassAnalysis",
- "Id"
- ],
- "type": "object"
- },
- "Arn": {
- "type": "string"
- },
- "BucketEncryption": {
- "additionalProperties": false,
- "properties": {
- "ServerSideEncryptionConfiguration": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/ServerSideEncryptionRule"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "ServerSideEncryptionConfiguration"
- ],
- "type": "object"
- },
- "CorsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "CorsRules": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/CorsRule",
- "maxLength": 100
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "CorsRules"
- ],
- "type": "object"
- },
- "CorsRule": {
- "additionalProperties": false,
- "properties": {
- "AllowedHeaders": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AllowedMethods": {
- "insertionOrder": true,
- "items": {
- "enum": [
- "GET",
- "PUT",
- "HEAD",
- "POST",
- "DELETE"
- ],
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AllowedOrigins": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "ExposedHeaders": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Id": {
- "maxLength": 255,
- "type": "string"
- },
- "MaxAge": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "AllowedMethods",
- "AllowedOrigins"
- ],
- "type": "object"
- },
- "DataExport": {
- "additionalProperties": false,
- "properties": {
- "Destination": {
- "$ref": "#/definitions/Destination"
- },
- "OutputSchemaVersion": {
- "const": "V_1",
- "type": "string"
- }
- },
- "required": [
- "Destination",
- "OutputSchemaVersion"
- ],
- "type": "object"
- },
- "DefaultRetention": {
- "additionalProperties": false,
- "properties": {
- "Days": {
- "type": "integer"
- },
- "Mode": {
- "enum": [
- "COMPLIANCE",
- "GOVERNANCE"
- ],
- "type": "string"
- },
- "Years": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "DeleteMarkerReplication": {
- "additionalProperties": false,
- "properties": {
- "Status": {
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Destination": {
- "additionalProperties": false,
- "properties": {
- "BucketAccountId": {
- "type": "string"
- },
- "BucketArn": {
- "type": "string"
- },
- "Format": {
- "enum": [
- "CSV",
- "ORC",
- "Parquet"
- ],
- "type": "string"
- },
- "Prefix": {
- "type": "string"
- }
- },
- "required": [
- "BucketArn",
- "Format"
- ],
- "type": "object"
- },
- "EncryptionConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ReplicaKmsKeyID": {
- "type": "string"
- }
- },
- "required": [
- "ReplicaKmsKeyID"
- ],
- "type": "object"
- },
- "EventBridgeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "EventBridgeEnabled": {
- "default": "true",
- "type": "boolean"
- }
- },
- "required": [
- "EventBridgeEnabled"
- ],
- "type": "object"
- },
- "FilterRule": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "maxLength": 1024,
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Name"
- ],
- "type": "object"
- },
- "IntelligentTieringConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Id": {
- "type": "string"
- },
- "Prefix": {
- "type": "string"
- },
- "Status": {
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "type": "string"
- },
- "TagFilters": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/TagFilter"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Tierings": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Tiering"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Id",
- "Status",
- "Tierings"
- ],
- "type": "object"
- },
- "InventoryConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destination": {
- "$ref": "#/definitions/Destination"
- },
- "Enabled": {
- "type": "boolean"
- },
- "Id": {
- "type": "string"
- },
- "IncludedObjectVersions": {
- "enum": [
- "All",
- "Current"
- ],
- "type": "string"
- },
- "OptionalFields": {
- "insertionOrder": true,
- "items": {
- "enum": [
- "Size",
- "LastModifiedDate",
- "StorageClass",
- "ETag",
- "IsMultipartUploaded",
- "ReplicationStatus",
- "EncryptionStatus",
- "ObjectLockRetainUntilDate",
- "ObjectLockMode",
- "ObjectLockLegalHoldStatus",
- "IntelligentTieringAccessTier",
- "BucketKeyStatus",
- "ChecksumAlgorithm",
- "ObjectAccessControlList",
- "ObjectOwner"
- ],
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Prefix": {
- "type": "string"
- },
- "ScheduleFrequency": {
- "enum": [
- "Daily",
- "Weekly"
- ],
- "type": "string"
- }
- },
- "required": [
- "Destination",
- "Enabled",
- "Id",
- "IncludedObjectVersions",
- "ScheduleFrequency"
- ],
- "type": "object"
- },
- "LambdaConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Event": {
- "type": "string"
- },
- "Filter": {
- "$ref": "#/definitions/NotificationFilter"
- },
- "Function": {
- "type": "string"
- }
- },
- "required": [
- "Function",
- "Event"
- ],
- "type": "object"
- },
- "LifecycleConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Rules": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Rule"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Rules"
- ],
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "DestinationBucketName": {
- "type": "string"
- },
- "LogFilePrefix": {
- "type": "string"
- },
- "TargetObjectKeyFormat": {
- "$ref": "#/definitions/TargetObjectKeyFormat"
- }
- },
- "type": "object"
- },
- "Metrics": {
- "additionalProperties": false,
- "properties": {
- "EventThreshold": {
- "$ref": "#/definitions/ReplicationTimeValue"
- },
- "Status": {
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "type": "string"
- }
- },
- "required": [
- "Status"
- ],
- "type": "object"
- },
- "MetricsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "AccessPointArn": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Prefix": {
- "type": "string"
- },
- "TagFilters": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/TagFilter"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Id"
- ],
- "type": "object"
- },
- "NoncurrentVersionExpiration": {
- "additionalProperties": false,
- "properties": {
- "NewerNoncurrentVersions": {
- "type": "integer"
- },
- "NoncurrentDays": {
- "type": "integer"
- }
- },
- "required": [
- "NoncurrentDays"
- ],
- "type": "object"
- },
- "NoncurrentVersionTransition": {
- "additionalProperties": false,
- "properties": {
- "NewerNoncurrentVersions": {
- "type": "integer"
- },
- "StorageClass": {
- "enum": [
- "DEEP_ARCHIVE",
- "GLACIER",
- "Glacier",
- "GLACIER_IR",
- "INTELLIGENT_TIERING",
- "ONEZONE_IA",
- "STANDARD_IA"
- ],
- "type": "string"
- },
- "TransitionInDays": {
- "type": "integer"
- }
- },
- "required": [
- "StorageClass",
- "TransitionInDays"
- ],
- "type": "object"
- },
- "NotificationConfiguration": {
- "additionalProperties": false,
- "properties": {
- "EventBridgeConfiguration": {
- "$ref": "#/definitions/EventBridgeConfiguration"
- },
- "LambdaConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/LambdaConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- },
- "QueueConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/QueueConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- },
- "TopicConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/TopicConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "NotificationFilter": {
- "additionalProperties": false,
- "properties": {
- "S3Key": {
- "$ref": "#/definitions/S3KeyFilter"
- }
- },
- "required": [
- "S3Key"
- ],
- "type": "object"
- },
- "ObjectLockConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ObjectLockEnabled": {
- "const": "Enabled",
- "type": "string"
- },
- "Rule": {
- "$ref": "#/definitions/ObjectLockRule"
- }
- },
- "type": "object"
- },
- "ObjectLockRule": {
- "additionalProperties": false,
- "properties": {
- "DefaultRetention": {
- "$ref": "#/definitions/DefaultRetention"
- }
- },
- "type": "object"
- },
- "OwnershipControls": {
- "additionalProperties": false,
- "properties": {
- "Rules": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/OwnershipControlsRule"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Rules"
- ],
- "type": "object"
- },
- "OwnershipControlsRule": {
- "additionalProperties": false,
- "properties": {
- "ObjectOwnership": {
- "enum": [
- "ObjectWriter",
- "BucketOwnerPreferred",
- "BucketOwnerEnforced"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "PartitionedPrefix": {
- "additionalProperties": false,
- "properties": {
- "PartitionDateSource": {
- "enum": [
- "EventTime",
- "DeliveryTime"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "PublicAccessBlockConfiguration": {
- "additionalProperties": false,
- "properties": {
- "BlockPublicAcls": {
- "type": "boolean"
- },
- "BlockPublicPolicy": {
- "type": "boolean"
- },
- "IgnorePublicAcls": {
- "type": "boolean"
- },
- "RestrictPublicBuckets": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "QueueConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Event": {
- "type": "string"
- },
- "Filter": {
- "$ref": "#/definitions/NotificationFilter"
- },
- "Queue": {
- "type": "string"
- }
- },
- "required": [
- "Event",
- "Queue"
- ],
- "type": "object"
- },
- "RedirectAllRequestsTo": {
- "additionalProperties": false,
- "dependentExcluded": {
- "RedirectAllRequestsTo": [
- "ErrorDocument",
- "IndexDocument",
- "RoutingRules"
- ]
- },
- "properties": {
- "HostName": {
- "type": "string"
- },
- "Protocol": {
- "enum": [
- "http",
- "https"
- ],
- "type": "string"
- }
- },
- "required": [
- "HostName"
- ],
- "type": "object"
- },
- "RedirectRule": {
- "additionalProperties": false,
- "properties": {
- "HostName": {
- "type": "string"
- },
- "HttpRedirectCode": {
- "type": "string"
- },
- "Protocol": {
- "enum": [
- "http",
- "https"
- ],
- "type": "string"
- },
- "ReplaceKeyPrefixWith": {
- "type": "string"
- },
- "ReplaceKeyWith": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ReplicaModifications": {
- "additionalProperties": false,
- "properties": {
- "Status": {
- "enum": [
- "Enabled",
- "Disabled"
- ],
- "type": "string"
- }
- },
- "required": [
- "Status"
- ],
- "type": "object"
- },
- "ReplicationConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Role": {
- "type": "string"
- },
- "Rules": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/ReplicationRule",
- "maxLength": 1000,
- "minLength": 1
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Role",
- "Rules"
- ],
- "type": "object"
- },
- "ReplicationDestination": {
- "additionalProperties": false,
- "properties": {
- "AccessControlTranslation": {
- "$ref": "#/definitions/AccessControlTranslation"
- },
- "Account": {
- "type": "string"
- },
- "Bucket": {
- "type": "string"
- },
- "EncryptionConfiguration": {
- "$ref": "#/definitions/EncryptionConfiguration"
- },
- "Metrics": {
- "$ref": "#/definitions/Metrics"
- },
- "ReplicationTime": {
- "$ref": "#/definitions/ReplicationTime"
- },
- "StorageClass": {
- "enum": [
- "DEEP_ARCHIVE",
- "GLACIER",
- "GLACIER_IR",
- "INTELLIGENT_TIERING",
- "ONEZONE_IA",
- "REDUCED_REDUNDANCY",
- "STANDARD",
- "STANDARD_IA"
- ],
- "type": "string"
- }
- },
- "required": [
- "Bucket"
- ],
- "type": "object"
- },
- "ReplicationRule": {
- "additionalProperties": false,
- "properties": {
- "DeleteMarkerReplication": {
- "$ref": "#/definitions/DeleteMarkerReplication"
- },
- "Destination": {
- "$ref": "#/definitions/ReplicationDestination"
- },
- "Filter": {
- "$ref": "#/definitions/ReplicationRuleFilter"
- },
- "Id": {
- "maxLength": 255,
- "type": "string"
- },
- "Prefix": {
- "maxLength": 1024,
- "type": "string"
- },
- "Priority": {
- "type": "integer"
- },
- "SourceSelectionCriteria": {
- "$ref": "#/definitions/SourceSelectionCriteria"
- },
- "Status": {
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "type": "string"
- }
- },
- "required": [
- "Destination",
- "Status"
- ],
- "type": "object"
- },
- "ReplicationRuleAndOperator": {
- "additionalProperties": false,
- "properties": {
- "Prefix": {
- "type": "string"
- },
- "TagFilters": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/TagFilter"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "ReplicationRuleFilter": {
- "additionalProperties": false,
- "properties": {
- "And": {
- "$ref": "#/definitions/ReplicationRuleAndOperator"
- },
- "Prefix": {
- "type": "string"
- },
- "TagFilter": {
- "$ref": "#/definitions/TagFilter"
- }
- },
- "type": "object"
- },
- "ReplicationTime": {
- "additionalProperties": false,
- "properties": {
- "Status": {
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "type": "string"
- },
- "Time": {
- "$ref": "#/definitions/ReplicationTimeValue"
- }
- },
- "required": [
- "Status",
- "Time"
- ],
- "type": "object"
- },
- "ReplicationTimeValue": {
- "additionalProperties": false,
- "properties": {
- "Minutes": {
- "type": "integer"
- }
- },
- "required": [
- "Minutes"
- ],
- "type": "object"
- },
- "RoutingRule": {
- "additionalProperties": false,
- "properties": {
- "RedirectRule": {
- "$ref": "#/definitions/RedirectRule"
- },
- "RoutingRuleCondition": {
- "$ref": "#/definitions/RoutingRuleCondition"
- }
- },
- "required": [
- "RedirectRule"
- ],
- "type": "object"
- },
- "RoutingRuleCondition": {
- "additionalProperties": false,
- "anyOf": [
- {
- "required": [
- "HttpErrorCodeReturnedEquals"
- ]
- },
- {
- "required": [
- "KeyPrefixEquals"
- ]
- }
- ],
- "properties": {
- "HttpErrorCodeReturnedEquals": {
- "type": "string"
- },
- "KeyPrefixEquals": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Rule": {
- "additionalProperties": false,
- "dependentExcluded": {
- "ObjectSizeGreaterThan": [
- "AbortIncompleteMultipartUpload"
- ],
- "ObjectSizeLessThan": [
- "AbortIncompleteMultipartUpload"
- ]
- },
- "properties": {
- "AbortIncompleteMultipartUpload": {
- "$ref": "#/definitions/AbortIncompleteMultipartUpload"
- },
- "ExpirationDate": {
- "$ref": "#/definitions/iso8601UTC"
- },
- "ExpirationInDays": {
- "type": "integer"
- },
- "ExpiredObjectDeleteMarker": {
- "type": "boolean"
- },
- "Id": {
- "maxLength": 255,
- "type": "string"
- },
- "NoncurrentVersionExpiration": {
- "$ref": "#/definitions/NoncurrentVersionExpiration"
- },
- "NoncurrentVersionExpirationInDays": {
- "type": "integer"
- },
- "NoncurrentVersionTransition": {
- "$ref": "#/definitions/NoncurrentVersionTransition"
- },
- "NoncurrentVersionTransitions": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/NoncurrentVersionTransition"
- },
- "type": "array",
- "uniqueItems": true
- },
- "ObjectSizeGreaterThan": {
- "maxLength": 20,
- "pattern": "[0-9]+",
- "type": "string"
- },
- "ObjectSizeLessThan": {
- "maxLength": 20,
- "pattern": "[0-9]+",
- "type": "string"
- },
- "Prefix": {
- "type": "string"
- },
- "Status": {
- "enum": [
- "Enabled",
- "Disabled"
- ],
- "type": "string"
- },
- "TagFilters": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/TagFilter"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Transition": {
- "$ref": "#/definitions/Transition"
- },
- "Transitions": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Transition"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Status"
- ],
- "type": "object"
- },
- "S3KeyFilter": {
- "additionalProperties": false,
- "properties": {
- "Rules": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/FilterRule"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Rules"
- ],
- "type": "object"
- },
- "ServerSideEncryptionByDefault": {
- "additionalProperties": false,
- "properties": {
- "KMSMasterKeyID": {
- "type": "string"
- },
- "SSEAlgorithm": {
- "enum": [
- "aws:kms",
- "AES256",
- "aws:kms:dsse"
- ],
- "type": "string"
- }
- },
- "required": [
- "SSEAlgorithm"
- ],
- "type": "object"
- },
- "ServerSideEncryptionRule": {
- "additionalProperties": false,
- "properties": {
- "BucketKeyEnabled": {
- "type": "boolean"
- },
- "ServerSideEncryptionByDefault": {
- "$ref": "#/definitions/ServerSideEncryptionByDefault"
- }
- },
- "type": "object"
- },
- "SourceSelectionCriteria": {
- "additionalProperties": false,
- "properties": {
- "ReplicaModifications": {
- "$ref": "#/definitions/ReplicaModifications"
- },
- "SseKmsEncryptedObjects": {
- "$ref": "#/definitions/SseKmsEncryptedObjects"
- }
- },
- "type": "object"
- },
- "SseKmsEncryptedObjects": {
- "additionalProperties": false,
- "properties": {
- "Status": {
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "type": "string"
- }
- },
- "required": [
- "Status"
- ],
- "type": "object"
- },
- "StorageClassAnalysis": {
- "additionalProperties": false,
- "properties": {
- "DataExport": {
- "$ref": "#/definitions/DataExport"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- },
- "TagFilter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- },
- "TargetObjectKeyFormat": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "SimplePrefix": {
- "additionalProperties": false,
- "type": "object"
- }
- },
- "required": [
- "SimplePrefix"
- ]
- },
- {
- "additionalProperties": false,
- "properties": {
- "PartitionedPrefix": {
- "$ref": "#/definitions/PartitionedPrefix"
- }
- },
- "required": [
- "PartitionedPrefix"
- ]
- }
- ],
- "type": "object"
- },
- "Tiering": {
- "additionalProperties": false,
- "properties": {
- "AccessTier": {
- "enum": [
- "ARCHIVE_ACCESS",
- "DEEP_ARCHIVE_ACCESS"
- ],
- "type": "string"
- },
- "Days": {
- "type": "integer"
- }
- },
- "required": [
- "AccessTier",
- "Days"
- ],
- "type": "object"
- },
- "TopicConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Event": {
- "type": "string"
- },
- "Filter": {
- "$ref": "#/definitions/NotificationFilter"
- },
- "Topic": {
- "type": "string"
- }
- },
- "required": [
- "Event",
- "Topic"
- ],
- "type": "object"
- },
- "Transition": {
- "additionalProperties": false,
- "properties": {
- "StorageClass": {
- "enum": [
- "DEEP_ARCHIVE",
- "GLACIER",
- "Glacier",
- "GLACIER_IR",
- "INTELLIGENT_TIERING",
- "ONEZONE_IA",
- "STANDARD_IA"
- ],
- "type": "string"
- },
- "TransitionDate": {
- "$ref": "#/definitions/iso8601UTC"
- },
- "TransitionInDays": {
- "type": "integer"
- }
- },
- "required": [
- "StorageClass"
- ],
- "type": "object"
- },
- "VersioningConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Status": {
- "default": "Suspended",
- "enum": [
- "Enabled",
- "Suspended"
- ],
- "type": "string"
- }
- },
- "required": [
- "Status"
- ],
- "type": "object"
- },
- "WebsiteConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ErrorDocument": {
- "type": "string"
- },
- "IndexDocument": {
- "type": "string"
- },
- "RedirectAllRequestsTo": {
- "$ref": "#/definitions/RedirectAllRequestsTo"
- },
- "RoutingRules": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/RoutingRule"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "iso8601UTC": {
- "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$",
- "type": "string"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "s3:CreateBucket",
- "s3:PutBucketTagging",
- "s3:PutAnalyticsConfiguration",
- "s3:PutEncryptionConfiguration",
- "s3:PutBucketCORS",
- "s3:PutInventoryConfiguration",
- "s3:PutLifecycleConfiguration",
- "s3:PutMetricsConfiguration",
- "s3:PutBucketNotification",
- "s3:PutBucketReplication",
- "s3:PutBucketWebsite",
- "s3:PutAccelerateConfiguration",
- "s3:PutBucketPublicAccessBlock",
- "s3:PutReplicationConfiguration",
- "s3:PutObjectAcl",
- "s3:PutBucketObjectLockConfiguration",
- "s3:GetBucketAcl",
- "s3:ListBucket",
- "iam:PassRole",
- "s3:DeleteObject",
- "s3:PutBucketLogging",
- "s3:PutBucketVersioning",
- "s3:PutObjectLockConfiguration",
- "s3:PutBucketOwnershipControls",
- "s3:PutIntelligentTieringConfiguration"
- ]
- },
- "delete": {
- "permissions": [
- "s3:DeleteBucket",
- "s3:ListBucket"
- ]
- },
- "list": {
- "permissions": [
- "s3:ListAllMyBuckets"
- ]
- },
- "read": {
- "permissions": [
- "s3:GetAccelerateConfiguration",
- "s3:GetLifecycleConfiguration",
- "s3:GetBucketPublicAccessBlock",
- "s3:GetAnalyticsConfiguration",
- "s3:GetBucketCORS",
- "s3:GetEncryptionConfiguration",
- "s3:GetInventoryConfiguration",
- "s3:GetBucketLogging",
- "s3:GetMetricsConfiguration",
- "s3:GetBucketNotification",
- "s3:GetBucketVersioning",
- "s3:GetReplicationConfiguration",
- "S3:GetBucketWebsite",
- "s3:GetBucketPublicAccessBlock",
- "s3:GetBucketObjectLockConfiguration",
- "s3:GetBucketTagging",
- "s3:GetBucketOwnershipControls",
- "s3:GetIntelligentTieringConfiguration",
- "s3:ListBucket"
- ]
- },
- "update": {
- "permissions": [
- "s3:PutBucketAcl",
- "s3:PutBucketTagging",
- "s3:PutAnalyticsConfiguration",
- "s3:PutEncryptionConfiguration",
- "s3:PutBucketCORS",
- "s3:PutInventoryConfiguration",
- "s3:PutLifecycleConfiguration",
- "s3:PutMetricsConfiguration",
- "s3:PutBucketNotification",
- "s3:PutBucketReplication",
- "s3:PutBucketWebsite",
- "s3:PutAccelerateConfiguration",
- "s3:PutBucketPublicAccessBlock",
- "s3:PutReplicationConfiguration",
- "s3:PutBucketOwnershipControls",
- "s3:PutIntelligentTieringConfiguration",
- "s3:DeleteBucketWebsite",
- "s3:PutBucketLogging",
- "s3:PutBucketVersioning",
- "s3:PutObjectLockConfiguration",
- "s3:PutBucketObjectLockConfiguration",
- "s3:DeleteBucketAnalyticsConfiguration",
- "s3:DeleteBucketCors",
- "s3:DeleteBucketMetricsConfiguration",
- "s3:DeleteBucketEncryption",
- "s3:DeleteBucketLifecycle",
- "s3:DeleteBucketReplication",
- "iam:PassRole",
- "s3:ListBucket"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/BucketName"
- ],
- "properties": {
- "AccelerateConfiguration": {
- "$ref": "#/definitions/AccelerateConfiguration"
- },
- "AccessControl": {
- "enum": [
- "AuthenticatedRead",
- "AwsExecRead",
- "BucketOwnerFullControl",
- "BucketOwnerRead",
- "LogDeliveryWrite",
- "Private",
- "PublicRead",
- "PublicReadWrite"
- ],
- "type": "string"
- },
- "AnalyticsConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/AnalyticsConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Arn": {
- "$ref": "#/definitions/Arn",
- "examples": [
- "arn:aws:s3:::mybucket"
- ]
- },
- "BucketEncryption": {
- "$ref": "#/definitions/BucketEncryption"
- },
- "BucketName": {
- "maxLength": 63,
- "minLength": 3,
- "pattern": "^[a-z0-9][a-z0-9.-]*[a-z0-9]$",
- "type": "string"
- },
- "CorsConfiguration": {
- "$ref": "#/definitions/CorsConfiguration"
- },
- "DomainName": {
- "examples": [
- "mystack-mybucket-kdwwxmddtr2g.s3.amazonaws.com"
- ],
- "type": "string"
- },
- "DualStackDomainName": {
- "examples": [
- "mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com"
- ],
- "type": "string"
- },
- "IntelligentTieringConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/IntelligentTieringConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- },
- "InventoryConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/InventoryConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- },
- "LifecycleConfiguration": {
- "$ref": "#/definitions/LifecycleConfiguration"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "MetricsConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/MetricsConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- },
- "NotificationConfiguration": {
- "$ref": "#/definitions/NotificationConfiguration"
- },
- "ObjectLockConfiguration": {
- "$ref": "#/definitions/ObjectLockConfiguration"
- },
- "ObjectLockEnabled": {
- "type": "boolean"
- },
- "OwnershipControls": {
- "$ref": "#/definitions/OwnershipControls"
- },
- "PublicAccessBlockConfiguration": {
- "$ref": "#/definitions/PublicAccessBlockConfiguration"
- },
- "RegionalDomainName": {
- "examples": [
- "mystack-mybucket-kdwwxmddtr2g.s3.us-east-2.amazonaws.com"
- ],
- "type": "string"
- },
- "ReplicationConfiguration": {
- "$ref": "#/definitions/ReplicationConfiguration"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- },
- "VersioningConfiguration": {
- "$ref": "#/definitions/VersioningConfiguration"
- },
- "WebsiteConfiguration": {
- "$ref": "#/definitions/WebsiteConfiguration"
- },
- "WebsiteURL": {
- "examples": [
- "Example (IPv4): http://mystack-mybucket-kdwwxmddtr2g.s3-website-us-east-2.amazonaws.com/",
- "Example (IPv6): http://mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com/"
- ],
- "format": "uri",
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/NotificationConfiguration/LambdaConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")",
- "/properties/NotificationConfiguration/QueueConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")",
- "/properties/NotificationConfiguration/TopicConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")"
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/DomainName",
- "/properties/DualStackDomainName",
- "/properties/RegionalDomainName",
- "/properties/WebsiteURL"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::S3::Bucket",
- "writeOnlyProperties": [
- "/properties/AccessControl",
- "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionExpirationInDays",
- "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionTransition",
- "/properties/LifecycleConfiguration/Rules/*/Transition",
- "/properties/ReplicationConfiguration/Rules/*/Prefix",
- "/properties/LifecycleConfiguration/Rules/*/ExpiredObjectDeleteMarker"
- ]
-}
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 f2a335c044..27c128eae6 100644
--- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py
@@ -699,7 +699,6 @@
"aws-apigatewayv2-authorizer.json",
"aws-apigatewayv2-deployment.json",
"aws-apigatewayv2-domainname.json",
- "aws-apigatewayv2-integration.json",
"aws-apigatewayv2-integrationresponse.json",
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
@@ -849,7 +848,6 @@
"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",
@@ -892,7 +890,6 @@
"aws-ec2-volume.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
- "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpoint.json",
"aws-ec2-vpcendpointconnectionnotification.json",
@@ -977,7 +974,6 @@
"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",
@@ -1066,7 +1062,6 @@
"aws-lambda-alias.json",
"aws-lambda-eventinvokeconfig.json",
"aws-lambda-eventsourcemapping.json",
- "aws-lambda-function.json",
"aws-lambda-layerversion.json",
"aws-lambda-layerversionpermission.json",
"aws-lambda-permission.json",
@@ -1126,7 +1121,6 @@
"aws-rds-dbsecuritygroupingress.json",
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
- "aws-rds-globalcluster.json",
"aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-apigatewayv2-integration.json
new file mode 100644
index 0000000000..e7b7290e95
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-apigatewayv2-integration.json
@@ -0,0 +1,99 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ApiId"
+ ],
+ "definitions": {
+ "TlsConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ServerNameToVerify": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ApiId": {
+ "type": "string"
+ },
+ "ConnectionId": {
+ "type": "string"
+ },
+ "ConnectionType": {
+ "type": "string"
+ },
+ "ContentHandlingStrategy": {
+ "type": "string"
+ },
+ "CredentialsArn": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "IntegrationMethod": {
+ "type": "string"
+ },
+ "IntegrationSubtype": {
+ "type": "string"
+ },
+ "IntegrationType": {
+ "type": "string"
+ },
+ "IntegrationUri": {
+ "type": "string"
+ },
+ "PassthroughBehavior": {
+ "type": "string"
+ },
+ "PayloadFormatVersion": {
+ "type": "string"
+ },
+ "RequestParameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "RequestTemplates": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "ResponseParameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TemplateSelectionExpression": {
+ "type": "string"
+ },
+ "TimeoutInMillis": {
+ "type": "integer"
+ },
+ "TlsConfig": {
+ "$ref": "#/definitions/TlsConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "ApiId",
+ "IntegrationType"
+ ],
+ "typeName": "AWS::ApiGatewayV2::Integration"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-ipam.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-ipam.json
new file mode 100644
index 0000000000..69ed6aeb61
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-ipam.json
@@ -0,0 +1,148 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "IpamOperatingRegion": {
+ "additionalProperties": false,
+ "properties": {
+ "RegionName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RegionName"
+ ],
+ "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": [
+ "ec2:CreateIpam",
+ "iam:CreateServiceLinkedRole",
+ "ec2:CreateTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DeleteIpam",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:ModifyIpam",
+ "ec2:CreateTags",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IpamId"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryAssociationId": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryId": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "IpamId": {
+ "type": "string"
+ },
+ "OperatingRegions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/IpamOperatingRegion"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "PrivateDefaultScopeId": {
+ "type": "string"
+ },
+ "PublicDefaultScopeId": {
+ "maxLength": 255,
+ "type": "string"
+ },
+ "ResourceDiscoveryAssociationCount": {
+ "type": "integer"
+ },
+ "ScopeCount": {
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Tier": {
+ "enum": [
+ "free",
+ "advanced"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/IpamId",
+ "/properties/Arn",
+ "/properties/PublicDefaultScopeId",
+ "/properties/PrivateDefaultScopeId",
+ "/properties/ScopeCount",
+ "/properties/ResourceDiscoveryAssociationCount",
+ "/properties/DefaultResourceDiscoveryId",
+ "/properties/DefaultResourceDiscoveryAssociationId"
+ ],
+ "required": [],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::IPAM"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-vpccidrblock.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-vpccidrblock.json
new file mode 100644
index 0000000000..d12a123311
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-vpccidrblock.json
@@ -0,0 +1,103 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Ipv6Pool",
+ "/properties/VpcId",
+ "/properties/AmazonProvidedIpv6CidrBlock",
+ "/properties/Ipv6CidrBlock",
+ "/properties/CidrBlock",
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:AssociateVpcCidrBlock",
+ "ec2:DescribeVpcs",
+ "ec2:AllocateIpamPoolCidr"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DescribeVpcs",
+ "ec2:DisassociateVpcCidrBlock"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "VpcId"
+ ]
+ },
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id",
+ "/properties/VpcId"
+ ],
+ "properties": {
+ "AmazonProvidedIpv6CidrBlock": {
+ "type": "boolean"
+ },
+ "CidrBlock": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Ipv4IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv4NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6CidrBlock": {
+ "type": "string"
+ },
+ "Ipv6IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv6NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6Pool": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "VpcId"
+ ],
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::EC2::VPCCidrBlock",
+ "writeOnlyProperties": [
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-glue-database.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-lambda-function.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-function.json
similarity index 95%
rename from src/cfnlint/data/schemas/providers/eu_south_1/aws-lambda-function.json
rename to src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-function.json
index 56c061bb52..d7aa0b43a0 100644
--- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-lambda-function.json
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-function.json
@@ -165,13 +165,6 @@
},
"type": "object"
},
- "RecursiveLoop": {
- "enum": [
- "Allow",
- "Terminate"
- ],
- "type": "string"
- },
"RuntimeManagementConfig": {
"additionalProperties": false,
"properties": {
@@ -310,9 +303,7 @@
"lambda:GetLayerVersion",
"lambda:GetRuntimeManagementConfig",
"lambda:PutRuntimeManagementConfig",
- "lambda:TagResource",
- "lambda:PutFunctionRecursionConfig",
- "lambda:GetFunctionRecursionConfig"
+ "lambda:TagResource"
]
},
"delete": {
@@ -330,8 +321,7 @@
"read": {
"permissions": [
"lambda:GetFunction",
- "lambda:GetFunctionCodeSigningConfig",
- "lambda:GetFunctionRecursionConfig"
+ "lambda:GetFunctionCodeSigningConfig"
]
},
"update": {
@@ -359,9 +349,7 @@
"lambda:PutFunctionCodeSigningConfig",
"lambda:DeleteFunctionCodeSigningConfig",
"lambda:GetCodeSigningConfig",
- "lambda:GetFunctionCodeSigningConfig",
- "lambda:PutFunctionRecursionConfig",
- "lambda:GetFunctionRecursionConfig"
+ "lambda:GetFunctionCodeSigningConfig"
]
}
},
@@ -453,9 +441,6 @@
],
"type": "string"
},
- "RecursiveLoop": {
- "$ref": "#/definitions/RecursiveLoop"
- },
"ReservedConcurrentExecutions": {
"minimum": 0,
"type": "integer"
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-globalcluster.json
new file mode 100644
index 0000000000..9cf0aaadab
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-globalcluster.json
@@ -0,0 +1,99 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/GlobalClusterIdentifier",
+ "/properties/SourceDBClusterIdentifier",
+ "/properties/StorageEncrypted",
+ "/properties/Engine"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateGlobalCluster",
+ "rds:DescribeDBClusters",
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DescribeGlobalClusters",
+ "rds:DeleteGlobalCluster",
+ "rds:RemoveFromGlobalCluster",
+ "rds:DescribeDBClusters"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeGlobalClusters"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:ModifyGlobalCluster",
+ "rds:DescribeGlobalClusters"
+ ]
+ }
+ },
+ "oneOf": [
+ {
+ "required": [
+ "SourceDBClusterIdentifier"
+ ]
+ },
+ {
+ "required": [
+ "Engine"
+ ]
+ }
+ ],
+ "primaryIdentifier": [
+ "/properties/GlobalClusterIdentifier"
+ ],
+ "properties": {
+ "DeletionProtection": {
+ "type": "boolean"
+ },
+ "Engine": {
+ "enum": [
+ "aurora",
+ "aurora-mysql",
+ "aurora-postgresql"
+ ],
+ "type": "string"
+ },
+ "EngineLifecycleSupport": {
+ "type": "string"
+ },
+ "EngineVersion": {
+ "type": "string"
+ },
+ "GlobalClusterIdentifier": {
+ "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "SourceDBClusterIdentifier": {
+ "oneOf": [
+ {
+ "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$"
+ },
+ {
+ "pattern": "^(?=.{40,128}$)arn.*"
+ }
+ ],
+ "type": "string"
+ },
+ "StorageEncrypted": {
+ "type": "boolean"
+ }
+ },
+ "propertyTransform": {
+ "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)"
+ },
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds",
+ "typeName": "AWS::RDS::GlobalCluster"
+}
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 528c7d677a..8936b2e7ac 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py
@@ -618,6 +618,7 @@
"AWS::IVS::EncoderConfiguration",
"AWS::IVS::PlaybackKeyPair",
"AWS::IVS::PlaybackRestrictionPolicy",
+ "AWS::IVS::PublicKey",
"AWS::IVS::RecordingConfiguration",
"AWS::IVS::Stage",
"AWS::IVS::StorageConfiguration",
@@ -1447,7 +1448,6 @@
"aws-codeartifact-domain.json",
"aws-codeartifact-packagegroup.json",
"aws-codeartifact-repository.json",
- "aws-codebuild-fleet.json",
"aws-codebuild-project.json",
"aws-codebuild-reportgroup.json",
"aws-codebuild-sourcecredential.json",
@@ -1612,6 +1612,7 @@
"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",
@@ -1671,6 +1672,7 @@
"aws-ec2-volume.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
+ "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpoint.json",
"aws-ec2-vpcendpointconnectionnotification.json",
@@ -1831,6 +1833,7 @@
"aws-iam-accesskey.json",
"aws-iam-group.json",
"aws-iam-grouppolicy.json",
+ "aws-iam-managedpolicy.json",
"aws-iam-oidcprovider.json",
"aws-iam-policy.json",
"aws-iam-role.json",
@@ -1929,6 +1932,7 @@
"aws-ivs-encoderconfiguration.json",
"aws-ivs-playbackkeypair.json",
"aws-ivs-playbackrestrictionpolicy.json",
+ "aws-ivs-publickey.json",
"aws-ivs-recordingconfiguration.json",
"aws-ivs-stage.json",
"aws-ivs-storageconfiguration.json",
@@ -1960,6 +1964,7 @@
"aws-lakeformation-tagassociation.json",
"aws-lambda-alias.json",
"aws-lambda-codesigningconfig.json",
+ "aws-lambda-eventsourcemapping.json",
"aws-lambda-function.json",
"aws-lambda-layerversion.json",
"aws-lambda-layerversionpermission.json",
@@ -1982,7 +1987,6 @@
"aws-lightsail-loadbalancer.json",
"aws-lightsail-loadbalancertlscertificate.json",
"aws-lightsail-staticip.json",
- "aws-location-apikey.json",
"aws-location-geofencecollection.json",
"aws-location-map.json",
"aws-location-placeindex.json",
@@ -2052,7 +2056,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
@@ -2153,8 +2156,6 @@
"aws-qldb-stream.json",
"aws-quicksight-analysis.json",
"aws-quicksight-dashboard.json",
- "aws-quicksight-dataset.json",
- "aws-quicksight-datasource.json",
"aws-quicksight-refreshschedule.json",
"aws-quicksight-template.json",
"aws-quicksight-theme.json",
@@ -2236,6 +2237,7 @@
"aws-s3-accessgrantsinstance.json",
"aws-s3-accessgrantslocation.json",
"aws-s3-accesspoint.json",
+ "aws-s3-bucket.json",
"aws-s3-bucketpolicy.json",
"aws-s3-multiregionaccesspoint.json",
"aws-s3-multiregionaccesspointpolicy.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-codebuild-fleet.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-codebuild-fleet.json
new file mode 100644
index 0000000000..4c870f71c0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-codebuild-fleet.json
@@ -0,0 +1,159 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Subnets": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:CreateFleet",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:DeleteFleet"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "codebuild:ListFleets"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "codebuild:BatchGetFleets"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:UpdateFleet",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "BaseCapacity": {
+ "minimum": 1,
+ "type": "integer"
+ },
+ "ComputeType": {
+ "enum": [
+ "BUILD_GENERAL1_SMALL",
+ "BUILD_GENERAL1_MEDIUM",
+ "BUILD_GENERAL1_LARGE",
+ "BUILD_GENERAL1_2XLARGE"
+ ],
+ "type": "string"
+ },
+ "EnvironmentType": {
+ "enum": [
+ "WINDOWS_SERVER_2019_CONTAINER",
+ "WINDOWS_SERVER_2022_CONTAINER",
+ "LINUX_CONTAINER",
+ "LINUX_GPU_CONTAINER",
+ "ARM_CONTAINER",
+ "MAC_ARM"
+ ],
+ "type": "string"
+ },
+ "FleetServiceRole": {
+ "pattern": "^(?:arn:)[a-zA-Z+-=,._:/@]+$",
+ "type": "string"
+ },
+ "FleetVpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ },
+ "ImageId": {
+ "pattern": "^((aws/codebuild/[A-Za-z-]+:[0-9]+(-[0-9._]+)?)|ami-[a-z0-9]{1,1020})$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 2,
+ "type": "string"
+ },
+ "OverflowBehavior": {
+ "enum": [
+ "QUEUE",
+ "ON_DEMAND"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CodeBuild::Fleet"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-iam-managedpolicy.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-iam-managedpolicy.json
deleted file mode 100644
index 718cfd232e..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-iam-managedpolicy.json
+++ /dev/null
@@ -1,149 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ManagedPolicyName",
- "/properties/Description",
- "/properties/Path"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreatePolicy",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- },
- "delete": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:DeletePolicyVersion",
- "iam:DeletePolicy",
- "iam:ListEntitiesForPolicy"
- ]
- },
- "list": {
- "permissions": [
- "iam:ListPolicies"
- ]
- },
- "read": {
- "permissions": [
- "iam:GetPolicy",
- "iam:ListEntitiesForPolicy",
- "iam:GetPolicyVersion"
- ]
- },
- "update": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:CreatePolicyVersion",
- "iam:DeletePolicyVersion",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/PolicyArn"
- ],
- "properties": {
- "AttachmentCount": {
- "type": "integer"
- },
- "CreateDate": {
- "type": "string"
- },
- "DefaultVersionId": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Groups": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "IsAttachable": {
- "type": "boolean"
- },
- "ManagedPolicyName": {
- "type": "string"
- },
- "Path": {
- "default": "/",
- "pattern": "^/(.+/)*$",
- "type": "string"
- },
- "PermissionsBoundaryUsageCount": {
- "type": "integer"
- },
- "PolicyArn": {
- "type": "string"
- },
- "PolicyDocument": {
- "maxLength": 6144,
- "type": [
- "object",
- "string"
- ]
- },
- "PolicyId": {
- "type": "string"
- },
- "Roles": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "UpdateDate": {
- "type": "string"
- },
- "Users": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/PolicyArn",
- "/properties/AttachmentCount",
- "/properties/CreateDate",
- "/properties/DefaultVersionId",
- "/properties/IsAttachable",
- "/properties/PermissionsBoundaryUsageCount",
- "/properties/PolicyId",
- "/properties/UpdateDate"
- ],
- "replacementStrategy": "delete_then_create",
- "required": [
- "PolicyDocument"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iam",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::IAM::ManagedPolicy"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-eventsourcemapping.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-eventsourcemapping.json
deleted file mode 100644
index 90ac6114e9..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-eventsourcemapping.json
+++ /dev/null
@@ -1,359 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/EventSourceArn",
- "/properties/StartingPosition",
- "/properties/StartingPositionTimestamp",
- "/properties/SelfManagedEventSource",
- "/properties/AmazonManagedKafkaEventSourceConfig",
- "/properties/SelfManagedKafkaEventSourceConfig"
- ],
- "definitions": {
- "AmazonManagedKafkaEventSourceConfig": {
- "additionalProperties": false,
- "properties": {
- "ConsumerGroupId": {
- "$ref": "#/definitions/ConsumerGroupId"
- }
- },
- "type": "object"
- },
- "ConsumerGroupId": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9-\\/*:_+=.@-]*",
- "type": "string"
- },
- "DestinationConfig": {
- "additionalProperties": false,
- "properties": {
- "OnFailure": {
- "$ref": "#/definitions/OnFailure"
- }
- },
- "type": "object"
- },
- "DocumentDBEventSourceConfig": {
- "additionalProperties": false,
- "properties": {
- "CollectionName": {
- "maxLength": 57,
- "minLength": 1,
- "type": "string"
- },
- "DatabaseName": {
- "maxLength": 63,
- "minLength": 1,
- "type": "string"
- },
- "FullDocument": {
- "enum": [
- "UpdateLookup",
- "Default"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Endpoints": {
- "additionalProperties": false,
- "properties": {
- "KafkaBootstrapServers": {
- "items": {
- "maxLength": 300,
- "minLength": 1,
- "pattern": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}",
- "type": "string"
- },
- "maxItems": 10,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "Filter": {
- "additionalProperties": false,
- "properties": {
- "Pattern": {
- "maxLength": 4096,
- "minLength": 0,
- "pattern": ".*",
- "type": "string"
- }
- },
- "type": "object"
- },
- "FilterCriteria": {
- "additionalProperties": false,
- "properties": {
- "Filters": {
- "items": {
- "$ref": "#/definitions/Filter"
- },
- "maxItems": 20,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "MaximumConcurrency": {
- "maximum": 1000,
- "minimum": 2,
- "type": "integer"
- },
- "OnFailure": {
- "additionalProperties": false,
- "properties": {
- "Destination": {
- "maxLength": 1024,
- "minLength": 12,
- "pattern": "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ScalingConfig": {
- "additionalProperties": false,
- "properties": {
- "MaximumConcurrency": {
- "$ref": "#/definitions/MaximumConcurrency"
- }
- },
- "type": "object"
- },
- "SelfManagedEventSource": {
- "additionalProperties": false,
- "properties": {
- "Endpoints": {
- "$ref": "#/definitions/Endpoints"
- }
- },
- "type": "object"
- },
- "SelfManagedKafkaEventSourceConfig": {
- "additionalProperties": false,
- "properties": {
- "ConsumerGroupId": {
- "$ref": "#/definitions/ConsumerGroupId"
- }
- },
- "type": "object"
- },
- "SourceAccessConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Type": {
- "enum": [
- "BASIC_AUTH",
- "VPC_SUBNET",
- "VPC_SECURITY_GROUP",
- "SASL_SCRAM_512_AUTH",
- "SASL_SCRAM_256_AUTH",
- "VIRTUAL_HOST",
- "CLIENT_CERTIFICATE_TLS_AUTH",
- "SERVER_ROOT_CA_CERTIFICATE"
- ],
- "type": "string"
- },
- "URI": {
- "maxLength": 200,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9-\\/*:_+=.@-]*",
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "lambda:CreateEventSourceMapping",
- "lambda:GetEventSourceMapping"
- ]
- },
- "delete": {
- "permissions": [
- "lambda:DeleteEventSourceMapping",
- "lambda:GetEventSourceMapping"
- ]
- },
- "list": {
- "permissions": [
- "lambda:ListEventSourceMappings"
- ]
- },
- "read": {
- "permissions": [
- "lambda:GetEventSourceMapping"
- ]
- },
- "update": {
- "permissions": [
- "lambda:UpdateEventSourceMapping",
- "lambda:GetEventSourceMapping"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "AmazonManagedKafkaEventSourceConfig": {
- "$ref": "#/definitions/AmazonManagedKafkaEventSourceConfig"
- },
- "BatchSize": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
- },
- "BisectBatchOnFunctionError": {
- "type": "boolean"
- },
- "DestinationConfig": {
- "$ref": "#/definitions/DestinationConfig"
- },
- "DocumentDBEventSourceConfig": {
- "$ref": "#/definitions/DocumentDBEventSourceConfig"
- },
- "Enabled": {
- "type": "boolean"
- },
- "EventSourceArn": {
- "maxLength": 1024,
- "minLength": 12,
- "pattern": "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)",
- "type": "string"
- },
- "FilterCriteria": {
- "$ref": "#/definitions/FilterCriteria"
- },
- "FunctionName": {
- "maxLength": 140,
- "minLength": 1,
- "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?",
- "type": "string"
- },
- "FunctionResponseTypes": {
- "items": {
- "enum": [
- "ReportBatchItemFailures"
- ],
- "type": "string"
- },
- "maxLength": 1,
- "minLength": 0,
- "type": "array",
- "uniqueItems": true
- },
- "Id": {
- "maxLength": 36,
- "minLength": 36,
- "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}",
- "type": "string"
- },
- "MaximumBatchingWindowInSeconds": {
- "maximum": 300,
- "minimum": 0,
- "type": "integer"
- },
- "MaximumRecordAgeInSeconds": {
- "maximum": 604800,
- "minimum": -1,
- "type": "integer"
- },
- "MaximumRetryAttempts": {
- "maximum": 10000,
- "minimum": -1,
- "type": "integer"
- },
- "ParallelizationFactor": {
- "maximum": 10,
- "minimum": 1,
- "type": "integer"
- },
- "Queues": {
- "items": {
- "maxLength": 1000,
- "minLength": 1,
- "pattern": "[\\s\\S]*",
- "type": "string"
- },
- "maxItems": 1,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "ScalingConfig": {
- "$ref": "#/definitions/ScalingConfig"
- },
- "SelfManagedEventSource": {
- "$ref": "#/definitions/SelfManagedEventSource"
- },
- "SelfManagedKafkaEventSourceConfig": {
- "$ref": "#/definitions/SelfManagedKafkaEventSourceConfig"
- },
- "SourceAccessConfigurations": {
- "items": {
- "$ref": "#/definitions/SourceAccessConfiguration"
- },
- "maxItems": 22,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "StartingPosition": {
- "enum": [
- "AT_TIMESTAMP",
- "LATEST",
- "TRIM_HORIZON"
- ],
- "maxLength": 12,
- "minLength": 6,
- "pattern": "(LATEST|TRIM_HORIZON|AT_TIMESTAMP)+",
- "type": "string"
- },
- "StartingPositionTimestamp": {
- "type": "number"
- },
- "Topics": {
- "items": {
- "maxLength": 249,
- "minLength": 1,
- "pattern": "^[^.]([a-zA-Z0-9\\-_.]+)",
- "type": "string"
- },
- "maxItems": 1,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "TumblingWindowInSeconds": {
- "maximum": 900,
- "minimum": 0,
- "type": "integer"
- }
- },
- "propertyTransform": {
- "/properties/StartingPositionTimestamp": "StartingPositionTimestamp * 1000"
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "FunctionName"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::Lambda::EventSourceMapping"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-apikey.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-apikey.json
new file mode 100644
index 0000000000..b41c88be08
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-location-apikey.json
@@ -0,0 +1,226 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/KeyName"
+ ],
+ "definitions": {
+ "ApiKeyRestrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowActions": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 200,
+ "minLength": 5,
+ "pattern": "^geo:\\w*\\*?$",
+ "type": "string"
+ },
+ "maxItems": 7,
+ "minItems": 1,
+ "type": "array"
+ },
+ "AllowReferers": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 253,
+ "pattern": "^([$\\-._+!*`(),;/?:@=&\\w]|%([0-9a-fA-F?]{2}|[0-9a-fA-F?]?[*]))+$",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ },
+ "AllowResources": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 1600,
+ "pattern": "(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$)|(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):(geo-routes|geo-places|geo-maps)(:((\\*)|([a-z0-9]+([.-][a-z0-9]+)*)))::((provider[\\/][*-._\\w]+))$)",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "AllowActions",
+ "AllowResources"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[A-Za-z0-9 _=@:.+-/]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 50,
+ "patternProperties": {
+ "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "iso8601UTC": {
+ "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$",
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "geo:CreateKey",
+ "geo:DescribeKey",
+ "geo:TagResource",
+ "geo:UntagResource",
+ "geo:GetMapTile",
+ "geo:GetMapStyleDescriptor",
+ "geo:GetMapSprites",
+ "geo:GetMapGlyphs",
+ "geo:SearchPlaceIndexForText",
+ "geo:SearchPlaceIndexForPosition",
+ "geo:SearchPlaceIndexForSuggestions",
+ "geo:GetPlace",
+ "geo:CalculateRoute",
+ "geo:CalculateRouteMatrix"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "geo:DeleteKey",
+ "geo:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "geo:ListKeys"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "geo:DescribeKey"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "geo:CreateKey",
+ "geo:DescribeKey",
+ "geo:TagResource",
+ "geo:UntagResource",
+ "geo:GetMapTile",
+ "geo:GetMapStyleDescriptor",
+ "geo:GetMapSprites",
+ "geo:GetMapGlyphs",
+ "geo:SearchPlaceIndexForText",
+ "geo:SearchPlaceIndexForPosition",
+ "geo:SearchPlaceIndexForSuggestions",
+ "geo:GetPlace",
+ "geo:CalculateRoute",
+ "geo:CalculateRouteMatrix",
+ "geo:UpdateKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/KeyName"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 1600,
+ "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
+ "type": "string"
+ },
+ "CreateTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ExpireTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ },
+ "ForceDelete": {
+ "type": "boolean"
+ },
+ "ForceUpdate": {
+ "type": "boolean"
+ },
+ "KeyArn": {
+ "maxLength": 1600,
+ "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
+ "type": "string"
+ },
+ "KeyName": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^[-._\\w]+$",
+ "type": "string"
+ },
+ "NoExpiry": {
+ "type": "boolean"
+ },
+ "Restrictions": {
+ "$ref": "#/definitions/ApiKeyRestrictions"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "UpdateTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CreateTime",
+ "/properties/Arn",
+ "/properties/KeyArn",
+ "/properties/UpdateTime"
+ ],
+ "required": [
+ "KeyName",
+ "Restrictions"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Location::APIKey",
+ "writeOnlyProperties": [
+ "/properties/ForceUpdate",
+ "/properties/ForceDelete",
+ "/properties/NoExpiry"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-msk-replicator.json
new file mode 100644
index 0000000000..19aeafdd58
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-msk-replicator.json
@@ -0,0 +1,373 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "ReplicationTopicNameConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationTopicNameConfigurationType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationTopicNameConfigurationType": {
+ "enum": [
+ "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS",
+ "IDENTICAL"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicNameConfiguration": {
+ "$ref": "#/definitions/ReplicationTopicNameConfiguration"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:CreateNetworkInterface",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "kafka:CreateReplicator",
+ "kafka:CreateReplicatorReference",
+ "kafka:DescribeClusterV2",
+ "kafka:DescribeReplicator",
+ "kafka:GetBootstrapBrokers",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "kafka:DeleteReplicator",
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "kafka:ListReplicators"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource",
+ "kafka:UntagResource",
+ "kafka:UpdateReplicationInfo"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "permissions": [
+ "kafka:UntagResource",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource"
+ ],
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json
new file mode 100644
index 0000000000..ff03632b87
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json
@@ -0,0 +1,1410 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AwsAccountId",
+ "/properties/DataSetId"
+ ],
+ "definitions": {
+ "CalculatedColumn": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnId": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Expression": {
+ "maxLength": 250000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ColumnId",
+ "ColumnName",
+ "Expression"
+ ],
+ "type": "object"
+ },
+ "CastColumnTypeOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Format": {
+ "maxLength": 32,
+ "minLength": 0,
+ "type": "string"
+ },
+ "NewColumnType": {
+ "$ref": "#/definitions/ColumnDataType"
+ },
+ "SubType": {
+ "$ref": "#/definitions/ColumnDataSubType"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "NewColumnType"
+ ],
+ "type": "object"
+ },
+ "ColumnDataSubType": {
+ "enum": [
+ "FLOAT",
+ "FIXED"
+ ],
+ "type": "string"
+ },
+ "ColumnDataType": {
+ "enum": [
+ "STRING",
+ "INTEGER",
+ "DECIMAL",
+ "DATETIME"
+ ],
+ "type": "string"
+ },
+ "ColumnDescription": {
+ "additionalProperties": false,
+ "properties": {
+ "Text": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ColumnGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "GeoSpatialColumnGroup": {
+ "$ref": "#/definitions/GeoSpatialColumnGroup"
+ }
+ },
+ "type": "object"
+ },
+ "ColumnLevelPermissionRule": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnNames": {
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "Principals": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ColumnTag": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnDescription": {
+ "$ref": "#/definitions/ColumnDescription"
+ },
+ "ColumnGeographicRole": {
+ "$ref": "#/definitions/GeoSpatialDataRole"
+ }
+ },
+ "type": "object"
+ },
+ "ColumnTagName": {
+ "enum": [
+ "COLUMN_GEOGRAPHIC_ROLE",
+ "COLUMN_DESCRIPTION"
+ ],
+ "type": "string"
+ },
+ "CreateColumnsOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "Columns": {
+ "items": {
+ "$ref": "#/definitions/CalculatedColumn"
+ },
+ "maxItems": 128,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Columns"
+ ],
+ "type": "object"
+ },
+ "CustomSql": {
+ "additionalProperties": false,
+ "properties": {
+ "Columns": {
+ "items": {
+ "$ref": "#/definitions/InputColumn"
+ },
+ "maxItems": 2048,
+ "minItems": 1,
+ "type": "array"
+ },
+ "DataSourceArn": {
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SqlQuery": {
+ "maxLength": 168000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Columns",
+ "DataSourceArn",
+ "Name",
+ "SqlQuery"
+ ],
+ "type": "object"
+ },
+ "DataSetImportMode": {
+ "enum": [
+ "SPICE",
+ "DIRECT_QUERY"
+ ],
+ "type": "string"
+ },
+ "DataSetRefreshProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "RefreshConfiguration": {
+ "$ref": "#/definitions/RefreshConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DataSetUsageConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "DisableUseAsDirectQuerySource": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DisableUseAsImportedSource": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "DatasetParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "DateTimeDatasetParameter": {
+ "$ref": "#/definitions/DateTimeDatasetParameter"
+ },
+ "DecimalDatasetParameter": {
+ "$ref": "#/definitions/DecimalDatasetParameter"
+ },
+ "IntegerDatasetParameter": {
+ "$ref": "#/definitions/IntegerDatasetParameter"
+ },
+ "StringDatasetParameter": {
+ "$ref": "#/definitions/StringDatasetParameter"
+ }
+ },
+ "type": "object"
+ },
+ "DatasetParameterValueType": {
+ "enum": [
+ "MULTI_VALUED",
+ "SINGLE_VALUED"
+ ],
+ "type": "string"
+ },
+ "DateTimeDatasetParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValues": {
+ "$ref": "#/definitions/DateTimeDatasetParameterDefaultValues"
+ },
+ "Id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "TimeGranularity": {
+ "$ref": "#/definitions/TimeGranularity"
+ },
+ "ValueType": {
+ "$ref": "#/definitions/DatasetParameterValueType"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "ValueType"
+ ],
+ "type": "object"
+ },
+ "DateTimeDatasetParameterDefaultValues": {
+ "additionalProperties": false,
+ "properties": {
+ "StaticValues": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "DecimalDatasetParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValues": {
+ "$ref": "#/definitions/DecimalDatasetParameterDefaultValues"
+ },
+ "Id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "ValueType": {
+ "$ref": "#/definitions/DatasetParameterValueType"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "ValueType"
+ ],
+ "type": "object"
+ },
+ "DecimalDatasetParameterDefaultValues": {
+ "additionalProperties": false,
+ "properties": {
+ "StaticValues": {
+ "items": {
+ "default": 0,
+ "type": "number"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "FieldFolder": {
+ "additionalProperties": false,
+ "properties": {
+ "Columns": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5000,
+ "minItems": 0,
+ "type": "array"
+ },
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "FieldFolderMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ ".+": {
+ "$ref": "#/definitions/FieldFolder"
+ }
+ },
+ "type": "object"
+ },
+ "FileFormat": {
+ "enum": [
+ "CSV",
+ "TSV",
+ "CLF",
+ "ELF",
+ "XLSX",
+ "JSON"
+ ],
+ "type": "string"
+ },
+ "FilterOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "ConditionExpression": {
+ "maxLength": 4096,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ConditionExpression"
+ ],
+ "type": "object"
+ },
+ "GeoSpatialColumnGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "Columns": {
+ "items": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array"
+ },
+ "CountryCode": {
+ "$ref": "#/definitions/GeoSpatialCountryCode"
+ },
+ "Name": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Columns",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "GeoSpatialCountryCode": {
+ "enum": [
+ "US"
+ ],
+ "type": "string"
+ },
+ "GeoSpatialDataRole": {
+ "enum": [
+ "COUNTRY",
+ "STATE",
+ "COUNTY",
+ "CITY",
+ "POSTCODE",
+ "LONGITUDE",
+ "LATITUDE",
+ "POLITICAL1",
+ "CENSUS_TRACT",
+ "CENSUS_BLOCK_GROUP",
+ "CENSUS_BLOCK"
+ ],
+ "type": "string"
+ },
+ "IncrementalRefresh": {
+ "additionalProperties": false,
+ "properties": {
+ "LookbackWindow": {
+ "$ref": "#/definitions/LookbackWindow"
+ }
+ },
+ "required": [
+ "LookbackWindow"
+ ],
+ "type": "object"
+ },
+ "IngestionWaitPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "IngestionWaitTimeInHours": {
+ "default": 36,
+ "maximum": 36,
+ "minimum": 1,
+ "type": "number"
+ },
+ "WaitForSpiceIngestion": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "InputColumn": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SubType": {
+ "$ref": "#/definitions/ColumnDataSubType"
+ },
+ "Type": {
+ "$ref": "#/definitions/InputColumnDataType"
+ }
+ },
+ "required": [
+ "Name",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "InputColumnDataType": {
+ "enum": [
+ "STRING",
+ "INTEGER",
+ "DECIMAL",
+ "DATETIME",
+ "BIT",
+ "BOOLEAN",
+ "JSON"
+ ],
+ "type": "string"
+ },
+ "IntegerDatasetParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValues": {
+ "$ref": "#/definitions/IntegerDatasetParameterDefaultValues"
+ },
+ "Id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "ValueType": {
+ "$ref": "#/definitions/DatasetParameterValueType"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "ValueType"
+ ],
+ "type": "object"
+ },
+ "IntegerDatasetParameterDefaultValues": {
+ "additionalProperties": false,
+ "properties": {
+ "StaticValues": {
+ "items": {
+ "default": 0,
+ "type": "number"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "JoinInstruction": {
+ "additionalProperties": false,
+ "properties": {
+ "LeftJoinKeyProperties": {
+ "$ref": "#/definitions/JoinKeyProperties"
+ },
+ "LeftOperand": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z-]*$",
+ "type": "string"
+ },
+ "OnClause": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "RightJoinKeyProperties": {
+ "$ref": "#/definitions/JoinKeyProperties"
+ },
+ "RightOperand": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z-]*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/JoinType"
+ }
+ },
+ "required": [
+ "LeftOperand",
+ "OnClause",
+ "RightOperand",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "JoinKeyProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "UniqueKey": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "JoinType": {
+ "enum": [
+ "INNER",
+ "OUTER",
+ "LEFT",
+ "RIGHT"
+ ],
+ "type": "string"
+ },
+ "LogicalTable": {
+ "additionalProperties": false,
+ "properties": {
+ "Alias": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataTransforms": {
+ "items": {
+ "$ref": "#/definitions/TransformOperation"
+ },
+ "maxItems": 2048,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Source": {
+ "$ref": "#/definitions/LogicalTableSource"
+ }
+ },
+ "required": [
+ "Alias",
+ "Source"
+ ],
+ "type": "object"
+ },
+ "LogicalTableMap": {
+ "additionalProperties": false,
+ "maxProperties": 64,
+ "minProperties": 1,
+ "patternProperties": {
+ "^[0-9a-zA-Z-]*$": {
+ "$ref": "#/definitions/LogicalTable"
+ }
+ },
+ "type": "object"
+ },
+ "LogicalTableSource": {
+ "additionalProperties": false,
+ "properties": {
+ "DataSetArn": {
+ "type": "string"
+ },
+ "JoinInstruction": {
+ "$ref": "#/definitions/JoinInstruction"
+ },
+ "PhysicalTableId": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z-]*$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LookbackWindow": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "type": "string"
+ },
+ "Size": {
+ "default": 0,
+ "minimum": 1,
+ "type": "number"
+ },
+ "SizeUnit": {
+ "$ref": "#/definitions/LookbackWindowSizeUnit"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "Size",
+ "SizeUnit"
+ ],
+ "type": "object"
+ },
+ "LookbackWindowSizeUnit": {
+ "enum": [
+ "HOUR",
+ "DAY",
+ "WEEK"
+ ],
+ "type": "string"
+ },
+ "NewDefaultValues": {
+ "additionalProperties": false,
+ "properties": {
+ "DateTimeStaticValues": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ },
+ "DecimalStaticValues": {
+ "items": {
+ "default": 0,
+ "type": "number"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ },
+ "IntegerStaticValues": {
+ "items": {
+ "default": 0,
+ "type": "number"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ },
+ "StringStaticValues": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 0,
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "OutputColumn": {
+ "additionalProperties": false,
+ "properties": {
+ "Description": {
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SubType": {
+ "$ref": "#/definitions/ColumnDataSubType"
+ },
+ "Type": {
+ "$ref": "#/definitions/ColumnDataType"
+ }
+ },
+ "type": "object"
+ },
+ "OverrideDatasetParameterOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "NewDefaultValues": {
+ "$ref": "#/definitions/NewDefaultValues"
+ },
+ "NewParameterName": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "ParameterName": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "PhysicalTable": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomSql": {
+ "$ref": "#/definitions/CustomSql"
+ },
+ "RelationalTable": {
+ "$ref": "#/definitions/RelationalTable"
+ },
+ "S3Source": {
+ "$ref": "#/definitions/S3Source"
+ }
+ },
+ "type": "object"
+ },
+ "PhysicalTableMap": {
+ "additionalProperties": false,
+ "maxProperties": 32,
+ "minProperties": 0,
+ "patternProperties": {
+ "^[0-9a-zA-Z-]*$": {
+ "$ref": "#/definitions/PhysicalTable"
+ }
+ },
+ "type": "object"
+ },
+ "ProjectOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "ProjectedColumns": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 2000,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "ProjectedColumns"
+ ],
+ "type": "object"
+ },
+ "RefreshConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "IncrementalRefresh": {
+ "$ref": "#/definitions/IncrementalRefresh"
+ }
+ },
+ "required": [
+ "IncrementalRefresh"
+ ],
+ "type": "object"
+ },
+ "RelationalTable": {
+ "additionalProperties": false,
+ "properties": {
+ "Catalog": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataSourceArn": {
+ "type": "string"
+ },
+ "InputColumns": {
+ "items": {
+ "$ref": "#/definitions/InputColumn"
+ },
+ "maxItems": 2048,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Schema": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataSourceArn",
+ "InputColumns",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "RenameColumnOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NewColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "NewColumnName"
+ ],
+ "type": "object"
+ },
+ "ResourcePermission": {
+ "additionalProperties": false,
+ "properties": {
+ "Actions": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Principal": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Actions",
+ "Principal"
+ ],
+ "type": "object"
+ },
+ "RowLevelPermissionDataSet": {
+ "additionalProperties": false,
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "FormatVersion": {
+ "$ref": "#/definitions/RowLevelPermissionFormatVersion"
+ },
+ "Namespace": {
+ "maxLength": 64,
+ "minLength": 0,
+ "pattern": "^[a-zA-Z0-9._-]*$",
+ "type": "string"
+ },
+ "PermissionPolicy": {
+ "$ref": "#/definitions/RowLevelPermissionPolicy"
+ },
+ "Status": {
+ "$ref": "#/definitions/Status"
+ }
+ },
+ "required": [
+ "Arn",
+ "PermissionPolicy"
+ ],
+ "type": "object"
+ },
+ "RowLevelPermissionFormatVersion": {
+ "enum": [
+ "VERSION_1",
+ "VERSION_2"
+ ],
+ "type": "string"
+ },
+ "RowLevelPermissionPolicy": {
+ "enum": [
+ "GRANT_ACCESS",
+ "DENY_ACCESS"
+ ],
+ "type": "string"
+ },
+ "RowLevelPermissionTagConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Status": {
+ "$ref": "#/definitions/Status"
+ },
+ "TagRuleConfigurations": {
+ "items": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ },
+ "TagRules": {
+ "items": {
+ "$ref": "#/definitions/RowLevelPermissionTagRule"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "TagRules"
+ ],
+ "type": "object"
+ },
+ "RowLevelPermissionTagRule": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "type": "string"
+ },
+ "MatchAllValue": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "TagKey": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "TagMultiValueDelimiter": {
+ "maxLength": 10,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "TagKey"
+ ],
+ "type": "object"
+ },
+ "S3Source": {
+ "additionalProperties": false,
+ "properties": {
+ "DataSourceArn": {
+ "type": "string"
+ },
+ "InputColumns": {
+ "items": {
+ "$ref": "#/definitions/InputColumn"
+ },
+ "maxItems": 2048,
+ "minItems": 1,
+ "type": "array"
+ },
+ "UploadSettings": {
+ "$ref": "#/definitions/UploadSettings"
+ }
+ },
+ "required": [
+ "DataSourceArn",
+ "InputColumns"
+ ],
+ "type": "object"
+ },
+ "Status": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StringDatasetParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultValues": {
+ "$ref": "#/definitions/StringDatasetParameterDefaultValues"
+ },
+ "Id": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "ValueType": {
+ "$ref": "#/definitions/DatasetParameterValueType"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "ValueType"
+ ],
+ "type": "object"
+ },
+ "StringDatasetParameterDefaultValues": {
+ "additionalProperties": false,
+ "properties": {
+ "StaticValues": {
+ "items": {
+ "maxLength": 512,
+ "minLength": 0,
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TagColumnOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/ColumnTag"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "Tags"
+ ],
+ "type": "object"
+ },
+ "TextQualifier": {
+ "enum": [
+ "DOUBLE_QUOTE",
+ "SINGLE_QUOTE"
+ ],
+ "type": "string"
+ },
+ "TimeGranularity": {
+ "enum": [
+ "YEAR",
+ "QUARTER",
+ "MONTH",
+ "WEEK",
+ "DAY",
+ "HOUR",
+ "MINUTE",
+ "SECOND",
+ "MILLISECOND"
+ ],
+ "type": "string"
+ },
+ "TransformOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "CastColumnTypeOperation": {
+ "$ref": "#/definitions/CastColumnTypeOperation"
+ },
+ "CreateColumnsOperation": {
+ "$ref": "#/definitions/CreateColumnsOperation"
+ },
+ "FilterOperation": {
+ "$ref": "#/definitions/FilterOperation"
+ },
+ "OverrideDatasetParameterOperation": {
+ "$ref": "#/definitions/OverrideDatasetParameterOperation"
+ },
+ "ProjectOperation": {
+ "$ref": "#/definitions/ProjectOperation"
+ },
+ "RenameColumnOperation": {
+ "$ref": "#/definitions/RenameColumnOperation"
+ },
+ "TagColumnOperation": {
+ "$ref": "#/definitions/TagColumnOperation"
+ },
+ "UntagColumnOperation": {
+ "$ref": "#/definitions/UntagColumnOperation"
+ }
+ },
+ "type": "object"
+ },
+ "UntagColumnOperation": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "TagNames": {
+ "items": {
+ "$ref": "#/definitions/ColumnTagName"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "TagNames"
+ ],
+ "type": "object"
+ },
+ "UploadSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainsHeader": {
+ "type": "boolean"
+ },
+ "Delimiter": {
+ "maxLength": 1,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Format": {
+ "$ref": "#/definitions/FileFormat"
+ },
+ "StartFromRow": {
+ "minimum": 1,
+ "type": "number"
+ },
+ "TextQualifier": {
+ "$ref": "#/definitions/TextQualifier"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "quicksight:DescribeDataSet",
+ "quicksight:DescribeDataSetPermissions",
+ "quicksight:DescribeIngestion",
+ "quicksight:ListIngestions",
+ "quicksight:CreateDataSet",
+ "quicksight:PassDataSource",
+ "quicksight:PassDataSet",
+ "quicksight:TagResource",
+ "quicksight:ListTagsForResource",
+ "quicksight:DescribeDataSetRefreshProperties",
+ "quicksight:PutDataSetRefreshProperties"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "quicksight:DescribeDataSet",
+ "quicksight:DeleteDataSet",
+ "quicksight:ListTagsForResource",
+ "quicksight:DescribeIngestion",
+ "quicksight:DeleteDataSetRefreshProperties",
+ "quicksight:DescribeDataSetRefreshProperties"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "quicksight:DescribeDataSet",
+ "quicksight:ListDataSets"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "quicksight:DescribeDataSet",
+ "quicksight:DescribeDataSetPermissions",
+ "quicksight:ListTagsForResource",
+ "quicksight:DescribeDataSetRefreshProperties"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "quicksight:DescribeDataSet",
+ "quicksight:DescribeDataSetPermissions",
+ "quicksight:PassDataSource",
+ "quicksight:UpdateDataSet",
+ "quicksight:UpdateDataSetPermissions",
+ "quicksight:PassDataSet",
+ "quicksight:DescribeIngestion",
+ "quicksight:ListIngestions",
+ "quicksight:CancelIngestion",
+ "quicksight:TagResource",
+ "quicksight:UntagResource",
+ "quicksight:ListTagsForResource",
+ "quicksight:PutDataSetRefreshProperties",
+ "quicksight:DescribeDataSetRefreshProperties",
+ "quicksight:DeleteDataSetRefreshProperties"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AwsAccountId",
+ "/properties/DataSetId"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "AwsAccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^[0-9]{12}$",
+ "type": "string"
+ },
+ "ColumnGroups": {
+ "items": {
+ "$ref": "#/definitions/ColumnGroup"
+ },
+ "maxItems": 8,
+ "minItems": 1,
+ "type": "array"
+ },
+ "ColumnLevelPermissionRules": {
+ "items": {
+ "$ref": "#/definitions/ColumnLevelPermissionRule"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "ConsumedSpiceCapacityInBytes": {
+ "default": 0,
+ "type": "number"
+ },
+ "CreatedTime": {
+ "format": "string",
+ "type": "string"
+ },
+ "DataSetId": {
+ "type": "string"
+ },
+ "DataSetRefreshProperties": {
+ "$ref": "#/definitions/DataSetRefreshProperties"
+ },
+ "DataSetUsageConfiguration": {
+ "$ref": "#/definitions/DataSetUsageConfiguration"
+ },
+ "DatasetParameters": {
+ "items": {
+ "$ref": "#/definitions/DatasetParameter"
+ },
+ "maxItems": 32,
+ "minItems": 0,
+ "type": "array"
+ },
+ "FieldFolders": {
+ "$ref": "#/definitions/FieldFolderMap"
+ },
+ "ImportMode": {
+ "$ref": "#/definitions/DataSetImportMode"
+ },
+ "IngestionWaitPolicy": {
+ "$ref": "#/definitions/IngestionWaitPolicy"
+ },
+ "LastUpdatedTime": {
+ "format": "string",
+ "type": "string"
+ },
+ "LogicalTableMap": {
+ "$ref": "#/definitions/LogicalTableMap"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "OutputColumns": {
+ "items": {
+ "$ref": "#/definitions/OutputColumn"
+ },
+ "type": "array"
+ },
+ "Permissions": {
+ "items": {
+ "$ref": "#/definitions/ResourcePermission"
+ },
+ "maxItems": 64,
+ "minItems": 1,
+ "type": "array"
+ },
+ "PhysicalTableMap": {
+ "$ref": "#/definitions/PhysicalTableMap"
+ },
+ "RowLevelPermissionDataSet": {
+ "$ref": "#/definitions/RowLevelPermissionDataSet"
+ },
+ "RowLevelPermissionTagConfiguration": {
+ "$ref": "#/definitions/RowLevelPermissionTagConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/ConsumedSpiceCapacityInBytes",
+ "/properties/CreatedTime",
+ "/properties/LastUpdatedTime",
+ "/properties/OutputColumns"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::QuickSight::DataSet",
+ "writeOnlyProperties": [
+ "/properties/FieldFolders",
+ "/properties/IngestionWaitPolicy"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-datasource.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-datasource.json
new file mode 100644
index 0000000000..3274ce6f43
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-datasource.json
@@ -0,0 +1,984 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AwsAccountId",
+ "/properties/DataSourceId",
+ "/properties/Type"
+ ],
+ "definitions": {
+ "AmazonElasticsearchParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Domain": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Domain"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Domain": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Domain"
+ ],
+ "type": "object"
+ },
+ "AthenaParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "type": "string"
+ },
+ "WorkGroup": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "AuroraParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Database": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "Database",
+ "Host",
+ "Port"
+ ],
+ "type": "object"
+ },
+ "AuroraPostgreSqlParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Database": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "Database",
+ "Host",
+ "Port"
+ ],
+ "type": "object"
+ },
+ "AwsIotAnalyticsParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "DataSetName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataSetName"
+ ],
+ "type": "object"
+ },
+ "CredentialPair": {
+ "additionalProperties": false,
+ "properties": {
+ "AlternateDataSourceParameters": {
+ "items": {
+ "$ref": "#/definitions/DataSourceParameters"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Password": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Username": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Password",
+ "Username"
+ ],
+ "type": "object"
+ },
+ "DataSourceCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CopySourceArn": {
+ "pattern": "^arn:[-a-z0-9]*:quicksight:[-a-z0-9]*:[0-9]{12}:datasource/.+$",
+ "type": "string"
+ },
+ "CredentialPair": {
+ "$ref": "#/definitions/CredentialPair"
+ },
+ "SecretArn": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^arn:[-a-z0-9]*:secretsmanager:[-a-z0-9]*:[0-9]{12}:secret:.+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DataSourceErrorInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/DataSourceErrorInfoType"
+ }
+ },
+ "type": "object"
+ },
+ "DataSourceErrorInfoType": {
+ "enum": [
+ "ACCESS_DENIED",
+ "COPY_SOURCE_NOT_FOUND",
+ "TIMEOUT",
+ "ENGINE_VERSION_NOT_SUPPORTED",
+ "UNKNOWN_HOST",
+ "GENERIC_SQL_FAILURE",
+ "CONFLICT",
+ "UNKNOWN"
+ ],
+ "type": "string"
+ },
+ "DataSourceParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonElasticsearchParameters": {
+ "$ref": "#/definitions/AmazonElasticsearchParameters"
+ },
+ "AmazonOpenSearchParameters": {
+ "$ref": "#/definitions/AmazonOpenSearchParameters"
+ },
+ "AthenaParameters": {
+ "$ref": "#/definitions/AthenaParameters"
+ },
+ "AuroraParameters": {
+ "$ref": "#/definitions/AuroraParameters"
+ },
+ "AuroraPostgreSqlParameters": {
+ "$ref": "#/definitions/AuroraPostgreSqlParameters"
+ },
+ "DatabricksParameters": {
+ "$ref": "#/definitions/DatabricksParameters"
+ },
+ "MariaDbParameters": {
+ "$ref": "#/definitions/MariaDbParameters"
+ },
+ "MySqlParameters": {
+ "$ref": "#/definitions/MySqlParameters"
+ },
+ "OracleParameters": {
+ "$ref": "#/definitions/OracleParameters"
+ },
+ "PostgreSqlParameters": {
+ "$ref": "#/definitions/PostgreSqlParameters"
+ },
+ "PrestoParameters": {
+ "$ref": "#/definitions/PrestoParameters"
+ },
+ "RdsParameters": {
+ "$ref": "#/definitions/RdsParameters"
+ },
+ "RedshiftParameters": {
+ "$ref": "#/definitions/RedshiftParameters"
+ },
+ "S3Parameters": {
+ "$ref": "#/definitions/S3Parameters"
+ },
+ "SnowflakeParameters": {
+ "$ref": "#/definitions/SnowflakeParameters"
+ },
+ "SparkParameters": {
+ "$ref": "#/definitions/SparkParameters"
+ },
+ "SqlServerParameters": {
+ "$ref": "#/definitions/SqlServerParameters"
+ },
+ "StarburstParameters": {
+ "$ref": "#/definitions/StarburstParameters"
+ },
+ "TeradataParameters": {
+ "$ref": "#/definitions/TeradataParameters"
+ },
+ "TrinoParameters": {
+ "$ref": "#/definitions/TrinoParameters"
+ }
+ },
+ "type": "object"
+ },
+ "DataSourceType": {
+ "enum": [
+ "ADOBE_ANALYTICS",
+ "AMAZON_ELASTICSEARCH",
+ "AMAZON_OPENSEARCH",
+ "ATHENA",
+ "AURORA",
+ "AURORA_POSTGRESQL",
+ "AWS_IOT_ANALYTICS",
+ "DATABRICKS",
+ "DENODO",
+ "DREMIO",
+ "DYNAMODB",
+ "SAPHANA",
+ "DB2_AS400",
+ "EXASOL",
+ "FILE",
+ "GITHUB",
+ "JIRA",
+ "MARIADB",
+ "MYSQL",
+ "ORACLE",
+ "POSTGRESQL",
+ "PRESTO",
+ "REDSHIFT",
+ "S3",
+ "SALESFORCE",
+ "SERVICENOW",
+ "SNOWFLAKE",
+ "SPARK",
+ "SQLSERVER",
+ "TERADATA",
+ "TIMESTREAM",
+ "TWITTER",
+ "BIGQUERY",
+ "GOOGLE_ANALYTICS",
+ "TRINO",
+ "STARBURST",
+ "MONGO",
+ "MONGO_ATLAS",
+ "DOCUMENTDB",
+ "APPFLOW",
+ "IMPALA",
+ "GLUE"
+ ],
+ "type": "string"
+ },
+ "DatabricksParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "number"
+ },
+ "SqlEndpointPath": {
+ "maxLength": 4096,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Host",
+ "Port",
+ "SqlEndpointPath"
+ ],
+ "type": "object"
+ },
+ "IdentityCenterConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableIdentityPropagation": {
+ "default": null,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "ManifestFileLocation": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Key": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "MariaDbParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Database": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "Database",
+ "Host",
+ "Port"
+ ],
+ "type": "object"
+ },
+ "MySqlParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Database": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "Database",
+ "Host",
+ "Port"
+ ],
+ "type": "object"
+ },
+ "OracleParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Database": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "Database",
+ "Host",
+ "Port"
+ ],
+ "type": "object"
+ },
+ "PostgreSqlParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Database": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "Database",
+ "Host",
+ "Port"
+ ],
+ "type": "object"
+ },
+ "PrestoParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Catalog": {
+ "maxLength": 128,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "Catalog",
+ "Host",
+ "Port"
+ ],
+ "type": "object"
+ },
+ "RdsParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Database": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "InstanceId": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Database",
+ "InstanceId"
+ ],
+ "type": "object"
+ },
+ "RedshiftIAMParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "AutoCreateDatabaseUser": {
+ "default": false,
+ "type": "boolean"
+ },
+ "DatabaseGroups": {
+ "items": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ },
+ "DatabaseUser": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "RoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleArn"
+ ],
+ "type": "object"
+ },
+ "RedshiftParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "ClusterId": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IAMParameters": {
+ "$ref": "#/definitions/RedshiftIAMParameters"
+ },
+ "IdentityCenterConfiguration": {
+ "$ref": "#/definitions/IdentityCenterConfiguration"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "Database"
+ ],
+ "type": "object"
+ },
+ "ResourcePermission": {
+ "additionalProperties": false,
+ "properties": {
+ "Actions": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Principal": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Resource": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Actions",
+ "Principal"
+ ],
+ "type": "object"
+ },
+ "ResourceStatus": {
+ "enum": [
+ "CREATION_IN_PROGRESS",
+ "CREATION_SUCCESSFUL",
+ "CREATION_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_SUCCESSFUL",
+ "UPDATE_FAILED",
+ "DELETED"
+ ],
+ "type": "string"
+ },
+ "S3Parameters": {
+ "additionalProperties": false,
+ "properties": {
+ "ManifestFileLocation": {
+ "$ref": "#/definitions/ManifestFileLocation"
+ },
+ "RoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ManifestFileLocation"
+ ],
+ "type": "object"
+ },
+ "SnowflakeParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Database": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Warehouse": {
+ "maxLength": 128,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Database",
+ "Host",
+ "Warehouse"
+ ],
+ "type": "object"
+ },
+ "SparkParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "Host",
+ "Port"
+ ],
+ "type": "object"
+ },
+ "SqlServerParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Database": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "Database",
+ "Host",
+ "Port"
+ ],
+ "type": "object"
+ },
+ "SslProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "DisableSsl": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "StarburstParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Catalog": {
+ "maxLength": 128,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "number"
+ },
+ "ProductType": {
+ "$ref": "#/definitions/StarburstProductType"
+ }
+ },
+ "required": [
+ "Catalog",
+ "Host",
+ "Port"
+ ],
+ "type": "object"
+ },
+ "StarburstProductType": {
+ "enum": [
+ "GALAXY",
+ "ENTERPRISE"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TeradataParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Database": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "Database",
+ "Host",
+ "Port"
+ ],
+ "type": "object"
+ },
+ "TrinoParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Catalog": {
+ "maxLength": 128,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Port": {
+ "default": 0,
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "Catalog",
+ "Host",
+ "Port"
+ ],
+ "type": "object"
+ },
+ "VpcConnectionProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "VpcConnectionArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "VpcConnectionArn"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "quicksight:CreateDataSource",
+ "quicksight:DescribeDataSource",
+ "quicksight:DescribeDataSourcePermissions",
+ "quicksight:TagResource",
+ "quicksight:ListTagsForResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "quicksight:DescribeDataSource",
+ "quicksight:DescribeDataSourcePermissions",
+ "quicksight:DeleteDataSource",
+ "quicksight:ListTagsForResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "quicksight:DescribeDataSource",
+ "quicksight:ListDataSources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "quicksight:DescribeDataSource",
+ "quicksight:DescribeDataSourcePermissions",
+ "quicksight:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "quicksight:DescribeDataSource",
+ "quicksight:DescribeDataSourcePermissions",
+ "quicksight:UpdateDataSource",
+ "quicksight:UpdateDataSourcePermissions",
+ "quicksight:TagResource",
+ "quicksight:UntagResource",
+ "quicksight:ListTagsForResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AwsAccountId",
+ "/properties/DataSourceId"
+ ],
+ "properties": {
+ "AlternateDataSourceParameters": {
+ "items": {
+ "$ref": "#/definitions/DataSourceParameters"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "AwsAccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^[0-9]{12}$",
+ "type": "string"
+ },
+ "CreatedTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "Credentials": {
+ "$ref": "#/definitions/DataSourceCredentials"
+ },
+ "DataSourceId": {
+ "type": "string"
+ },
+ "DataSourceParameters": {
+ "$ref": "#/definitions/DataSourceParameters"
+ },
+ "ErrorInfo": {
+ "$ref": "#/definitions/DataSourceErrorInfo"
+ },
+ "LastUpdatedTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Permissions": {
+ "items": {
+ "$ref": "#/definitions/ResourcePermission"
+ },
+ "maxItems": 64,
+ "minItems": 1,
+ "type": "array"
+ },
+ "SslProperties": {
+ "$ref": "#/definitions/SslProperties"
+ },
+ "Status": {
+ "$ref": "#/definitions/ResourceStatus"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Type": {
+ "$ref": "#/definitions/DataSourceType"
+ },
+ "VpcConnectionProperties": {
+ "$ref": "#/definitions/VpcConnectionProperties"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/CreatedTime",
+ "/properties/LastUpdatedTime",
+ "/properties/Status"
+ ],
+ "required": [
+ "Name",
+ "Type"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-quicksight",
+ "typeName": "AWS::QuickSight::DataSource",
+ "writeOnlyProperties": [
+ "/properties/Credentials"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-s3-bucket.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-s3-bucket.json
deleted file mode 100644
index 18697645f3..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-s3-bucket.json
+++ /dev/null
@@ -1,1561 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/BucketName"
- ],
- "definitions": {
- "AbortIncompleteMultipartUpload": {
- "additionalProperties": false,
- "properties": {
- "DaysAfterInitiation": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "DaysAfterInitiation"
- ],
- "type": "object"
- },
- "AccelerateConfiguration": {
- "additionalProperties": false,
- "properties": {
- "AccelerationStatus": {
- "enum": [
- "Enabled",
- "Suspended"
- ],
- "type": "string"
- }
- },
- "required": [
- "AccelerationStatus"
- ],
- "type": "object"
- },
- "AccessControlTranslation": {
- "additionalProperties": false,
- "properties": {
- "Owner": {
- "const": "Destination",
- "type": "string"
- }
- },
- "required": [
- "Owner"
- ],
- "type": "object"
- },
- "AnalyticsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Id": {
- "type": "string"
- },
- "Prefix": {
- "type": "string"
- },
- "StorageClassAnalysis": {
- "$ref": "#/definitions/StorageClassAnalysis"
- },
- "TagFilters": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/TagFilter"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "StorageClassAnalysis",
- "Id"
- ],
- "type": "object"
- },
- "Arn": {
- "type": "string"
- },
- "BucketEncryption": {
- "additionalProperties": false,
- "properties": {
- "ServerSideEncryptionConfiguration": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/ServerSideEncryptionRule"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "ServerSideEncryptionConfiguration"
- ],
- "type": "object"
- },
- "CorsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "CorsRules": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/CorsRule",
- "maxLength": 100
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "CorsRules"
- ],
- "type": "object"
- },
- "CorsRule": {
- "additionalProperties": false,
- "properties": {
- "AllowedHeaders": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AllowedMethods": {
- "insertionOrder": true,
- "items": {
- "enum": [
- "GET",
- "PUT",
- "HEAD",
- "POST",
- "DELETE"
- ],
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "AllowedOrigins": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "ExposedHeaders": {
- "insertionOrder": true,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Id": {
- "maxLength": 255,
- "type": "string"
- },
- "MaxAge": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "AllowedMethods",
- "AllowedOrigins"
- ],
- "type": "object"
- },
- "DataExport": {
- "additionalProperties": false,
- "properties": {
- "Destination": {
- "$ref": "#/definitions/Destination"
- },
- "OutputSchemaVersion": {
- "const": "V_1",
- "type": "string"
- }
- },
- "required": [
- "Destination",
- "OutputSchemaVersion"
- ],
- "type": "object"
- },
- "DefaultRetention": {
- "additionalProperties": false,
- "properties": {
- "Days": {
- "type": "integer"
- },
- "Mode": {
- "enum": [
- "COMPLIANCE",
- "GOVERNANCE"
- ],
- "type": "string"
- },
- "Years": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "DeleteMarkerReplication": {
- "additionalProperties": false,
- "properties": {
- "Status": {
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "Destination": {
- "additionalProperties": false,
- "properties": {
- "BucketAccountId": {
- "type": "string"
- },
- "BucketArn": {
- "type": "string"
- },
- "Format": {
- "enum": [
- "CSV",
- "ORC",
- "Parquet"
- ],
- "type": "string"
- },
- "Prefix": {
- "type": "string"
- }
- },
- "required": [
- "BucketArn",
- "Format"
- ],
- "type": "object"
- },
- "EncryptionConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ReplicaKmsKeyID": {
- "type": "string"
- }
- },
- "required": [
- "ReplicaKmsKeyID"
- ],
- "type": "object"
- },
- "EventBridgeConfiguration": {
- "additionalProperties": false,
- "properties": {
- "EventBridgeEnabled": {
- "default": "true",
- "type": "boolean"
- }
- },
- "required": [
- "EventBridgeEnabled"
- ],
- "type": "object"
- },
- "FilterRule": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "maxLength": 1024,
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Name"
- ],
- "type": "object"
- },
- "IntelligentTieringConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Id": {
- "type": "string"
- },
- "Prefix": {
- "type": "string"
- },
- "Status": {
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "type": "string"
- },
- "TagFilters": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/TagFilter"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Tierings": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Tiering"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Id",
- "Status",
- "Tierings"
- ],
- "type": "object"
- },
- "InventoryConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destination": {
- "$ref": "#/definitions/Destination"
- },
- "Enabled": {
- "type": "boolean"
- },
- "Id": {
- "type": "string"
- },
- "IncludedObjectVersions": {
- "enum": [
- "All",
- "Current"
- ],
- "type": "string"
- },
- "OptionalFields": {
- "insertionOrder": true,
- "items": {
- "enum": [
- "Size",
- "LastModifiedDate",
- "StorageClass",
- "ETag",
- "IsMultipartUploaded",
- "ReplicationStatus",
- "EncryptionStatus",
- "ObjectLockRetainUntilDate",
- "ObjectLockMode",
- "ObjectLockLegalHoldStatus",
- "IntelligentTieringAccessTier",
- "BucketKeyStatus",
- "ChecksumAlgorithm",
- "ObjectAccessControlList",
- "ObjectOwner"
- ],
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Prefix": {
- "type": "string"
- },
- "ScheduleFrequency": {
- "enum": [
- "Daily",
- "Weekly"
- ],
- "type": "string"
- }
- },
- "required": [
- "Destination",
- "Enabled",
- "Id",
- "IncludedObjectVersions",
- "ScheduleFrequency"
- ],
- "type": "object"
- },
- "LambdaConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Event": {
- "type": "string"
- },
- "Filter": {
- "$ref": "#/definitions/NotificationFilter"
- },
- "Function": {
- "type": "string"
- }
- },
- "required": [
- "Function",
- "Event"
- ],
- "type": "object"
- },
- "LifecycleConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Rules": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Rule"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Rules"
- ],
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "DestinationBucketName": {
- "type": "string"
- },
- "LogFilePrefix": {
- "type": "string"
- },
- "TargetObjectKeyFormat": {
- "$ref": "#/definitions/TargetObjectKeyFormat"
- }
- },
- "type": "object"
- },
- "Metrics": {
- "additionalProperties": false,
- "properties": {
- "EventThreshold": {
- "$ref": "#/definitions/ReplicationTimeValue"
- },
- "Status": {
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "type": "string"
- }
- },
- "required": [
- "Status"
- ],
- "type": "object"
- },
- "MetricsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "AccessPointArn": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Prefix": {
- "type": "string"
- },
- "TagFilters": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/TagFilter"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Id"
- ],
- "type": "object"
- },
- "NoncurrentVersionExpiration": {
- "additionalProperties": false,
- "properties": {
- "NewerNoncurrentVersions": {
- "type": "integer"
- },
- "NoncurrentDays": {
- "type": "integer"
- }
- },
- "required": [
- "NoncurrentDays"
- ],
- "type": "object"
- },
- "NoncurrentVersionTransition": {
- "additionalProperties": false,
- "properties": {
- "NewerNoncurrentVersions": {
- "type": "integer"
- },
- "StorageClass": {
- "enum": [
- "DEEP_ARCHIVE",
- "GLACIER",
- "Glacier",
- "GLACIER_IR",
- "INTELLIGENT_TIERING",
- "ONEZONE_IA",
- "STANDARD_IA"
- ],
- "type": "string"
- },
- "TransitionInDays": {
- "type": "integer"
- }
- },
- "required": [
- "StorageClass",
- "TransitionInDays"
- ],
- "type": "object"
- },
- "NotificationConfiguration": {
- "additionalProperties": false,
- "properties": {
- "EventBridgeConfiguration": {
- "$ref": "#/definitions/EventBridgeConfiguration"
- },
- "LambdaConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/LambdaConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- },
- "QueueConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/QueueConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- },
- "TopicConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/TopicConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "NotificationFilter": {
- "additionalProperties": false,
- "properties": {
- "S3Key": {
- "$ref": "#/definitions/S3KeyFilter"
- }
- },
- "required": [
- "S3Key"
- ],
- "type": "object"
- },
- "ObjectLockConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ObjectLockEnabled": {
- "const": "Enabled",
- "type": "string"
- },
- "Rule": {
- "$ref": "#/definitions/ObjectLockRule"
- }
- },
- "type": "object"
- },
- "ObjectLockRule": {
- "additionalProperties": false,
- "properties": {
- "DefaultRetention": {
- "$ref": "#/definitions/DefaultRetention"
- }
- },
- "type": "object"
- },
- "OwnershipControls": {
- "additionalProperties": false,
- "properties": {
- "Rules": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/OwnershipControlsRule"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Rules"
- ],
- "type": "object"
- },
- "OwnershipControlsRule": {
- "additionalProperties": false,
- "properties": {
- "ObjectOwnership": {
- "enum": [
- "ObjectWriter",
- "BucketOwnerPreferred",
- "BucketOwnerEnforced"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "PartitionedPrefix": {
- "additionalProperties": false,
- "properties": {
- "PartitionDateSource": {
- "enum": [
- "EventTime",
- "DeliveryTime"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "PublicAccessBlockConfiguration": {
- "additionalProperties": false,
- "properties": {
- "BlockPublicAcls": {
- "type": "boolean"
- },
- "BlockPublicPolicy": {
- "type": "boolean"
- },
- "IgnorePublicAcls": {
- "type": "boolean"
- },
- "RestrictPublicBuckets": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "QueueConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Event": {
- "type": "string"
- },
- "Filter": {
- "$ref": "#/definitions/NotificationFilter"
- },
- "Queue": {
- "type": "string"
- }
- },
- "required": [
- "Event",
- "Queue"
- ],
- "type": "object"
- },
- "RedirectAllRequestsTo": {
- "additionalProperties": false,
- "dependentExcluded": {
- "RedirectAllRequestsTo": [
- "ErrorDocument",
- "IndexDocument",
- "RoutingRules"
- ]
- },
- "properties": {
- "HostName": {
- "type": "string"
- },
- "Protocol": {
- "enum": [
- "http",
- "https"
- ],
- "type": "string"
- }
- },
- "required": [
- "HostName"
- ],
- "type": "object"
- },
- "RedirectRule": {
- "additionalProperties": false,
- "properties": {
- "HostName": {
- "type": "string"
- },
- "HttpRedirectCode": {
- "type": "string"
- },
- "Protocol": {
- "enum": [
- "http",
- "https"
- ],
- "type": "string"
- },
- "ReplaceKeyPrefixWith": {
- "type": "string"
- },
- "ReplaceKeyWith": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ReplicaModifications": {
- "additionalProperties": false,
- "properties": {
- "Status": {
- "enum": [
- "Enabled",
- "Disabled"
- ],
- "type": "string"
- }
- },
- "required": [
- "Status"
- ],
- "type": "object"
- },
- "ReplicationConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Role": {
- "type": "string"
- },
- "Rules": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/ReplicationRule",
- "maxLength": 1000,
- "minLength": 1
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Role",
- "Rules"
- ],
- "type": "object"
- },
- "ReplicationDestination": {
- "additionalProperties": false,
- "properties": {
- "AccessControlTranslation": {
- "$ref": "#/definitions/AccessControlTranslation"
- },
- "Account": {
- "type": "string"
- },
- "Bucket": {
- "type": "string"
- },
- "EncryptionConfiguration": {
- "$ref": "#/definitions/EncryptionConfiguration"
- },
- "Metrics": {
- "$ref": "#/definitions/Metrics"
- },
- "ReplicationTime": {
- "$ref": "#/definitions/ReplicationTime"
- },
- "StorageClass": {
- "enum": [
- "DEEP_ARCHIVE",
- "GLACIER",
- "GLACIER_IR",
- "INTELLIGENT_TIERING",
- "ONEZONE_IA",
- "REDUCED_REDUNDANCY",
- "STANDARD",
- "STANDARD_IA"
- ],
- "type": "string"
- }
- },
- "required": [
- "Bucket"
- ],
- "type": "object"
- },
- "ReplicationRule": {
- "additionalProperties": false,
- "properties": {
- "DeleteMarkerReplication": {
- "$ref": "#/definitions/DeleteMarkerReplication"
- },
- "Destination": {
- "$ref": "#/definitions/ReplicationDestination"
- },
- "Filter": {
- "$ref": "#/definitions/ReplicationRuleFilter"
- },
- "Id": {
- "maxLength": 255,
- "type": "string"
- },
- "Prefix": {
- "maxLength": 1024,
- "type": "string"
- },
- "Priority": {
- "type": "integer"
- },
- "SourceSelectionCriteria": {
- "$ref": "#/definitions/SourceSelectionCriteria"
- },
- "Status": {
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "type": "string"
- }
- },
- "required": [
- "Destination",
- "Status"
- ],
- "type": "object"
- },
- "ReplicationRuleAndOperator": {
- "additionalProperties": false,
- "properties": {
- "Prefix": {
- "type": "string"
- },
- "TagFilters": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/TagFilter"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "ReplicationRuleFilter": {
- "additionalProperties": false,
- "properties": {
- "And": {
- "$ref": "#/definitions/ReplicationRuleAndOperator"
- },
- "Prefix": {
- "type": "string"
- },
- "TagFilter": {
- "$ref": "#/definitions/TagFilter"
- }
- },
- "type": "object"
- },
- "ReplicationTime": {
- "additionalProperties": false,
- "properties": {
- "Status": {
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "type": "string"
- },
- "Time": {
- "$ref": "#/definitions/ReplicationTimeValue"
- }
- },
- "required": [
- "Status",
- "Time"
- ],
- "type": "object"
- },
- "ReplicationTimeValue": {
- "additionalProperties": false,
- "properties": {
- "Minutes": {
- "type": "integer"
- }
- },
- "required": [
- "Minutes"
- ],
- "type": "object"
- },
- "RoutingRule": {
- "additionalProperties": false,
- "properties": {
- "RedirectRule": {
- "$ref": "#/definitions/RedirectRule"
- },
- "RoutingRuleCondition": {
- "$ref": "#/definitions/RoutingRuleCondition"
- }
- },
- "required": [
- "RedirectRule"
- ],
- "type": "object"
- },
- "RoutingRuleCondition": {
- "additionalProperties": false,
- "anyOf": [
- {
- "required": [
- "HttpErrorCodeReturnedEquals"
- ]
- },
- {
- "required": [
- "KeyPrefixEquals"
- ]
- }
- ],
- "properties": {
- "HttpErrorCodeReturnedEquals": {
- "type": "string"
- },
- "KeyPrefixEquals": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Rule": {
- "additionalProperties": false,
- "dependentExcluded": {
- "ObjectSizeGreaterThan": [
- "AbortIncompleteMultipartUpload"
- ],
- "ObjectSizeLessThan": [
- "AbortIncompleteMultipartUpload"
- ]
- },
- "properties": {
- "AbortIncompleteMultipartUpload": {
- "$ref": "#/definitions/AbortIncompleteMultipartUpload"
- },
- "ExpirationDate": {
- "$ref": "#/definitions/iso8601UTC"
- },
- "ExpirationInDays": {
- "type": "integer"
- },
- "ExpiredObjectDeleteMarker": {
- "type": "boolean"
- },
- "Id": {
- "maxLength": 255,
- "type": "string"
- },
- "NoncurrentVersionExpiration": {
- "$ref": "#/definitions/NoncurrentVersionExpiration"
- },
- "NoncurrentVersionExpirationInDays": {
- "type": "integer"
- },
- "NoncurrentVersionTransition": {
- "$ref": "#/definitions/NoncurrentVersionTransition"
- },
- "NoncurrentVersionTransitions": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/NoncurrentVersionTransition"
- },
- "type": "array",
- "uniqueItems": true
- },
- "ObjectSizeGreaterThan": {
- "maxLength": 20,
- "pattern": "[0-9]+",
- "type": "string"
- },
- "ObjectSizeLessThan": {
- "maxLength": 20,
- "pattern": "[0-9]+",
- "type": "string"
- },
- "Prefix": {
- "type": "string"
- },
- "Status": {
- "enum": [
- "Enabled",
- "Disabled"
- ],
- "type": "string"
- },
- "TagFilters": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/TagFilter"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Transition": {
- "$ref": "#/definitions/Transition"
- },
- "Transitions": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Transition"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Status"
- ],
- "type": "object"
- },
- "S3KeyFilter": {
- "additionalProperties": false,
- "properties": {
- "Rules": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/FilterRule"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "Rules"
- ],
- "type": "object"
- },
- "ServerSideEncryptionByDefault": {
- "additionalProperties": false,
- "properties": {
- "KMSMasterKeyID": {
- "type": "string"
- },
- "SSEAlgorithm": {
- "enum": [
- "aws:kms",
- "AES256",
- "aws:kms:dsse"
- ],
- "type": "string"
- }
- },
- "required": [
- "SSEAlgorithm"
- ],
- "type": "object"
- },
- "ServerSideEncryptionRule": {
- "additionalProperties": false,
- "properties": {
- "BucketKeyEnabled": {
- "type": "boolean"
- },
- "ServerSideEncryptionByDefault": {
- "$ref": "#/definitions/ServerSideEncryptionByDefault"
- }
- },
- "type": "object"
- },
- "SourceSelectionCriteria": {
- "additionalProperties": false,
- "properties": {
- "ReplicaModifications": {
- "$ref": "#/definitions/ReplicaModifications"
- },
- "SseKmsEncryptedObjects": {
- "$ref": "#/definitions/SseKmsEncryptedObjects"
- }
- },
- "type": "object"
- },
- "SseKmsEncryptedObjects": {
- "additionalProperties": false,
- "properties": {
- "Status": {
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "type": "string"
- }
- },
- "required": [
- "Status"
- ],
- "type": "object"
- },
- "StorageClassAnalysis": {
- "additionalProperties": false,
- "properties": {
- "DataExport": {
- "$ref": "#/definitions/DataExport"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- },
- "TagFilter": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- },
- "TargetObjectKeyFormat": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "SimplePrefix": {
- "additionalProperties": false,
- "type": "object"
- }
- },
- "required": [
- "SimplePrefix"
- ]
- },
- {
- "additionalProperties": false,
- "properties": {
- "PartitionedPrefix": {
- "$ref": "#/definitions/PartitionedPrefix"
- }
- },
- "required": [
- "PartitionedPrefix"
- ]
- }
- ],
- "type": "object"
- },
- "Tiering": {
- "additionalProperties": false,
- "properties": {
- "AccessTier": {
- "enum": [
- "ARCHIVE_ACCESS",
- "DEEP_ARCHIVE_ACCESS"
- ],
- "type": "string"
- },
- "Days": {
- "type": "integer"
- }
- },
- "required": [
- "AccessTier",
- "Days"
- ],
- "type": "object"
- },
- "TopicConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Event": {
- "type": "string"
- },
- "Filter": {
- "$ref": "#/definitions/NotificationFilter"
- },
- "Topic": {
- "type": "string"
- }
- },
- "required": [
- "Event",
- "Topic"
- ],
- "type": "object"
- },
- "Transition": {
- "additionalProperties": false,
- "properties": {
- "StorageClass": {
- "enum": [
- "DEEP_ARCHIVE",
- "GLACIER",
- "Glacier",
- "GLACIER_IR",
- "INTELLIGENT_TIERING",
- "ONEZONE_IA",
- "STANDARD_IA"
- ],
- "type": "string"
- },
- "TransitionDate": {
- "$ref": "#/definitions/iso8601UTC"
- },
- "TransitionInDays": {
- "type": "integer"
- }
- },
- "required": [
- "StorageClass"
- ],
- "type": "object"
- },
- "VersioningConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Status": {
- "default": "Suspended",
- "enum": [
- "Enabled",
- "Suspended"
- ],
- "type": "string"
- }
- },
- "required": [
- "Status"
- ],
- "type": "object"
- },
- "WebsiteConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ErrorDocument": {
- "type": "string"
- },
- "IndexDocument": {
- "type": "string"
- },
- "RedirectAllRequestsTo": {
- "$ref": "#/definitions/RedirectAllRequestsTo"
- },
- "RoutingRules": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/RoutingRule"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "iso8601UTC": {
- "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$",
- "type": "string"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "s3:CreateBucket",
- "s3:PutBucketTagging",
- "s3:PutAnalyticsConfiguration",
- "s3:PutEncryptionConfiguration",
- "s3:PutBucketCORS",
- "s3:PutInventoryConfiguration",
- "s3:PutLifecycleConfiguration",
- "s3:PutMetricsConfiguration",
- "s3:PutBucketNotification",
- "s3:PutBucketReplication",
- "s3:PutBucketWebsite",
- "s3:PutAccelerateConfiguration",
- "s3:PutBucketPublicAccessBlock",
- "s3:PutReplicationConfiguration",
- "s3:PutObjectAcl",
- "s3:PutBucketObjectLockConfiguration",
- "s3:GetBucketAcl",
- "s3:ListBucket",
- "iam:PassRole",
- "s3:DeleteObject",
- "s3:PutBucketLogging",
- "s3:PutBucketVersioning",
- "s3:PutObjectLockConfiguration",
- "s3:PutBucketOwnershipControls",
- "s3:PutIntelligentTieringConfiguration"
- ]
- },
- "delete": {
- "permissions": [
- "s3:DeleteBucket",
- "s3:ListBucket"
- ]
- },
- "list": {
- "permissions": [
- "s3:ListAllMyBuckets"
- ]
- },
- "read": {
- "permissions": [
- "s3:GetAccelerateConfiguration",
- "s3:GetLifecycleConfiguration",
- "s3:GetBucketPublicAccessBlock",
- "s3:GetAnalyticsConfiguration",
- "s3:GetBucketCORS",
- "s3:GetEncryptionConfiguration",
- "s3:GetInventoryConfiguration",
- "s3:GetBucketLogging",
- "s3:GetMetricsConfiguration",
- "s3:GetBucketNotification",
- "s3:GetBucketVersioning",
- "s3:GetReplicationConfiguration",
- "S3:GetBucketWebsite",
- "s3:GetBucketPublicAccessBlock",
- "s3:GetBucketObjectLockConfiguration",
- "s3:GetBucketTagging",
- "s3:GetBucketOwnershipControls",
- "s3:GetIntelligentTieringConfiguration",
- "s3:ListBucket"
- ]
- },
- "update": {
- "permissions": [
- "s3:PutBucketAcl",
- "s3:PutBucketTagging",
- "s3:PutAnalyticsConfiguration",
- "s3:PutEncryptionConfiguration",
- "s3:PutBucketCORS",
- "s3:PutInventoryConfiguration",
- "s3:PutLifecycleConfiguration",
- "s3:PutMetricsConfiguration",
- "s3:PutBucketNotification",
- "s3:PutBucketReplication",
- "s3:PutBucketWebsite",
- "s3:PutAccelerateConfiguration",
- "s3:PutBucketPublicAccessBlock",
- "s3:PutReplicationConfiguration",
- "s3:PutBucketOwnershipControls",
- "s3:PutIntelligentTieringConfiguration",
- "s3:DeleteBucketWebsite",
- "s3:PutBucketLogging",
- "s3:PutBucketVersioning",
- "s3:PutObjectLockConfiguration",
- "s3:PutBucketObjectLockConfiguration",
- "s3:DeleteBucketAnalyticsConfiguration",
- "s3:DeleteBucketCors",
- "s3:DeleteBucketMetricsConfiguration",
- "s3:DeleteBucketEncryption",
- "s3:DeleteBucketLifecycle",
- "s3:DeleteBucketReplication",
- "iam:PassRole",
- "s3:ListBucket"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/BucketName"
- ],
- "properties": {
- "AccelerateConfiguration": {
- "$ref": "#/definitions/AccelerateConfiguration"
- },
- "AccessControl": {
- "enum": [
- "AuthenticatedRead",
- "AwsExecRead",
- "BucketOwnerFullControl",
- "BucketOwnerRead",
- "LogDeliveryWrite",
- "Private",
- "PublicRead",
- "PublicReadWrite"
- ],
- "type": "string"
- },
- "AnalyticsConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/AnalyticsConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Arn": {
- "$ref": "#/definitions/Arn",
- "examples": [
- "arn:aws:s3:::mybucket"
- ]
- },
- "BucketEncryption": {
- "$ref": "#/definitions/BucketEncryption"
- },
- "BucketName": {
- "maxLength": 63,
- "minLength": 3,
- "pattern": "^[a-z0-9][a-z0-9.-]*[a-z0-9]$",
- "type": "string"
- },
- "CorsConfiguration": {
- "$ref": "#/definitions/CorsConfiguration"
- },
- "DomainName": {
- "examples": [
- "mystack-mybucket-kdwwxmddtr2g.s3.amazonaws.com"
- ],
- "type": "string"
- },
- "DualStackDomainName": {
- "examples": [
- "mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com"
- ],
- "type": "string"
- },
- "IntelligentTieringConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/IntelligentTieringConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- },
- "InventoryConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/InventoryConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- },
- "LifecycleConfiguration": {
- "$ref": "#/definitions/LifecycleConfiguration"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "MetricsConfigurations": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/MetricsConfiguration"
- },
- "type": "array",
- "uniqueItems": true
- },
- "NotificationConfiguration": {
- "$ref": "#/definitions/NotificationConfiguration"
- },
- "ObjectLockConfiguration": {
- "$ref": "#/definitions/ObjectLockConfiguration"
- },
- "ObjectLockEnabled": {
- "type": "boolean"
- },
- "OwnershipControls": {
- "$ref": "#/definitions/OwnershipControls"
- },
- "PublicAccessBlockConfiguration": {
- "$ref": "#/definitions/PublicAccessBlockConfiguration"
- },
- "RegionalDomainName": {
- "examples": [
- "mystack-mybucket-kdwwxmddtr2g.s3.us-east-2.amazonaws.com"
- ],
- "type": "string"
- },
- "ReplicationConfiguration": {
- "$ref": "#/definitions/ReplicationConfiguration"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- },
- "VersioningConfiguration": {
- "$ref": "#/definitions/VersioningConfiguration"
- },
- "WebsiteConfiguration": {
- "$ref": "#/definitions/WebsiteConfiguration"
- },
- "WebsiteURL": {
- "examples": [
- "Example (IPv4): http://mystack-mybucket-kdwwxmddtr2g.s3-website-us-east-2.amazonaws.com/",
- "Example (IPv6): http://mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com/"
- ],
- "format": "uri",
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/NotificationConfiguration/LambdaConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")",
- "/properties/NotificationConfiguration/QueueConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")",
- "/properties/NotificationConfiguration/TopicConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")"
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/DomainName",
- "/properties/DualStackDomainName",
- "/properties/RegionalDomainName",
- "/properties/WebsiteURL"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::S3::Bucket",
- "writeOnlyProperties": [
- "/properties/AccessControl",
- "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionExpirationInDays",
- "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionTransition",
- "/properties/LifecycleConfiguration/Rules/*/Transition",
- "/properties/ReplicationConfiguration/Rules/*/Prefix",
- "/properties/LifecycleConfiguration/Rules/*/ExpiredObjectDeleteMarker"
- ]
-}
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 95f635b3a6..db0c20ddc8 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py
@@ -641,6 +641,7 @@
"aws-apigatewayv2-authorizer.json",
"aws-apigatewayv2-deployment.json",
"aws-apigatewayv2-domainname.json",
+ "aws-apigatewayv2-integration.json",
"aws-apigatewayv2-integrationresponse.json",
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
@@ -790,7 +791,6 @@
"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",
@@ -834,7 +834,6 @@
"aws-ec2-volume.json",
"aws-ec2-volumeattachment.json",
"aws-ec2-vpc.json",
- "aws-ec2-vpccidrblock.json",
"aws-ec2-vpcdhcpoptionsassociation.json",
"aws-ec2-vpcendpointconnectionnotification.json",
"aws-ec2-vpcendpointservice.json",
@@ -916,7 +915,6 @@
"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",
@@ -974,7 +972,6 @@
"aws-lambda-alias.json",
"aws-lambda-eventinvokeconfig.json",
"aws-lambda-eventsourcemapping.json",
- "aws-lambda-function.json",
"aws-lambda-layerversion.json",
"aws-lambda-layerversionpermission.json",
"aws-lambda-permission.json",
@@ -1042,7 +1039,6 @@
"aws-rds-dbsecuritygroupingress.json",
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
- "aws-rds-globalcluster.json",
"aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigatewayv2-integration.json
deleted file mode 100644
index 99fa47be40..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigatewayv2-integration.json
+++ /dev/null
@@ -1,178 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ApiId"
- ],
- "definitions": {
- "ResponseParameter": {
- "additionalProperties": false,
- "properties": {
- "Destination": {
- "type": "string"
- },
- "Source": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseParameterList": {
- "items": {
- "$ref": "#/definitions/ResponseParameter"
- },
- "type": "array"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TlsConfig": {
- "additionalProperties": false,
- "properties": {
- "ServerNameToVerify": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "apigateway:POST"
- ]
- },
- "delete": {
- "permissions": [
- "apigateway:GET",
- "apigateway:DELETE"
- ]
- },
- "list": {
- "permissions": [
- "apigateway:GET"
- ]
- },
- "read": {
- "permissions": [
- "apigateway:GET"
- ]
- },
- "update": {
- "permissions": [
- "apigateway:PATCH",
- "apigateway:GET",
- "apigateway:PUT"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/ApiId",
- "/properties/IntegrationId"
- ],
- "properties": {
- "ApiId": {
- "type": "string"
- },
- "ConnectionId": {
- "type": "string"
- },
- "ConnectionType": {
- "type": "string"
- },
- "ContentHandlingStrategy": {
- "type": "string"
- },
- "CredentialsArn": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "IntegrationId": {
- "type": "string"
- },
- "IntegrationMethod": {
- "type": "string"
- },
- "IntegrationSubtype": {
- "type": "string"
- },
- "IntegrationType": {
- "type": "string"
- },
- "IntegrationUri": {
- "type": "string"
- },
- "PassthroughBehavior": {
- "type": "string"
- },
- "PayloadFormatVersion": {
- "type": "string"
- },
- "RequestParameters": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "RequestTemplates": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResponseParameters": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "$ref": "#/definitions/ResponseParameterList"
- }
- },
- "type": "object"
- },
- "TemplateSelectionExpression": {
- "type": "string"
- },
- "TimeoutInMillis": {
- "type": "integer"
- },
- "TlsConfig": {
- "$ref": "#/definitions/TlsConfig"
- }
- },
- "readOnlyProperties": [
- "/properties/IntegrationId"
- ],
- "required": [
- "ApiId",
- "IntegrationType"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "taggable": false
- },
- "typeName": "AWS::ApiGatewayV2::Integration"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-ipam.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-ipam.json
new file mode 100644
index 0000000000..69ed6aeb61
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-ipam.json
@@ -0,0 +1,148 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "IpamOperatingRegion": {
+ "additionalProperties": false,
+ "properties": {
+ "RegionName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RegionName"
+ ],
+ "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": [
+ "ec2:CreateIpam",
+ "iam:CreateServiceLinkedRole",
+ "ec2:CreateTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DeleteIpam",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:ModifyIpam",
+ "ec2:CreateTags",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IpamId"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryAssociationId": {
+ "type": "string"
+ },
+ "DefaultResourceDiscoveryId": {
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "IpamId": {
+ "type": "string"
+ },
+ "OperatingRegions": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/IpamOperatingRegion"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "PrivateDefaultScopeId": {
+ "type": "string"
+ },
+ "PublicDefaultScopeId": {
+ "maxLength": 255,
+ "type": "string"
+ },
+ "ResourceDiscoveryAssociationCount": {
+ "type": "integer"
+ },
+ "ScopeCount": {
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Tier": {
+ "enum": [
+ "free",
+ "advanced"
+ ],
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/IpamId",
+ "/properties/Arn",
+ "/properties/PublicDefaultScopeId",
+ "/properties/PrivateDefaultScopeId",
+ "/properties/ScopeCount",
+ "/properties/ResourceDiscoveryAssociationCount",
+ "/properties/DefaultResourceDiscoveryId",
+ "/properties/DefaultResourceDiscoveryAssociationId"
+ ],
+ "required": [],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::IPAM"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-vpccidrblock.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-vpccidrblock.json
new file mode 100644
index 0000000000..d12a123311
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-vpccidrblock.json
@@ -0,0 +1,103 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Ipv6Pool",
+ "/properties/VpcId",
+ "/properties/AmazonProvidedIpv6CidrBlock",
+ "/properties/Ipv6CidrBlock",
+ "/properties/CidrBlock",
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:AssociateVpcCidrBlock",
+ "ec2:DescribeVpcs",
+ "ec2:AllocateIpamPoolCidr"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DescribeVpcs",
+ "ec2:DisassociateVpcCidrBlock"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "required": [
+ "VpcId"
+ ]
+ },
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeVpcs"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id",
+ "/properties/VpcId"
+ ],
+ "properties": {
+ "AmazonProvidedIpv6CidrBlock": {
+ "type": "boolean"
+ },
+ "CidrBlock": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Ipv4IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv4NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6CidrBlock": {
+ "type": "string"
+ },
+ "Ipv6IpamPoolId": {
+ "type": "string"
+ },
+ "Ipv6NetmaskLength": {
+ "type": "integer"
+ },
+ "Ipv6Pool": {
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "VpcId"
+ ],
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::EC2::VPCCidrBlock",
+ "writeOnlyProperties": [
+ "/properties/Ipv4IpamPoolId",
+ "/properties/Ipv4NetmaskLength",
+ "/properties/Ipv6IpamPoolId",
+ "/properties/Ipv6NetmaskLength"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-glue-database.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-glue-database.json
new file mode 100644
index 0000000000..6e618ae270
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-glue-database.json
@@ -0,0 +1,117 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CatalogId"
+ ],
+ "definitions": {
+ "DataLakePrincipal": {
+ "additionalProperties": false,
+ "properties": {
+ "DataLakePrincipalIdentifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseIdentifier": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseInput": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateTableDefaultPermissions": {
+ "items": {
+ "$ref": "#/definitions/PrincipalPrivileges"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "FederatedDatabase": {
+ "$ref": "#/definitions/FederatedDatabase"
+ },
+ "LocationUri": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "TargetDatabase": {
+ "$ref": "#/definitions/DatabaseIdentifier"
+ }
+ },
+ "type": "object"
+ },
+ "FederatedDatabase": {
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string"
+ },
+ "Identifier": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrincipalPrivileges": {
+ "additionalProperties": false,
+ "properties": {
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Principal": {
+ "$ref": "#/definitions/DataLakePrincipal"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseInput": {
+ "$ref": "#/definitions/DatabaseInput"
+ },
+ "Id": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "DatabaseInput",
+ "CatalogId"
+ ],
+ "typeName": "AWS::Glue::Database"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-lambda-function.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-lambda-function.json
new file mode 100644
index 0000000000..d7aa0b43a0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-lambda-function.json
@@ -0,0 +1,552 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/FunctionName"
+ ],
+ "definitions": {
+ "Code": {
+ "additionalProperties": false,
+ "properties": {
+ "ImageUri": {
+ "type": "string"
+ },
+ "S3Bucket": {
+ "maxLength": 63,
+ "minLength": 3,
+ "pattern": "^[0-9A-Za-z\\.\\-_]*(?
Date: Wed, 21 Aug 2024 09:57:05 -0700
Subject: [PATCH 2/2] Patch Sagemaker issues
---
...5a0d14c62111ff864923fc7b7960dda6.meta.json | 2 +-
...2b6653d7edfe98a64577daae0b481c38.meta.json | 2 +-
...5e4752bbc10d9552de8df8f81348c42b.meta.json | 2 +-
...4cfc32461d10e077e7e5de1fc25d8b8f.meta.json | 2 +-
...d3fe2e7838c23f6acd054944cb2b1618.meta.json | 2 +-
...7e9907e4a512c10ddae70b98b4dada43.meta.json | 2 +-
...3fbf0a0fb76625ba46dbe42abd34333c.meta.json | 2 +-
...376aa3fe15197e3bb0e9290ff8719b4e.meta.json | 2 +-
...f60a7b5acfc406ebb10d5748cbb8ed41.meta.json | 2 +-
...f35136af536e92a84ccbaf062c315066.meta.json | 2 +-
...04470222e5e4c690bacef5312891581d.meta.json | 2 +-
...646b563d773e34b020d0ddeab2fe195b.meta.json | 2 +-
...548d44cc32e246ec9d7742088a2c17f8.meta.json | 2 +-
...98ac34d4109512e0e0947ef752dcb9c9.meta.json | 2 +-
...7e4a4542365d35fd75466abcf306eeca.meta.json | 2 +-
...e783fe32b6bb6b13774c32fcca1d303a.meta.json | 2 +-
...05f2567698dfdfa979bf0ccdb68cb856.meta.json | 2 +-
...92030ae5c03d7451980a15735e557edb.meta.json | 2 +-
...6bb7f975b606f8db57532faddfcdd8c8.meta.json | 2 +-
...73ff097c685cda0a63c08a6416dc58ed.meta.json | 2 +-
...25c8d66a1f84939600616bab42579541.meta.json | 2 +-
...26b315ef6f38515840537c02de23abe2.meta.json | 2 +-
...cf908a34e6b4c3fb3e97e2b584f651ca.meta.json | 2 +-
...318c41c71c21b0a17d4f68d82c5aee21.meta.json | 2 +-
...6cd7e4ced378cacdb93f76ed227b5c5d.meta.json | 2 +-
...41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json | 2 +-
...b2d398fe33547eed780b9b70f10eb4a2.meta.json | 2 +-
...e50a1638ffe0a5dba0d8805c190a05f8.meta.json | 2 +-
...3b69878d351cffd417dc9a457df808af.meta.json | 2 +-
.../all/aws_sagemaker_domain/__init__.py | 0
.../applifecyclemanagement.json | 10 +
.../all/aws_sagemaker_space/__init__.py | 0
.../applifecyclemanagement.json | 10 +
.../all/aws_sagemaker_userprofile/__init__.py | 0
.../applifecyclemanagement.json | 10 +
.../schemas/providers/ap_east_1/__init__.py | 2 +
.../aws-apigatewayv2-integration.json | 99 --
.../ap_east_1/aws-rds-globalcluster.json | 99 --
.../providers/ap_southeast_2/__init__.py | 2 +
.../ap_southeast_2/aws-glue-database.json | 117 ---
.../ap_southeast_2/aws-location-apikey.json | 226 -----
.../providers/ap_southeast_4/__init__.py | 1 +
.../ap_southeast_4/aws-ec2-securitygroup.json | 239 -----
.../schemas/providers/eu_north_1/__init__.py | 4 +
.../aws-apigatewayv2-integration.json | 99 --
.../eu_north_1/aws-ec2-securitygroup.json | 239 -----
.../eu_north_1/aws-iam-managedpolicy.json | 147 ---
.../eu_north_1/aws-rds-globalcluster.json | 99 --
.../schemas/providers/eu_south_1/__init__.py | 2 +
.../aws-apigatewayv2-integration.json | 99 --
.../eu_south_1/aws-ec2-securitygroup.json | 239 -----
.../schemas/providers/eu_west_1/__init__.py | 1 -
.../eu_west_1/aws-codebuild-fleet.json | 159 ++++
.../eu_west_1/aws-msk-replicator.json | 28 +-
.../schemas/providers/eu_west_2/__init__.py | 2 +
.../aws-apigatewayv2-integration.json | 99 --
.../eu_west_2/aws-rds-globalcluster.json | 99 --
.../schemas/providers/us_east_2/__init__.py | 3 +
.../us_east_2/aws-sagemaker-domain.json | 855 ------------------
.../us_east_2/aws-sagemaker-space.json | 470 ----------
.../us_east_2/aws-sagemaker-userprofile.json | 621 -------------
.../providers/us_gov_east_1/__init__.py | 1 -
.../aws-lambda-eventsourcemapping.json | 350 +++++++
.../providers/us_gov_west_1/__init__.py | 4 -
.../us_gov_west_1/aws-redshift-cluster.json | 330 +++++++
.../aws-redshift-clustersubnetgroup.json | 158 ++++
.../aws-redshift-eventsubscription.json | 181 ++++
.../aws-redshift-scheduledaction.json | 188 ++++
.../schemas/providers/us_west_2/__init__.py | 3 -
.../us_west_2/aws-codebuild-fleet.json | 159 ++++
.../aws-location-geofencecollection.json | 168 ++++
.../us_west_2/aws-msk-replicator.json | 373 ++++++++
72 files changed, 2167 insertions(+), 3886 deletions(-)
create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_domain/__init__.py
create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_domain/applifecyclemanagement.json
create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_space/__init__.py
create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_space/applifecyclemanagement.json
create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_userprofile/__init__.py
create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_userprofile/applifecyclemanagement.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-integration.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-globalcluster.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-database.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-location-apikey.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-securitygroup.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-apigatewayv2-integration.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-securitygroup.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-iam-managedpolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-globalcluster.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-apigatewayv2-integration.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-securitygroup.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-codebuild-fleet.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-apigatewayv2-integration.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-globalcluster.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-space.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-lambda-eventsourcemapping.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-cluster.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-clustersubnetgroup.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-eventsubscription.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-scheduledaction.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-codebuild-fleet.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-location-geofencecollection.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-msk-replicator.json
diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
index f86461c4a5..5b5eee7fb8 100644
--- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
@@ -1 +1 @@
-{"etag": "\"6ce3e5d1d6ea0d8df907c30d4578c334\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"7c0b9c6f511036e991d7e40f85391411\"", "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 1ccb3d0615..864a9b6332 100644
--- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
@@ -1 +1 @@
-{"etag": "\"8fd780fa4fb249f047ee40f9e23b58d3\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"}
+{"etag": "\"e4d1f70dd22872888b320e36f34df947\"", "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 5bf25a9e84..cffc2ef6d9 100644
--- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
@@ -1 +1 @@
-{"etag": "\"b0ea00ff81529c43c1bc2dddec8d190c\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"4879fd3de9f6bee2465d0eb4e3a6c813\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
index 57fbd46400..6f72df94a3 100644
--- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
@@ -1 +1 @@
-{"etag": "\"6a4c323a3703fe7109e3412f281fa1d5\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"447687aaeadf9edf586a863e4c49afad\"", "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 411066dda5..218afb1f52 100644
--- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
@@ -1 +1 @@
-{"etag": "\"1e97ee22f19c523e6d5e89f5f23fd451\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"f74ae18f25b1f025e975319955569e26\"", "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 dc1b9d7bc4..a4506a2157 100644
--- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
@@ -1 +1 @@
-{"etag": "\"88f78da13b19f036e71beb77bfe910be\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"cb72aa4864919b7dbc40c3379b69e317\"", "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 f84041688e..fe791456a7 100644
--- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
@@ -1 +1 @@
-{"etag": "\"4ee12757f0bb3ccc8fab7cc9fe902fa6\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"}
+{"etag": "\"c9cb9478d36742ec912394296a4d2095\"", "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 ff2a5a0d0e..04be8c1fc5 100644
--- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
@@ -1 +1 @@
-{"etag": "\"80160e5c817569ba21da6099b297a3c0\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"00bd6b3f2042a03b83ccfa0f1efef573\"", "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 5c533a79d4..5f000345ca 100644
--- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
@@ -1 +1 @@
-{"etag": "\"9c40b422d08b193008bbc87734d8299c\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"e8f6a5fd77e9a94a23f4d1f00472c06c\"", "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 235db719ed..784e4c929d 100644
--- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
@@ -1 +1 @@
-{"etag": "\"f85e25513f88dc15729c024fee81b646\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"dd0c5ad34a89c1f79a0d1dd42beb4fc7\"", "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 26060d4844..5d305a948f 100644
--- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
@@ -1 +1 @@
-{"etag": "\"a6385715d51782a9e21d95886d894bef\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"98ee7de715eaabfc83c390c8e61706d5\"", "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 412e38758c..112aa7b17c 100644
--- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
@@ -1 +1 @@
-{"etag": "\"d176ea1d54f5b58810fb9dcbb357daca\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"4c0dd5f4dd070e00881cc8e578bb64c4\"", "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 e0ed3ca5ea..2589f07001 100644
--- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
@@ -1 +1 @@
-{"etag": "\"99e830b68eaf596144bd1a33ff4afc4b\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"4771fdc9cdcb9069be4c611c08ffb80b\"", "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 e353730d38..9766b21dbb 100644
--- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
@@ -1 +1 @@
-{"etag": "\"b41b991c0eca5247a9235256ad0ca4ed\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"9f9e0eec63180e935ced8e4e10bd27a7\"", "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 e7adbfde42..0af1f8b3d9 100644
--- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
@@ -1 +1 @@
-{"etag": "\"0dfb7d115d88661164d5bc1c913949b2\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"ec231c86e3a63c803e427d1b96977854\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
index 5e492fe5fd..c255469930 100644
--- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
@@ -1 +1 @@
-{"etag": "\"d5e3b0a1731d2304213d657191c3a3ee\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"31e431d4e5d3820756b4eb459d352988\"", "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 743d21db63..b4b3b6ae54 100644
--- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
@@ -1 +1 @@
-{"etag": "\"4a47b649b53ab2fe52f7445b6c36cf51\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"1ad1bfb5b13b30aa88f3018b4f227f5e\"", "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 251855ac68..ec960132fc 100644
--- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
@@ -1 +1 @@
-{"etag": "\"6ebe0cc9bc33522131e9c3516e0ed8be\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"04f05232bd5960f6d450e8a3e9f26a3f\"", "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 ef7af236f5..b99748c31d 100644
--- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
@@ -1 +1 @@
-{"etag": "\"b994c14e01743c09542f14bb5451546b\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"ae86df8d95132b851e02fe4f22bf5f56\"", "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 0cfaaa9afa..c78cea0900 100644
--- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
@@ -1 +1 @@
-{"etag": "\"37eca843556e041a27a348e4830b4ec1\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"dbddb7f935546ee8440d9e517c7e741e\"", "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 3a251cfeeb..93e2907cfa 100644
--- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
@@ -1 +1 @@
-{"etag": "\"746a55b5d4e349ceb159d1c443e3b002\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"50a853cf312ff6ae30230be81dc43b90\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
index 329cde8b55..f6311f687c 100644
--- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
@@ -1 +1 @@
-{"etag": "\"2e9d9ff8d5ddb3a91fca787acf0c47d2\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"51699645c067317ab0e0aa2092662fb0\"", "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 a1befd179a..e4794a2a4e 100644
--- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
@@ -1 +1 @@
-{"etag": "\"448a8a085e9b665cbe8c0f0154c1257e\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"3c65f0bd0f526c78cb0bed886ed4ff42\"", "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 de807273f3..7ceb93e384 100644
--- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
@@ -1 +1 @@
-{"etag": "\"7110bdbbe709b44197a37d40602fbf3f\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"48c5d8804127ccc7fd5ba47befcb9d37\"", "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 1458dcbbe2..91c8b31663 100644
--- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
@@ -1 +1 @@
-{"etag": "\"f5604f5f9d0ee4a93ad1c29d0613a601\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"3744eb64f3aa4ddb4f9f794dd34bfaa2\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
index 9d53816967..622a85cb16 100644
--- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
@@ -1 +1 @@
-{"etag": "\"f044c92500dd3925e37745d4ffda4f1e\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"dd64ad881332f142da95140ac0d848fc\"", "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 ff7c72c1f4..3f924b610f 100644
--- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
@@ -1 +1 @@
-{"etag": "\"f2ac4d8be8389b7813f29923fc15d9f3\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"04ad3c41185892164ab33491b21a9053\"", "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 0d1196cc92..ce1ab87c5d 100644
--- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
@@ -1 +1 @@
-{"etag": "\"3bd47d6ea7b7e569450c0f35b52f96b4\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"597d3c757bbc96b7062c933bba48d7d6\"", "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 6b1526e91d..5288aa1b02 100644
--- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
@@ -1 +1 @@
-{"etag": "\"3461570e56d9a00c6b7e10a850527b6f\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"19a83cc0b8e2b5fd6f58459111bf6dd8\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_domain/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_domain/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_domain/applifecyclemanagement.json b/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_domain/applifecyclemanagement.json
new file mode 100644
index 0000000000..9af60fee8a
--- /dev/null
+++ b/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_domain/applifecyclemanagement.json
@@ -0,0 +1,10 @@
+[
+ {
+ "op": "remove",
+ "path": "/definitions/CodeEditorAppSettings/properties/AppLifecycleManagement"
+ },
+ {
+ "op": "remove",
+ "path": "/definitions/JupyterLabAppSettings/properties/AppLifecycleManagement"
+ }
+]
diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_space/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_space/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_space/applifecyclemanagement.json b/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_space/applifecyclemanagement.json
new file mode 100644
index 0000000000..2b5b2112bd
--- /dev/null
+++ b/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_space/applifecyclemanagement.json
@@ -0,0 +1,10 @@
+[
+ {
+ "op": "remove",
+ "path": "/definitions/SpaceCodeEditorAppSettings/properties/AppLifecycleManagement"
+ },
+ {
+ "op": "remove",
+ "path": "/definitions/SpaceJupyterLabAppSettings/properties/AppLifecycleManagement"
+ }
+]
diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_userprofile/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_userprofile/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_userprofile/applifecyclemanagement.json b/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_userprofile/applifecyclemanagement.json
new file mode 100644
index 0000000000..9af60fee8a
--- /dev/null
+++ b/src/cfnlint/data/schemas/patches/providers/all/aws_sagemaker_userprofile/applifecyclemanagement.json
@@ -0,0 +1,10 @@
+[
+ {
+ "op": "remove",
+ "path": "/definitions/CodeEditorAppSettings/properties/AppLifecycleManagement"
+ },
+ {
+ "op": "remove",
+ "path": "/definitions/JupyterLabAppSettings/properties/AppLifecycleManagement"
+ }
+]
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 c699019569..3072a49ed5 100644
--- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
@@ -838,6 +838,7 @@
"aws-apigatewayv2-authorizer.json",
"aws-apigatewayv2-deployment.json",
"aws-apigatewayv2-domainname.json",
+ "aws-apigatewayv2-integration.json",
"aws-apigatewayv2-integrationresponse.json",
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
@@ -1373,6 +1374,7 @@
"aws-rds-dbsecuritygroupingress.json",
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
+ "aws-rds-globalcluster.json",
"aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-integration.json
deleted file mode 100644
index e7b7290e95..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-integration.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ApiId"
- ],
- "definitions": {
- "TlsConfig": {
- "additionalProperties": false,
- "properties": {
- "ServerNameToVerify": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "ApiId": {
- "type": "string"
- },
- "ConnectionId": {
- "type": "string"
- },
- "ConnectionType": {
- "type": "string"
- },
- "ContentHandlingStrategy": {
- "type": "string"
- },
- "CredentialsArn": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "IntegrationMethod": {
- "type": "string"
- },
- "IntegrationSubtype": {
- "type": "string"
- },
- "IntegrationType": {
- "type": "string"
- },
- "IntegrationUri": {
- "type": "string"
- },
- "PassthroughBehavior": {
- "type": "string"
- },
- "PayloadFormatVersion": {
- "type": "string"
- },
- "RequestParameters": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "RequestTemplates": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "ResponseParameters": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "TemplateSelectionExpression": {
- "type": "string"
- },
- "TimeoutInMillis": {
- "type": "integer"
- },
- "TlsConfig": {
- "$ref": "#/definitions/TlsConfig"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "ApiId",
- "IntegrationType"
- ],
- "typeName": "AWS::ApiGatewayV2::Integration"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-globalcluster.json
deleted file mode 100644
index 9cf0aaadab..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-globalcluster.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GlobalClusterIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/Engine"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "rds:CreateGlobalCluster",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters"
- ]
- },
- "delete": {
- "permissions": [
- "rds:DescribeGlobalClusters",
- "rds:DeleteGlobalCluster",
- "rds:RemoveFromGlobalCluster",
- "rds:DescribeDBClusters"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeGlobalClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeGlobalClusters"
- ]
- },
- "update": {
- "permissions": [
- "rds:ModifyGlobalCluster",
- "rds:DescribeGlobalClusters"
- ]
- }
- },
- "oneOf": [
- {
- "required": [
- "SourceDBClusterIdentifier"
- ]
- },
- {
- "required": [
- "Engine"
- ]
- }
- ],
- "primaryIdentifier": [
- "/properties/GlobalClusterIdentifier"
- ],
- "properties": {
- "DeletionProtection": {
- "type": "boolean"
- },
- "Engine": {
- "enum": [
- "aurora",
- "aurora-mysql",
- "aurora-postgresql"
- ],
- "type": "string"
- },
- "EngineLifecycleSupport": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "GlobalClusterIdentifier": {
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "oneOf": [
- {
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$"
- },
- {
- "pattern": "^(?=.{40,128}$)arn.*"
- }
- ],
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- }
- },
- "propertyTransform": {
- "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)"
- },
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds",
- "typeName": "AWS::RDS::GlobalCluster"
-}
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 d994b3d476..daf243c02e 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py
@@ -1777,6 +1777,7 @@
"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",
@@ -1965,6 +1966,7 @@
"aws-lightsail-loadbalancer.json",
"aws-lightsail-loadbalancertlscertificate.json",
"aws-lightsail-staticip.json",
+ "aws-location-apikey.json",
"aws-location-geofencecollection.json",
"aws-location-map.json",
"aws-location-placeindex.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-database.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-database.json
deleted file mode 100644
index 6e618ae270..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-database.json
+++ /dev/null
@@ -1,117 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/CatalogId"
- ],
- "definitions": {
- "DataLakePrincipal": {
- "additionalProperties": false,
- "properties": {
- "DataLakePrincipalIdentifier": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "DatabaseIdentifier": {
- "additionalProperties": false,
- "properties": {
- "CatalogId": {
- "type": "string"
- },
- "DatabaseName": {
- "type": "string"
- },
- "Region": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "DatabaseInput": {
- "additionalProperties": false,
- "properties": {
- "CreateTableDefaultPermissions": {
- "items": {
- "$ref": "#/definitions/PrincipalPrivileges"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Description": {
- "type": "string"
- },
- "FederatedDatabase": {
- "$ref": "#/definitions/FederatedDatabase"
- },
- "LocationUri": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "Parameters": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "TargetDatabase": {
- "$ref": "#/definitions/DatabaseIdentifier"
- }
- },
- "type": "object"
- },
- "FederatedDatabase": {
- "additionalProperties": false,
- "properties": {
- "ConnectionName": {
- "type": "string"
- },
- "Identifier": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "PrincipalPrivileges": {
- "additionalProperties": false,
- "properties": {
- "Permissions": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Principal": {
- "$ref": "#/definitions/DataLakePrincipal"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "CatalogId": {
- "type": "string"
- },
- "DatabaseInput": {
- "$ref": "#/definitions/DatabaseInput"
- },
- "Id": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "DatabaseInput",
- "CatalogId"
- ],
- "typeName": "AWS::Glue::Database"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-location-apikey.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-location-apikey.json
deleted file mode 100644
index b41c88be08..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-location-apikey.json
+++ /dev/null
@@ -1,226 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/KeyName"
- ],
- "definitions": {
- "ApiKeyRestrictions": {
- "additionalProperties": false,
- "properties": {
- "AllowActions": {
- "insertionOrder": false,
- "items": {
- "maxLength": 200,
- "minLength": 5,
- "pattern": "^geo:\\w*\\*?$",
- "type": "string"
- },
- "maxItems": 7,
- "minItems": 1,
- "type": "array"
- },
- "AllowReferers": {
- "insertionOrder": false,
- "items": {
- "maxLength": 253,
- "pattern": "^([$\\-._+!*`(),;/?:@=&\\w]|%([0-9a-fA-F?]{2}|[0-9a-fA-F?]?[*]))+$",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 1,
- "type": "array"
- },
- "AllowResources": {
- "insertionOrder": false,
- "items": {
- "maxLength": 1600,
- "pattern": "(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\*)|([-a-z]+[/][*-._\\w]+))$)|(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):(geo-routes|geo-places|geo-maps)(:((\\*)|([a-z0-9]+([.-][a-z0-9]+)*)))::((provider[\\/][*-._\\w]+))$)",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 1,
- "type": "array"
- }
- },
- "required": [
- "AllowActions",
- "AllowResources"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[a-zA-Z+-=._:/]+$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "pattern": "^[A-Za-z0-9 _=@:.+-/]*$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TagMap": {
- "additionalProperties": false,
- "maxProperties": 50,
- "patternProperties": {
- "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$": {
- "maxLength": 256,
- "minLength": 0,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "iso8601UTC": {
- "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$",
- "type": "string"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "geo:CreateKey",
- "geo:DescribeKey",
- "geo:TagResource",
- "geo:UntagResource",
- "geo:GetMapTile",
- "geo:GetMapStyleDescriptor",
- "geo:GetMapSprites",
- "geo:GetMapGlyphs",
- "geo:SearchPlaceIndexForText",
- "geo:SearchPlaceIndexForPosition",
- "geo:SearchPlaceIndexForSuggestions",
- "geo:GetPlace",
- "geo:CalculateRoute",
- "geo:CalculateRouteMatrix"
- ]
- },
- "delete": {
- "permissions": [
- "geo:DeleteKey",
- "geo:DescribeKey"
- ]
- },
- "list": {
- "permissions": [
- "geo:ListKeys"
- ]
- },
- "read": {
- "permissions": [
- "geo:DescribeKey"
- ]
- },
- "update": {
- "permissions": [
- "geo:CreateKey",
- "geo:DescribeKey",
- "geo:TagResource",
- "geo:UntagResource",
- "geo:GetMapTile",
- "geo:GetMapStyleDescriptor",
- "geo:GetMapSprites",
- "geo:GetMapGlyphs",
- "geo:SearchPlaceIndexForText",
- "geo:SearchPlaceIndexForPosition",
- "geo:SearchPlaceIndexForSuggestions",
- "geo:GetPlace",
- "geo:CalculateRoute",
- "geo:CalculateRouteMatrix",
- "geo:UpdateKey"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/KeyName"
- ],
- "properties": {
- "Arn": {
- "maxLength": 1600,
- "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
- "type": "string"
- },
- "CreateTime": {
- "$ref": "#/definitions/iso8601UTC"
- },
- "Description": {
- "maxLength": 1000,
- "minLength": 0,
- "type": "string"
- },
- "ExpireTime": {
- "$ref": "#/definitions/iso8601UTC"
- },
- "ForceDelete": {
- "type": "boolean"
- },
- "ForceUpdate": {
- "type": "boolean"
- },
- "KeyArn": {
- "maxLength": 1600,
- "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
- "type": "string"
- },
- "KeyName": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^[-._\\w]+$",
- "type": "string"
- },
- "NoExpiry": {
- "type": "boolean"
- },
- "Restrictions": {
- "$ref": "#/definitions/ApiKeyRestrictions"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "UpdateTime": {
- "$ref": "#/definitions/iso8601UTC"
- }
- },
- "readOnlyProperties": [
- "/properties/CreateTime",
- "/properties/Arn",
- "/properties/KeyArn",
- "/properties/UpdateTime"
- ],
- "required": [
- "KeyName",
- "Restrictions"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Location::APIKey",
- "writeOnlyProperties": [
- "/properties/ForceUpdate",
- "/properties/ForceDelete",
- "/properties/NoExpiry"
- ]
-}
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 49f29c92cb..e195aac039 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py
@@ -802,6 +802,7 @@
"aws-ec2-prefixlist.json",
"aws-ec2-route.json",
"aws-ec2-routetable.json",
+ "aws-ec2-securitygroup.json",
"aws-ec2-securitygroupegress.json",
"aws-ec2-securitygroupingress.json",
"aws-ec2-snapshotblockpublicaccess.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-securitygroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-securitygroup.json
deleted file mode 100644
index 6713650d36..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-securitygroup.json
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GroupDescription",
- "/properties/GroupName",
- "/properties/VpcId"
- ],
- "definitions": {
- "Egress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "DestinationPrefixListId": {
- "type": "string"
- },
- "DestinationSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "DestinationSecurityGroupId",
- "DestinationPrefixListId"
- ],
- "type": "object"
- },
- "Ingress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "SourcePrefixListId": {
- "type": "string"
- },
- "SourceSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "SourceSecurityGroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "SourceSecurityGroupOwnerId": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "SourcePrefixListId",
- "SourceSecurityGroupId",
- "SourceSecurityGroupName"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "dependentRequired": {
- "SecurityGroupEgress": [
- "VpcId"
- ]
- },
- "handlers": {
- "create": {
- "permissions": [
- "ec2:CreateSecurityGroup",
- "ec2:DescribeSecurityGroups",
- "ec2:RevokeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DeleteSecurityGroup",
- "ec2:DescribeInstances"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "update": {
- "permissions": [
- "ec2:RevokeSecurityGroupEgress",
- "ec2:RevokeSecurityGroupIngress",
- "ec2:DescribeSecurityGroups",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags",
- "ec2:DeleteTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "GroupDescription": {
- "maxLength": 255,
- "minLength": 0,
- "pattern": "^([a-z,A-Z,0-9,. _\\-:/()#,@[\\]+=&;\\{\\}!$*])*$",
- "type": "string"
- },
- "GroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "GroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "SecurityGroupEgress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Egress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SecurityGroupIngress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Ingress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "VpcId": {
- "format": "AWS::EC2::VPC.Id",
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/SecurityGroupEgress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupEgress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupEgress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)",
- "/properties/SecurityGroupIngress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupIngress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupIngress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)"
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/GroupId"
- ],
- "required": [
- "GroupDescription"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::EC2::SecurityGroup",
- "writeOnlyProperties": [
- "/properties/SecurityGroupIngress/*/SourceSecurityGroupName"
- ]
-}
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 312a51fe7f..1354eeef7a 100644
--- a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py
@@ -1009,6 +1009,7 @@
"aws-apigatewayv2-authorizer.json",
"aws-apigatewayv2-deployment.json",
"aws-apigatewayv2-domainname.json",
+ "aws-apigatewayv2-integration.json",
"aws-apigatewayv2-integrationresponse.json",
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
@@ -1271,6 +1272,7 @@
"aws-ec2-prefixlist.json",
"aws-ec2-route.json",
"aws-ec2-routetable.json",
+ "aws-ec2-securitygroup.json",
"aws-ec2-securitygroupegress.json",
"aws-ec2-securitygroupingress.json",
"aws-ec2-snapshotblockpublicaccess.json",
@@ -1427,6 +1429,7 @@
"aws-iam-group.json",
"aws-iam-grouppolicy.json",
"aws-iam-instanceprofile.json",
+ "aws-iam-managedpolicy.json",
"aws-iam-oidcprovider.json",
"aws-iam-policy.json",
"aws-iam-role.json",
@@ -1661,6 +1664,7 @@
"aws-rds-dbsecuritygroupingress.json",
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
+ "aws-rds-globalcluster.json",
"aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-apigatewayv2-integration.json
deleted file mode 100644
index e7b7290e95..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-apigatewayv2-integration.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ApiId"
- ],
- "definitions": {
- "TlsConfig": {
- "additionalProperties": false,
- "properties": {
- "ServerNameToVerify": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "ApiId": {
- "type": "string"
- },
- "ConnectionId": {
- "type": "string"
- },
- "ConnectionType": {
- "type": "string"
- },
- "ContentHandlingStrategy": {
- "type": "string"
- },
- "CredentialsArn": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "IntegrationMethod": {
- "type": "string"
- },
- "IntegrationSubtype": {
- "type": "string"
- },
- "IntegrationType": {
- "type": "string"
- },
- "IntegrationUri": {
- "type": "string"
- },
- "PassthroughBehavior": {
- "type": "string"
- },
- "PayloadFormatVersion": {
- "type": "string"
- },
- "RequestParameters": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "RequestTemplates": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "ResponseParameters": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "TemplateSelectionExpression": {
- "type": "string"
- },
- "TimeoutInMillis": {
- "type": "integer"
- },
- "TlsConfig": {
- "$ref": "#/definitions/TlsConfig"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "ApiId",
- "IntegrationType"
- ],
- "typeName": "AWS::ApiGatewayV2::Integration"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-securitygroup.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-securitygroup.json
deleted file mode 100644
index 6713650d36..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-securitygroup.json
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GroupDescription",
- "/properties/GroupName",
- "/properties/VpcId"
- ],
- "definitions": {
- "Egress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "DestinationPrefixListId": {
- "type": "string"
- },
- "DestinationSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "DestinationSecurityGroupId",
- "DestinationPrefixListId"
- ],
- "type": "object"
- },
- "Ingress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "SourcePrefixListId": {
- "type": "string"
- },
- "SourceSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "SourceSecurityGroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "SourceSecurityGroupOwnerId": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "SourcePrefixListId",
- "SourceSecurityGroupId",
- "SourceSecurityGroupName"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "dependentRequired": {
- "SecurityGroupEgress": [
- "VpcId"
- ]
- },
- "handlers": {
- "create": {
- "permissions": [
- "ec2:CreateSecurityGroup",
- "ec2:DescribeSecurityGroups",
- "ec2:RevokeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DeleteSecurityGroup",
- "ec2:DescribeInstances"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "update": {
- "permissions": [
- "ec2:RevokeSecurityGroupEgress",
- "ec2:RevokeSecurityGroupIngress",
- "ec2:DescribeSecurityGroups",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags",
- "ec2:DeleteTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "GroupDescription": {
- "maxLength": 255,
- "minLength": 0,
- "pattern": "^([a-z,A-Z,0-9,. _\\-:/()#,@[\\]+=&;\\{\\}!$*])*$",
- "type": "string"
- },
- "GroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "GroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "SecurityGroupEgress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Egress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SecurityGroupIngress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Ingress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "VpcId": {
- "format": "AWS::EC2::VPC.Id",
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/SecurityGroupEgress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupEgress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupEgress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)",
- "/properties/SecurityGroupIngress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupIngress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupIngress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)"
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/GroupId"
- ],
- "required": [
- "GroupDescription"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::EC2::SecurityGroup",
- "writeOnlyProperties": [
- "/properties/SecurityGroupIngress/*/SourceSecurityGroupName"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-iam-managedpolicy.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-iam-managedpolicy.json
deleted file mode 100644
index f913eca461..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-iam-managedpolicy.json
+++ /dev/null
@@ -1,147 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ManagedPolicyName",
- "/properties/Description",
- "/properties/Path"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "iam:CreatePolicy",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- },
- "delete": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:DeletePolicyVersion",
- "iam:DeletePolicy",
- "iam:ListEntitiesForPolicy"
- ]
- },
- "list": {
- "permissions": [
- "iam:ListPolicies"
- ]
- },
- "read": {
- "permissions": [
- "iam:GetPolicy",
- "iam:ListEntitiesForPolicy",
- "iam:GetPolicyVersion"
- ]
- },
- "update": {
- "permissions": [
- "iam:DetachRolePolicy",
- "iam:GetPolicy",
- "iam:ListPolicyVersions",
- "iam:DetachGroupPolicy",
- "iam:DetachUserPolicy",
- "iam:CreatePolicyVersion",
- "iam:DeletePolicyVersion",
- "iam:AttachGroupPolicy",
- "iam:AttachUserPolicy",
- "iam:AttachRolePolicy"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/PolicyArn"
- ],
- "properties": {
- "AttachmentCount": {
- "type": "integer"
- },
- "CreateDate": {
- "type": "string"
- },
- "DefaultVersionId": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Groups": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "IsAttachable": {
- "type": "boolean"
- },
- "ManagedPolicyName": {
- "type": "string"
- },
- "Path": {
- "pattern": "^/(.+/)*$",
- "type": "string"
- },
- "PermissionsBoundaryUsageCount": {
- "type": "integer"
- },
- "PolicyArn": {
- "type": "string"
- },
- "PolicyDocument": {
- "maxLength": 6144,
- "type": [
- "object",
- "string"
- ]
- },
- "PolicyId": {
- "type": "string"
- },
- "Roles": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- },
- "UpdateDate": {
- "type": "string"
- },
- "Users": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/PolicyArn",
- "/properties/AttachmentCount",
- "/properties/CreateDate",
- "/properties/DefaultVersionId",
- "/properties/IsAttachable",
- "/properties/PermissionsBoundaryUsageCount",
- "/properties/PolicyId",
- "/properties/UpdateDate"
- ],
- "required": [
- "PolicyDocument"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iam",
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "taggable": false
- },
- "typeName": "AWS::IAM::ManagedPolicy"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-globalcluster.json
deleted file mode 100644
index 9cf0aaadab..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-globalcluster.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GlobalClusterIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/Engine"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "rds:CreateGlobalCluster",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters"
- ]
- },
- "delete": {
- "permissions": [
- "rds:DescribeGlobalClusters",
- "rds:DeleteGlobalCluster",
- "rds:RemoveFromGlobalCluster",
- "rds:DescribeDBClusters"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeGlobalClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeGlobalClusters"
- ]
- },
- "update": {
- "permissions": [
- "rds:ModifyGlobalCluster",
- "rds:DescribeGlobalClusters"
- ]
- }
- },
- "oneOf": [
- {
- "required": [
- "SourceDBClusterIdentifier"
- ]
- },
- {
- "required": [
- "Engine"
- ]
- }
- ],
- "primaryIdentifier": [
- "/properties/GlobalClusterIdentifier"
- ],
- "properties": {
- "DeletionProtection": {
- "type": "boolean"
- },
- "Engine": {
- "enum": [
- "aurora",
- "aurora-mysql",
- "aurora-postgresql"
- ],
- "type": "string"
- },
- "EngineLifecycleSupport": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "GlobalClusterIdentifier": {
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "oneOf": [
- {
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$"
- },
- {
- "pattern": "^(?=.{40,128}$)arn.*"
- }
- ],
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- }
- },
- "propertyTransform": {
- "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)"
- },
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds",
- "typeName": "AWS::RDS::GlobalCluster"
-}
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 8f800419fb..dd9efb7d30 100644
--- a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py
@@ -832,6 +832,7 @@
"aws-apigatewayv2-authorizer.json",
"aws-apigatewayv2-deployment.json",
"aws-apigatewayv2-domainname.json",
+ "aws-apigatewayv2-integration.json",
"aws-apigatewayv2-integrationresponse.json",
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
@@ -1057,6 +1058,7 @@
"aws-ec2-prefixlist.json",
"aws-ec2-route.json",
"aws-ec2-routetable.json",
+ "aws-ec2-securitygroup.json",
"aws-ec2-securitygroupegress.json",
"aws-ec2-securitygroupingress.json",
"aws-ec2-snapshotblockpublicaccess.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-apigatewayv2-integration.json
deleted file mode 100644
index e7b7290e95..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-apigatewayv2-integration.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ApiId"
- ],
- "definitions": {
- "TlsConfig": {
- "additionalProperties": false,
- "properties": {
- "ServerNameToVerify": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "ApiId": {
- "type": "string"
- },
- "ConnectionId": {
- "type": "string"
- },
- "ConnectionType": {
- "type": "string"
- },
- "ContentHandlingStrategy": {
- "type": "string"
- },
- "CredentialsArn": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "IntegrationMethod": {
- "type": "string"
- },
- "IntegrationSubtype": {
- "type": "string"
- },
- "IntegrationType": {
- "type": "string"
- },
- "IntegrationUri": {
- "type": "string"
- },
- "PassthroughBehavior": {
- "type": "string"
- },
- "PayloadFormatVersion": {
- "type": "string"
- },
- "RequestParameters": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "RequestTemplates": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "ResponseParameters": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "TemplateSelectionExpression": {
- "type": "string"
- },
- "TimeoutInMillis": {
- "type": "integer"
- },
- "TlsConfig": {
- "$ref": "#/definitions/TlsConfig"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "ApiId",
- "IntegrationType"
- ],
- "typeName": "AWS::ApiGatewayV2::Integration"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-securitygroup.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-securitygroup.json
deleted file mode 100644
index 6713650d36..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-securitygroup.json
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GroupDescription",
- "/properties/GroupName",
- "/properties/VpcId"
- ],
- "definitions": {
- "Egress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "DestinationPrefixListId": {
- "type": "string"
- },
- "DestinationSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "DestinationSecurityGroupId",
- "DestinationPrefixListId"
- ],
- "type": "object"
- },
- "Ingress": {
- "additionalProperties": false,
- "properties": {
- "CidrIp": {
- "type": "string"
- },
- "CidrIpv6": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "FromPort": {
- "minimum": -1,
- "type": "integer"
- },
- "IpProtocol": {
- "type": "string"
- },
- "SourcePrefixListId": {
- "type": "string"
- },
- "SourceSecurityGroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "SourceSecurityGroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "SourceSecurityGroupOwnerId": {
- "type": "string"
- },
- "ToPort": {
- "minimum": -1,
- "type": "integer"
- }
- },
- "required": [
- "IpProtocol"
- ],
- "requiredXor": [
- "CidrIp",
- "CidrIpv6",
- "SourcePrefixListId",
- "SourceSecurityGroupId",
- "SourceSecurityGroupName"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "dependentRequired": {
- "SecurityGroupEgress": [
- "VpcId"
- ]
- },
- "handlers": {
- "create": {
- "permissions": [
- "ec2:CreateSecurityGroup",
- "ec2:DescribeSecurityGroups",
- "ec2:RevokeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DeleteSecurityGroup",
- "ec2:DescribeInstances"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeSecurityGroups"
- ]
- },
- "update": {
- "permissions": [
- "ec2:RevokeSecurityGroupEgress",
- "ec2:RevokeSecurityGroupIngress",
- "ec2:DescribeSecurityGroups",
- "ec2:AuthorizeSecurityGroupEgress",
- "ec2:AuthorizeSecurityGroupIngress",
- "ec2:CreateTags",
- "ec2:DeleteTags"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "GroupDescription": {
- "maxLength": 255,
- "minLength": 0,
- "pattern": "^([a-z,A-Z,0-9,. _\\-:/()#,@[\\]+=&;\\{\\}!$*])*$",
- "type": "string"
- },
- "GroupId": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "type": "string"
- },
- "GroupName": {
- "format": "AWS::EC2::SecurityGroup.GroupName",
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "SecurityGroupEgress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Egress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SecurityGroupIngress": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Ingress"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "VpcId": {
- "format": "AWS::EC2::VPC.Id",
- "type": "string"
- }
- },
- "propertyTransform": {
- "/properties/SecurityGroupEgress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupEgress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupEgress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)",
- "/properties/SecurityGroupIngress/*/FromPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? FromPort : -1)",
- "/properties/SecurityGroupIngress/*/IpProtocol": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$mapVal ? $mapVal : $lowercase(IpProtocol))",
- "/properties/SecurityGroupIngress/*/ToPort": "($mapVal := $lookup({'1': 'icmp','6': 'tcp','17': 'udp','58': 'icmpv6'}, IpProtocol);$ipProtocol := $mapVal ? $mapVal : $lowercase(IpProtocol);$ipProtocol in ['imcp', 'tcp', 'udp', 'imcp'] ? ToPort : -1)"
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/GroupId"
- ],
- "required": [
- "GroupDescription"
- ],
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::EC2::SecurityGroup",
- "writeOnlyProperties": [
- "/properties/SecurityGroupIngress/*/SourceSecurityGroupName"
- ]
-}
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 fbf57b3771..b79281f618 100644
--- a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py
@@ -1423,7 +1423,6 @@
"aws-codeartifact-domain.json",
"aws-codeartifact-packagegroup.json",
"aws-codeartifact-repository.json",
- "aws-codebuild-fleet.json",
"aws-codebuild-project.json",
"aws-codebuild-reportgroup.json",
"aws-codebuild-sourcecredential.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-codebuild-fleet.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-codebuild-fleet.json
new file mode 100644
index 0000000000..4c870f71c0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-codebuild-fleet.json
@@ -0,0 +1,159 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Subnets": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:CreateFleet",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:DeleteFleet"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "codebuild:ListFleets"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "codebuild:BatchGetFleets"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:UpdateFleet",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "BaseCapacity": {
+ "minimum": 1,
+ "type": "integer"
+ },
+ "ComputeType": {
+ "enum": [
+ "BUILD_GENERAL1_SMALL",
+ "BUILD_GENERAL1_MEDIUM",
+ "BUILD_GENERAL1_LARGE",
+ "BUILD_GENERAL1_2XLARGE"
+ ],
+ "type": "string"
+ },
+ "EnvironmentType": {
+ "enum": [
+ "WINDOWS_SERVER_2019_CONTAINER",
+ "WINDOWS_SERVER_2022_CONTAINER",
+ "LINUX_CONTAINER",
+ "LINUX_GPU_CONTAINER",
+ "ARM_CONTAINER",
+ "MAC_ARM"
+ ],
+ "type": "string"
+ },
+ "FleetServiceRole": {
+ "pattern": "^(?:arn:)[a-zA-Z+-=,._:/@]+$",
+ "type": "string"
+ },
+ "FleetVpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ },
+ "ImageId": {
+ "pattern": "^((aws/codebuild/[A-Za-z-]+:[0-9]+(-[0-9._]+)?)|ami-[a-z0-9]{1,1020})$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 2,
+ "type": "string"
+ },
+ "OverflowBehavior": {
+ "enum": [
+ "QUEUE",
+ "ON_DEMAND"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CodeBuild::Fleet"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-msk-replicator.json
index 442dc3b3a8..19aeafdd58 100644
--- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-msk-replicator.json
+++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-msk-replicator.json
@@ -9,8 +9,7 @@
"/properties/ReplicatorName",
"/properties/Description",
"/properties/KafkaClusters",
- "/properties/ServiceExecutionRoleArn",
- "/properties/ReplicationInfoList/*/TopicReplication/StartingPosition/Type"
+ "/properties/ServiceExecutionRoleArn"
],
"definitions": {
"AmazonMskCluster": {
@@ -164,6 +163,23 @@
],
"type": "string"
},
+ "ReplicationTopicNameConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationTopicNameConfigurationType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationTopicNameConfigurationType": {
+ "enum": [
+ "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS",
+ "IDENTICAL"
+ ],
+ "type": "string"
+ },
"Tag": {
"additionalProperties": false,
"properties": {
@@ -198,6 +214,9 @@
"StartingPosition": {
"$ref": "#/definitions/ReplicationStartingPosition"
},
+ "TopicNameConfiguration": {
+ "$ref": "#/definitions/ReplicationTopicNameConfiguration"
+ },
"TopicsToExclude": {
"insertionOrder": false,
"items": {
@@ -340,6 +359,11 @@
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
"tagging": {
"cloudFormationSystemTags": true,
+ "permissions": [
+ "kafka:UntagResource",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource"
+ ],
"tagOnCreate": true,
"tagProperty": "/properties/Tags",
"tagUpdatable": true,
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 1fc7a529ab..284c2336ad 100644
--- a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py
@@ -1178,6 +1178,7 @@
"aws-apigatewayv2-authorizer.json",
"aws-apigatewayv2-deployment.json",
"aws-apigatewayv2-domainname.json",
+ "aws-apigatewayv2-integration.json",
"aws-apigatewayv2-integrationresponse.json",
"aws-apigatewayv2-model.json",
"aws-apigatewayv2-route.json",
@@ -1981,6 +1982,7 @@
"aws-rds-dbsecuritygroupingress.json",
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
+ "aws-rds-globalcluster.json",
"aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-apigatewayv2-integration.json
deleted file mode 100644
index e7b7290e95..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-apigatewayv2-integration.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ApiId"
- ],
- "definitions": {
- "TlsConfig": {
- "additionalProperties": false,
- "properties": {
- "ServerNameToVerify": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "ApiId": {
- "type": "string"
- },
- "ConnectionId": {
- "type": "string"
- },
- "ConnectionType": {
- "type": "string"
- },
- "ContentHandlingStrategy": {
- "type": "string"
- },
- "CredentialsArn": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "IntegrationMethod": {
- "type": "string"
- },
- "IntegrationSubtype": {
- "type": "string"
- },
- "IntegrationType": {
- "type": "string"
- },
- "IntegrationUri": {
- "type": "string"
- },
- "PassthroughBehavior": {
- "type": "string"
- },
- "PayloadFormatVersion": {
- "type": "string"
- },
- "RequestParameters": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "RequestTemplates": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "ResponseParameters": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "TemplateSelectionExpression": {
- "type": "string"
- },
- "TimeoutInMillis": {
- "type": "integer"
- },
- "TlsConfig": {
- "$ref": "#/definitions/TlsConfig"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "ApiId",
- "IntegrationType"
- ],
- "typeName": "AWS::ApiGatewayV2::Integration"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-globalcluster.json
deleted file mode 100644
index 9cf0aaadab..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-globalcluster.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GlobalClusterIdentifier",
- "/properties/SourceDBClusterIdentifier",
- "/properties/StorageEncrypted",
- "/properties/Engine"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "rds:CreateGlobalCluster",
- "rds:DescribeDBClusters",
- "rds:DescribeGlobalClusters"
- ]
- },
- "delete": {
- "permissions": [
- "rds:DescribeGlobalClusters",
- "rds:DeleteGlobalCluster",
- "rds:RemoveFromGlobalCluster",
- "rds:DescribeDBClusters"
- ]
- },
- "list": {
- "permissions": [
- "rds:DescribeGlobalClusters"
- ]
- },
- "read": {
- "permissions": [
- "rds:DescribeGlobalClusters"
- ]
- },
- "update": {
- "permissions": [
- "rds:ModifyGlobalCluster",
- "rds:DescribeGlobalClusters"
- ]
- }
- },
- "oneOf": [
- {
- "required": [
- "SourceDBClusterIdentifier"
- ]
- },
- {
- "required": [
- "Engine"
- ]
- }
- ],
- "primaryIdentifier": [
- "/properties/GlobalClusterIdentifier"
- ],
- "properties": {
- "DeletionProtection": {
- "type": "boolean"
- },
- "Engine": {
- "enum": [
- "aurora",
- "aurora-mysql",
- "aurora-postgresql"
- ],
- "type": "string"
- },
- "EngineLifecycleSupport": {
- "type": "string"
- },
- "EngineVersion": {
- "type": "string"
- },
- "GlobalClusterIdentifier": {
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "SourceDBClusterIdentifier": {
- "oneOf": [
- {
- "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$"
- },
- {
- "pattern": "^(?=.{40,128}$)arn.*"
- }
- ],
- "type": "string"
- },
- "StorageEncrypted": {
- "type": "boolean"
- }
- },
- "propertyTransform": {
- "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)"
- },
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds",
- "typeName": "AWS::RDS::GlobalCluster"
-}
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 7a83cf6d5e..b0f0e5e053 100644
--- a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py
@@ -2053,6 +2053,7 @@
"aws-sagemaker-dataqualityjobdefinition.json",
"aws-sagemaker-device.json",
"aws-sagemaker-devicefleet.json",
+ "aws-sagemaker-domain.json",
"aws-sagemaker-endpoint.json",
"aws-sagemaker-endpointconfig.json",
"aws-sagemaker-featuregroup.json",
@@ -2073,7 +2074,9 @@
"aws-sagemaker-notebookinstancelifecycleconfig.json",
"aws-sagemaker-pipeline.json",
"aws-sagemaker-project.json",
+ "aws-sagemaker-space.json",
"aws-sagemaker-studiolifecycleconfig.json",
+ "aws-sagemaker-userprofile.json",
"aws-sagemaker-workteam.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json
deleted file mode 100644
index 6bda5d3e64..0000000000
--- a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json
+++ /dev/null
@@ -1,855 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AuthMode",
- "/properties/DomainName",
- "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
- "/properties/KmsKeyId",
- "/properties/VpcId",
- "/properties/Tags"
- ],
- "definitions": {
- "AppType": {
- "enum": [
- "JupyterServer",
- "TensorBoard",
- "RStudioServerPro",
- "JupyterLab",
- "CodeEditor",
- "DetailedProfiler",
- "Canvas"
- ],
- "type": "string"
- },
- "CodeEditorAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AppLifecycleManagement": {
- "$ref": "#/definitions/AppLifecycleManagement"
- },
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "CodeRepository": {
- "additionalProperties": false,
- "properties": {
- "RepositoryUrl": {
- "maxLength": 256,
- "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
- "type": "string"
- }
- },
- "required": [
- "RepositoryUrl"
- ],
- "type": "object"
- },
- "CustomFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "EFSFileSystemConfig": {
- "$ref": "#/definitions/EFSFileSystemConfig"
- }
- },
- "type": "object"
- },
- "CustomImage": {
- "additionalProperties": false,
- "properties": {
- "AppImageConfigName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "ImageName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "ImageVersionNumber": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "AppImageConfigName",
- "ImageName"
- ],
- "type": "object"
- },
- "CustomPosixUserConfig": {
- "additionalProperties": false,
- "properties": {
- "Gid": {
- "maximum": 4000000,
- "minimum": 1001,
- "type": "integer"
- },
- "Uid": {
- "maximum": 4000000,
- "minimum": 10000,
- "type": "integer"
- }
- },
- "required": [
- "Uid",
- "Gid"
- ],
- "type": "object"
- },
- "DefaultEbsStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- },
- "MaximumEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- }
- },
- "required": [
- "DefaultEbsVolumeSizeInGb",
- "MaximumEbsVolumeSizeInGb"
- ],
- "type": "object"
- },
- "DefaultSpaceSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomFileSystemConfigs": {
- "items": {
- "$ref": "#/definitions/CustomFileSystemConfig"
- },
- "maxItems": 2,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "CustomPosixUserConfig": {
- "$ref": "#/definitions/CustomPosixUserConfig"
- },
- "ExecutionRole": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "JupyterLabAppSettings": {
- "$ref": "#/definitions/JupyterLabAppSettings"
- },
- "JupyterServerAppSettings": {
- "$ref": "#/definitions/JupyterServerAppSettings"
- },
- "KernelGatewayAppSettings": {
- "$ref": "#/definitions/KernelGatewayAppSettings"
- },
- "SecurityGroups": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "SpaceStorageSettings": {
- "$ref": "#/definitions/DefaultSpaceStorageSettings"
- }
- },
- "required": [
- "ExecutionRole"
- ],
- "type": "object"
- },
- "DefaultSpaceStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsStorageSettings": {
- "$ref": "#/definitions/DefaultEbsStorageSettings"
- }
- },
- "type": "object"
- },
- "DockerSettings": {
- "additionalProperties": false,
- "properties": {
- "EnableDockerAccess": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "VpcOnlyTrustedAccounts": {
- "insertionOrder": false,
- "items": {
- "maxLength": 12,
- "minLength": 12,
- "pattern": "^\\d+$",
- "type": "string"
- },
- "maxItems": 20,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "DomainSettings": {
- "additionalProperties": false,
- "properties": {
- "DockerSettings": {
- "$ref": "#/definitions/DockerSettings"
- },
- "RStudioServerProDomainSettings": {
- "$ref": "#/definitions/RStudioServerProDomainSettings"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "EFSFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "FileSystemId": {
- "maxLength": 21,
- "minLength": 11,
- "pattern": "^(fs-[0-9a-f]{8,})$",
- "type": "string"
- },
- "FileSystemPath": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^\\/\\S*$",
- "type": "string"
- }
- },
- "required": [
- "FileSystemId"
- ],
- "type": "object"
- },
- "JupyterLabAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AppLifecycleManagement": {
- "$ref": "#/definitions/AppLifecycleManagement"
- },
- "CodeRepositories": {
- "items": {
- "$ref": "#/definitions/CodeRepository"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "JupyterServerAppSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "KernelGatewayAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "MlTools": {
- "enum": [
- "DataWrangler",
- "FeatureStore",
- "EmrClusters",
- "AutoMl",
- "Experiments",
- "Training",
- "ModelEvaluation",
- "Pipelines",
- "Models",
- "JumpStart",
- "InferenceRecommender",
- "Endpoints",
- "Projects"
- ],
- "type": "string"
- },
- "RSessionAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- }
- },
- "type": "object"
- },
- "RStudioServerProAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AccessStatus": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "UserGroup": {
- "enum": [
- "R_STUDIO_ADMIN",
- "R_STUDIO_USER"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "RStudioServerProDomainSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "DomainExecutionRoleArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "RStudioConnectUrl": {
- "pattern": "^(https:|http:|www\\.)\\S*",
- "type": "string"
- },
- "RStudioPackageManagerUrl": {
- "pattern": "^(https:|http:|www\\.)\\S*",
- "type": "string"
- }
- },
- "required": [
- "DomainExecutionRoleArn"
- ],
- "type": "object"
- },
- "ResourceSpec": {
- "additionalProperties": false,
- "properties": {
- "InstanceType": {
- "enum": [
- "system",
- "ml.t3.micro",
- "ml.t3.small",
- "ml.t3.medium",
- "ml.t3.large",
- "ml.t3.xlarge",
- "ml.t3.2xlarge",
- "ml.m5.large",
- "ml.m5.xlarge",
- "ml.m5.2xlarge",
- "ml.m5.4xlarge",
- "ml.m5.8xlarge",
- "ml.m5.12xlarge",
- "ml.m5.16xlarge",
- "ml.m5.24xlarge",
- "ml.c5.large",
- "ml.c5.xlarge",
- "ml.c5.2xlarge",
- "ml.c5.4xlarge",
- "ml.c5.9xlarge",
- "ml.c5.12xlarge",
- "ml.c5.18xlarge",
- "ml.c5.24xlarge",
- "ml.p3.2xlarge",
- "ml.p3.8xlarge",
- "ml.p3.16xlarge",
- "ml.g4dn.xlarge",
- "ml.g4dn.2xlarge",
- "ml.g4dn.4xlarge",
- "ml.g4dn.8xlarge",
- "ml.g4dn.12xlarge",
- "ml.g4dn.16xlarge",
- "ml.r5.large",
- "ml.r5.xlarge",
- "ml.r5.2xlarge",
- "ml.r5.4xlarge",
- "ml.r5.8xlarge",
- "ml.r5.12xlarge",
- "ml.r5.16xlarge",
- "ml.r5.24xlarge",
- "ml.p3dn.24xlarge",
- "ml.m5d.large",
- "ml.m5d.xlarge",
- "ml.m5d.2xlarge",
- "ml.m5d.4xlarge",
- "ml.m5d.8xlarge",
- "ml.m5d.12xlarge",
- "ml.m5d.16xlarge",
- "ml.m5d.24xlarge",
- "ml.g5.xlarge",
- "ml.g5.2xlarge",
- "ml.g5.4xlarge",
- "ml.g5.8xlarge",
- "ml.g5.12xlarge",
- "ml.g5.16xlarge",
- "ml.g5.24xlarge",
- "ml.g5.48xlarge",
- "ml.p4d.24xlarge",
- "ml.p4de.24xlarge",
- "ml.geospatial.interactive",
- "ml.trn1.2xlarge",
- "ml.trn1.32xlarge",
- "ml.trn1n.32xlarge"
- ],
- "type": "string"
- },
- "LifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "SageMakerImageArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
- "type": "string"
- },
- "SageMakerImageVersionArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SharingSettings": {
- "additionalProperties": false,
- "properties": {
- "NotebookOutputOption": {
- "enum": [
- "Allowed",
- "Disabled"
- ],
- "type": "string"
- },
- "S3KmsKeyId": {
- "maxLength": 2048,
- "pattern": ".*",
- "type": "string"
- },
- "S3OutputPath": {
- "maxLength": 1024,
- "pattern": "^(https|s3)://([^/]+)/?(.*)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SpaceEbsVolumeSizeInGb": {
- "maximum": 16384,
- "minimum": 5,
- "type": "integer"
- },
- "StudioLifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "additionalProperties": false,
- "properties": {
- "HiddenAppTypes": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/AppType"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "HiddenMlTools": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/MlTools"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "UserSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeEditorAppSettings": {
- "$ref": "#/definitions/CodeEditorAppSettings"
- },
- "CustomFileSystemConfigs": {
- "items": {
- "$ref": "#/definitions/CustomFileSystemConfig"
- },
- "maxItems": 2,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "CustomPosixUserConfig": {
- "$ref": "#/definitions/CustomPosixUserConfig"
- },
- "DefaultLandingUri": {
- "maxLength": 1023,
- "type": "string"
- },
- "ExecutionRole": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "JupyterLabAppSettings": {
- "$ref": "#/definitions/JupyterLabAppSettings"
- },
- "JupyterServerAppSettings": {
- "$ref": "#/definitions/JupyterServerAppSettings"
- },
- "KernelGatewayAppSettings": {
- "$ref": "#/definitions/KernelGatewayAppSettings"
- },
- "RSessionAppSettings": {
- "$ref": "#/definitions/RSessionAppSettings"
- },
- "RStudioServerProAppSettings": {
- "$ref": "#/definitions/RStudioServerProAppSettings"
- },
- "SecurityGroups": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "SharingSettings": {
- "$ref": "#/definitions/SharingSettings"
- },
- "SpaceStorageSettings": {
- "$ref": "#/definitions/DefaultSpaceStorageSettings"
- },
- "StudioWebPortal": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "$ref": "#/definitions/StudioWebPortalSettings"
- }
- },
- "required": [
- "ExecutionRole"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "sagemaker:CreateApp",
- "sagemaker:CreateDomain",
- "sagemaker:DescribeDomain",
- "sagemaker:DescribeImage",
- "sagemaker:DescribeImageVersion",
- "iam:CreateServiceLinkedRole",
- "iam:PassRole",
- "efs:CreateFileSystem",
- "kms:CreateGrant",
- "kms:Decrypt",
- "kms:DescribeKey",
- "kms:GenerateDataKeyWithoutPlainText"
- ]
- },
- "delete": {
- "permissions": [
- "sagemaker:DeleteApp",
- "sagemaker:DeleteDomain",
- "sagemaker:DescribeDomain"
- ]
- },
- "list": {
- "permissions": [
- "sagemaker:ListDomains"
- ]
- },
- "read": {
- "permissions": [
- "sagemaker:DescribeDomain"
- ]
- },
- "update": {
- "permissions": [
- "sagemaker:CreateApp",
- "sagemaker:UpdateDomain",
- "sagemaker:DescribeDomain",
- "sagemaker:DescribeImage",
- "sagemaker:DescribeImageVersion",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/DomainId"
- ],
- "properties": {
- "AppNetworkAccessType": {
- "enum": [
- "PublicInternetOnly",
- "VpcOnly"
- ],
- "type": "string"
- },
- "AppSecurityGroupManagement": {
- "enum": [
- "Service",
- "Customer"
- ],
- "type": "string"
- },
- "AuthMode": {
- "enum": [
- "SSO",
- "IAM"
- ],
- "type": "string"
- },
- "DefaultSpaceSettings": {
- "$ref": "#/definitions/DefaultSpaceSettings"
- },
- "DefaultUserSettings": {
- "$ref": "#/definitions/UserSettings"
- },
- "DomainArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
- "type": "string"
- },
- "DomainId": {
- "maxLength": 63,
- "pattern": "^d-(-*[a-z0-9])+",
- "type": "string"
- },
- "DomainName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "DomainSettings": {
- "$ref": "#/definitions/DomainSettings"
- },
- "HomeEfsFileSystemId": {
- "maxLength": 32,
- "type": "string"
- },
- "KmsKeyId": {
- "maxLength": 2048,
- "pattern": ".*",
- "type": "string"
- },
- "SecurityGroupIdForDomainBoundary": {
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "SingleSignOnApplicationArn": {
- "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
- "type": "string"
- },
- "SingleSignOnManagedApplicationInstanceId": {
- "maxLength": 256,
- "type": "string"
- },
- "SubnetIds": {
- "insertionOrder": false,
- "items": {
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 16,
- "minItems": 1,
- "type": "array",
- "uniqueItems": false
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "Url": {
- "maxLength": 1024,
- "type": "string"
- },
- "VpcId": {
- "format": "AWS::EC2::VPC.Id",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/DomainArn",
- "/properties/Url",
- "/properties/DomainId",
- "/properties/HomeEfsFileSystemId",
- "/properties/SecurityGroupIdForDomainBoundary",
- "/properties/SingleSignOnManagedApplicationInstanceId",
- "/properties/SingleSignOnApplicationArn"
- ],
- "required": [
- "AuthMode",
- "DefaultUserSettings",
- "DomainName",
- "SubnetIds",
- "VpcId"
- ],
- "typeName": "AWS::SageMaker::Domain",
- "writeOnlyProperties": [
- "/properties/Tags"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-space.json
deleted file mode 100644
index 918e340863..0000000000
--- a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-space.json
+++ /dev/null
@@ -1,470 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DomainId",
- "/properties/SpaceName",
- "/properties/SpaceSharingSettings",
- "/properties/OwnershipSettings"
- ],
- "definitions": {
- "AppType": {
- "enum": [
- "JupyterServer",
- "KernelGateway",
- "TensorBoard",
- "RStudioServerPro",
- "RSessionGateway",
- "JupyterLab",
- "CodeEditor"
- ],
- "type": "string"
- },
- "CodeRepository": {
- "additionalProperties": false,
- "properties": {
- "RepositoryUrl": {
- "maxLength": 256,
- "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
- "type": "string"
- }
- },
- "required": [
- "RepositoryUrl"
- ],
- "type": "object"
- },
- "CustomFileSystem": {
- "additionalProperties": false,
- "properties": {
- "EFSFileSystem": {
- "$ref": "#/definitions/EFSFileSystem"
- }
- },
- "type": "object"
- },
- "CustomFileSystems": {
- "items": {
- "$ref": "#/definitions/CustomFileSystem"
- },
- "maxItems": 1,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "CustomImage": {
- "additionalProperties": false,
- "properties": {
- "AppImageConfigName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "ImageName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "ImageVersionNumber": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "AppImageConfigName",
- "ImageName"
- ],
- "type": "object"
- },
- "EFSFileSystem": {
- "additionalProperties": false,
- "properties": {
- "FileSystemId": {
- "maxLength": 21,
- "minLength": 11,
- "pattern": "^(fs-[0-9a-f]{8,})$",
- "type": "string"
- }
- },
- "required": [
- "FileSystemId"
- ],
- "type": "object"
- },
- "EbsStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "EbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- }
- },
- "required": [
- "EbsVolumeSizeInGb"
- ],
- "type": "object"
- },
- "JupyterServerAppSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "KernelGatewayAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "OwnershipSettings": {
- "additionalProperties": false,
- "properties": {
- "OwnerUserProfileName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- }
- },
- "required": [
- "OwnerUserProfileName"
- ],
- "type": "object"
- },
- "ResourceSpec": {
- "additionalProperties": false,
- "properties": {
- "InstanceType": {
- "enum": [
- "system",
- "ml.t3.micro",
- "ml.t3.small",
- "ml.t3.medium",
- "ml.t3.large",
- "ml.t3.xlarge",
- "ml.t3.2xlarge",
- "ml.m5.large",
- "ml.m5.xlarge",
- "ml.m5.2xlarge",
- "ml.m5.4xlarge",
- "ml.m5.8xlarge",
- "ml.m5.12xlarge",
- "ml.m5.16xlarge",
- "ml.m5.24xlarge",
- "ml.c5.large",
- "ml.c5.xlarge",
- "ml.c5.2xlarge",
- "ml.c5.4xlarge",
- "ml.c5.9xlarge",
- "ml.c5.12xlarge",
- "ml.c5.18xlarge",
- "ml.c5.24xlarge",
- "ml.p3.2xlarge",
- "ml.p3.8xlarge",
- "ml.p3.16xlarge",
- "ml.g4dn.xlarge",
- "ml.g4dn.2xlarge",
- "ml.g4dn.4xlarge",
- "ml.g4dn.8xlarge",
- "ml.g4dn.12xlarge",
- "ml.g4dn.16xlarge",
- "ml.r5.large",
- "ml.r5.xlarge",
- "ml.r5.2xlarge",
- "ml.r5.4xlarge",
- "ml.r5.8xlarge",
- "ml.r5.12xlarge",
- "ml.r5.16xlarge",
- "ml.r5.24xlarge",
- "ml.p3dn.24xlarge",
- "ml.m5d.large",
- "ml.m5d.xlarge",
- "ml.m5d.2xlarge",
- "ml.m5d.4xlarge",
- "ml.m5d.8xlarge",
- "ml.m5d.12xlarge",
- "ml.m5d.16xlarge",
- "ml.m5d.24xlarge",
- "ml.g5.xlarge",
- "ml.g5.2xlarge",
- "ml.g5.4xlarge",
- "ml.g5.8xlarge",
- "ml.g5.12xlarge",
- "ml.g5.16xlarge",
- "ml.g5.24xlarge",
- "ml.g5.48xlarge",
- "ml.p4d.24xlarge",
- "ml.p4de.24xlarge",
- "ml.geospatial.interactive",
- "ml.trn1.2xlarge",
- "ml.trn1.32xlarge",
- "ml.trn1n.32xlarge"
- ],
- "type": "string"
- },
- "LifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "SageMakerImageArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
- "type": "string"
- },
- "SageMakerImageVersionArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SpaceCodeEditorAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AppLifecycleManagement": {
- "$ref": "#/definitions/SpaceAppLifecycleManagement"
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- }
- },
- "type": "object"
- },
- "SpaceEbsVolumeSizeInGb": {
- "maximum": 16384,
- "minimum": 5,
- "type": "integer"
- },
- "SpaceJupyterLabAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AppLifecycleManagement": {
- "$ref": "#/definitions/SpaceAppLifecycleManagement"
- },
- "CodeRepositories": {
- "items": {
- "$ref": "#/definitions/CodeRepository"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- }
- },
- "type": "object"
- },
- "SpaceSettings": {
- "additionalProperties": false,
- "properties": {
- "AppType": {
- "$ref": "#/definitions/AppType"
- },
- "CodeEditorAppSettings": {
- "$ref": "#/definitions/SpaceCodeEditorAppSettings"
- },
- "CustomFileSystems": {
- "$ref": "#/definitions/CustomFileSystems"
- },
- "JupyterLabAppSettings": {
- "$ref": "#/definitions/SpaceJupyterLabAppSettings"
- },
- "JupyterServerAppSettings": {
- "$ref": "#/definitions/JupyterServerAppSettings"
- },
- "KernelGatewayAppSettings": {
- "$ref": "#/definitions/KernelGatewayAppSettings"
- },
- "SpaceStorageSettings": {
- "$ref": "#/definitions/SpaceStorageSettings"
- }
- },
- "type": "object"
- },
- "SpaceSharingSettings": {
- "additionalProperties": false,
- "properties": {
- "SharingType": {
- "enum": [
- "Private",
- "Shared"
- ],
- "type": "string"
- }
- },
- "required": [
- "SharingType"
- ],
- "type": "object"
- },
- "SpaceStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "EbsStorageSettings": {
- "$ref": "#/definitions/EbsStorageSettings"
- }
- },
- "type": "object"
- },
- "StudioLifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "sagemaker:CreateSpace",
- "sagemaker:DescribeSpace"
- ]
- },
- "delete": {
- "permissions": [
- "sagemaker:DeleteSpace",
- "sagemaker:DescribeSpace"
- ]
- },
- "list": {
- "permissions": [
- "sagemaker:ListSpaces"
- ]
- },
- "read": {
- "permissions": [
- "sagemaker:DescribeSpace"
- ]
- },
- "update": {
- "permissions": [
- "sagemaker:UpdateSpace",
- "sagemaker:DescribeSpace"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/DomainId",
- "/properties/SpaceName"
- ],
- "properties": {
- "DomainId": {
- "maxLength": 63,
- "minLength": 1,
- "type": "string"
- },
- "OwnershipSettings": {
- "$ref": "#/definitions/OwnershipSettings"
- },
- "SpaceArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*",
- "type": "string"
- },
- "SpaceDisplayName": {
- "maxLength": 64,
- "pattern": "^(?!\\s*$).+",
- "type": "string"
- },
- "SpaceName": {
- "maxLength": 63,
- "minLength": 1,
- "type": "string"
- },
- "SpaceSettings": {
- "$ref": "#/definitions/SpaceSettings",
- "maxItems": 50,
- "minItems": 0,
- "uniqueItems": false
- },
- "SpaceSharingSettings": {
- "$ref": "#/definitions/SpaceSharingSettings"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "Url": {
- "maxLength": 1024,
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/SpaceArn",
- "/properties/Url"
- ],
- "required": [
- "DomainId",
- "SpaceName"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::SageMaker::Space",
- "writeOnlyProperties": [
- "/properties/SpaceSettings",
- "/properties/Tags"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json
deleted file mode 100644
index 3bd7d187a7..0000000000
--- a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json
+++ /dev/null
@@ -1,621 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DomainId",
- "/properties/UserProfileName",
- "/properties/SingleSignOnUserIdentifier",
- "/properties/SingleSignOnUserValue",
- "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
- "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
- "/properties/Tags"
- ],
- "definitions": {
- "AppType": {
- "enum": [
- "JupyterServer",
- "TensorBoard",
- "RStudioServerPro",
- "JupyterLab",
- "CodeEditor",
- "DetailedProfiler",
- "Canvas"
- ],
- "type": "string"
- },
- "CodeEditorAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AppLifecycleManagement": {
- "$ref": "#/definitions/AppLifecycleManagement"
- },
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "CodeRepository": {
- "additionalProperties": false,
- "properties": {
- "RepositoryUrl": {
- "maxLength": 256,
- "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
- "type": "string"
- }
- },
- "required": [
- "RepositoryUrl"
- ],
- "type": "object"
- },
- "CustomFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "EFSFileSystemConfig": {
- "$ref": "#/definitions/EFSFileSystemConfig"
- }
- },
- "type": "object"
- },
- "CustomImage": {
- "additionalProperties": false,
- "properties": {
- "AppImageConfigName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
- "type": "string"
- },
- "ImageName": {
- "maxLength": 63,
- "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
- "type": "string"
- },
- "ImageVersionNumber": {
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "AppImageConfigName",
- "ImageName"
- ],
- "type": "object"
- },
- "CustomPosixUserConfig": {
- "additionalProperties": false,
- "properties": {
- "Gid": {
- "maximum": 4000000,
- "minimum": 1001,
- "type": "integer"
- },
- "Uid": {
- "maximum": 4000000,
- "minimum": 10000,
- "type": "integer"
- }
- },
- "required": [
- "Uid",
- "Gid"
- ],
- "type": "object"
- },
- "DefaultEbsStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- },
- "MaximumEbsVolumeSizeInGb": {
- "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
- }
- },
- "required": [
- "DefaultEbsVolumeSizeInGb",
- "MaximumEbsVolumeSizeInGb"
- ],
- "type": "object"
- },
- "DefaultSpaceStorageSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultEbsStorageSettings": {
- "$ref": "#/definitions/DefaultEbsStorageSettings"
- }
- },
- "type": "object"
- },
- "EFSFileSystemConfig": {
- "additionalProperties": false,
- "properties": {
- "FileSystemId": {
- "maxLength": 21,
- "minLength": 11,
- "pattern": "^(fs-[0-9a-f]{8,})$",
- "type": "string"
- },
- "FileSystemPath": {
- "maxLength": 256,
- "minLength": 1,
- "pattern": "^\\/\\S*$",
- "type": "string"
- }
- },
- "required": [
- "FileSystemId"
- ],
- "type": "object"
- },
- "JupyterLabAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AppLifecycleManagement": {
- "$ref": "#/definitions/AppLifecycleManagement"
- },
- "CodeRepositories": {
- "items": {
- "$ref": "#/definitions/CodeRepository"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "JupyterServerAppSettings": {
- "additionalProperties": false,
- "properties": {
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "KernelGatewayAppSettings": {
- "additionalProperties": false,
- "properties": {
- "CustomImages": {
- "items": {
- "$ref": "#/definitions/CustomImage"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "DefaultResourceSpec": {
- "$ref": "#/definitions/ResourceSpec"
- },
- "LifecycleConfigArns": {
- "items": {
- "$ref": "#/definitions/StudioLifecycleConfigArn"
- },
- "maxItems": 30,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "MlTools": {
- "enum": [
- "DataWrangler",
- "FeatureStore",
- "EmrClusters",
- "AutoMl",
- "Experiments",
- "Training",
- "ModelEvaluation",
- "Pipelines",
- "Models",
- "JumpStart",
- "InferenceRecommender",
- "Endpoints",
- "Projects"
- ],
- "type": "string"
- },
- "RStudioServerProAppSettings": {
- "additionalProperties": false,
- "properties": {
- "AccessStatus": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "UserGroup": {
- "enum": [
- "R_STUDIO_ADMIN",
- "R_STUDIO_USER"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "ResourceSpec": {
- "additionalProperties": false,
- "properties": {
- "InstanceType": {
- "enum": [
- "system",
- "ml.t3.micro",
- "ml.t3.small",
- "ml.t3.medium",
- "ml.t3.large",
- "ml.t3.xlarge",
- "ml.t3.2xlarge",
- "ml.m5.large",
- "ml.m5.xlarge",
- "ml.m5.2xlarge",
- "ml.m5.4xlarge",
- "ml.m5.8xlarge",
- "ml.m5.12xlarge",
- "ml.m5.16xlarge",
- "ml.m5.24xlarge",
- "ml.c5.large",
- "ml.c5.xlarge",
- "ml.c5.2xlarge",
- "ml.c5.4xlarge",
- "ml.c5.9xlarge",
- "ml.c5.12xlarge",
- "ml.c5.18xlarge",
- "ml.c5.24xlarge",
- "ml.p3.2xlarge",
- "ml.p3.8xlarge",
- "ml.p3.16xlarge",
- "ml.g4dn.xlarge",
- "ml.g4dn.2xlarge",
- "ml.g4dn.4xlarge",
- "ml.g4dn.8xlarge",
- "ml.g4dn.12xlarge",
- "ml.g4dn.16xlarge",
- "ml.r5.large",
- "ml.r5.xlarge",
- "ml.r5.2xlarge",
- "ml.r5.4xlarge",
- "ml.r5.8xlarge",
- "ml.r5.12xlarge",
- "ml.r5.16xlarge",
- "ml.r5.24xlarge",
- "ml.p3dn.24xlarge",
- "ml.m5d.large",
- "ml.m5d.xlarge",
- "ml.m5d.2xlarge",
- "ml.m5d.4xlarge",
- "ml.m5d.8xlarge",
- "ml.m5d.12xlarge",
- "ml.m5d.16xlarge",
- "ml.m5d.24xlarge",
- "ml.g5.xlarge",
- "ml.g5.2xlarge",
- "ml.g5.4xlarge",
- "ml.g5.8xlarge",
- "ml.g5.12xlarge",
- "ml.g5.16xlarge",
- "ml.g5.24xlarge",
- "ml.g5.48xlarge",
- "ml.p4d.24xlarge",
- "ml.p4de.24xlarge",
- "ml.geospatial.interactive",
- "ml.trn1.2xlarge",
- "ml.trn1.32xlarge",
- "ml.trn1n.32xlarge"
- ],
- "type": "string"
- },
- "LifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "SageMakerImageArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
- "type": "string"
- },
- "SageMakerImageVersionArn": {
- "maxLength": 256,
- "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SharingSettings": {
- "additionalProperties": false,
- "properties": {
- "NotebookOutputOption": {
- "enum": [
- "Allowed",
- "Disabled"
- ],
- "type": "string"
- },
- "S3KmsKeyId": {
- "maxLength": 2048,
- "pattern": ".*",
- "type": "string"
- },
- "S3OutputPath": {
- "maxLength": 1024,
- "pattern": "^(https|s3)://([^/]+)/?(.*)$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "SpaceEbsVolumeSizeInGb": {
- "maximum": 16384,
- "minimum": 5,
- "type": "integer"
- },
- "StudioLifecycleConfigArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "additionalProperties": false,
- "properties": {
- "HiddenAppTypes": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/AppType"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "HiddenMlTools": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/MlTools"
- },
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "UserSettings": {
- "additionalProperties": false,
- "properties": {
- "CodeEditorAppSettings": {
- "$ref": "#/definitions/CodeEditorAppSettings"
- },
- "CustomFileSystemConfigs": {
- "items": {
- "$ref": "#/definitions/CustomFileSystemConfig"
- },
- "maxItems": 2,
- "minItems": 0,
- "type": "array",
- "uniqueItems": true
- },
- "CustomPosixUserConfig": {
- "$ref": "#/definitions/CustomPosixUserConfig"
- },
- "DefaultLandingUri": {
- "maxLength": 1023,
- "type": "string"
- },
- "ExecutionRole": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
- "type": "string"
- },
- "JupyterLabAppSettings": {
- "$ref": "#/definitions/JupyterLabAppSettings"
- },
- "JupyterServerAppSettings": {
- "$ref": "#/definitions/JupyterServerAppSettings"
- },
- "KernelGatewayAppSettings": {
- "$ref": "#/definitions/KernelGatewayAppSettings"
- },
- "RStudioServerProAppSettings": {
- "$ref": "#/definitions/RStudioServerProAppSettings"
- },
- "SecurityGroups": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "maxLength": 32,
- "pattern": "[-0-9a-zA-Z]+",
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "SharingSettings": {
- "$ref": "#/definitions/SharingSettings"
- },
- "SpaceStorageSettings": {
- "$ref": "#/definitions/DefaultSpaceStorageSettings"
- },
- "StudioWebPortal": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "StudioWebPortalSettings": {
- "$ref": "#/definitions/StudioWebPortalSettings"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "sagemaker:CreateUserProfile",
- "sagemaker:DescribeUserProfile",
- "sagemaker:DescribeImage",
- "sagemaker:DescribeImageVersion",
- "iam:PassRole"
- ]
- },
- "delete": {
- "permissions": [
- "sagemaker:DeleteUserProfile",
- "sagemaker:DescribeUserProfile"
- ]
- },
- "list": {
- "permissions": [
- "sagemaker:ListUserProfiles"
- ]
- },
- "read": {
- "permissions": [
- "sagemaker:DescribeUserProfile"
- ]
- },
- "update": {
- "permissions": [
- "sagemaker:UpdateUserProfile",
- "sagemaker:DescribeUserProfile",
- "sagemaker:DescribeImage",
- "sagemaker:DescribeImageVersion",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/UserProfileName",
- "/properties/DomainId"
- ],
- "properties": {
- "DomainId": {
- "maxLength": 63,
- "minLength": 1,
- "type": "string"
- },
- "SingleSignOnUserIdentifier": {
- "pattern": "UserName",
- "type": "string"
- },
- "SingleSignOnUserValue": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "minItems": 0,
- "type": "array",
- "uniqueItems": false
- },
- "UserProfileArn": {
- "maxLength": 256,
- "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
- "type": "string"
- },
- "UserProfileName": {
- "maxLength": 63,
- "minLength": 1,
- "type": "string"
- },
- "UserSettings": {
- "$ref": "#/definitions/UserSettings",
- "maxItems": 50,
- "minItems": 0,
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/UserProfileArn"
- ],
- "required": [
- "DomainId",
- "UserProfileName"
- ],
- "typeName": "AWS::SageMaker::UserProfile",
- "writeOnlyProperties": [
- "/properties/Tags"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py
index dca6aa5ceb..a99aaffa49 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
@@ -1032,7 +1032,6 @@
"aws-lakeformation-permissions.json",
"aws-lakeformation-resource.json",
"aws-lambda-eventinvokeconfig.json",
- "aws-lambda-eventsourcemapping.json",
"aws-lambda-permission.json",
"aws-lambda-version.json",
"aws-launchwizard-deployment.json",
diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-lambda-eventsourcemapping.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-lambda-eventsourcemapping.json
new file mode 100644
index 0000000000..4e10939479
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-lambda-eventsourcemapping.json
@@ -0,0 +1,350 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/EventSourceArn",
+ "/properties/StartingPosition",
+ "/properties/StartingPositionTimestamp",
+ "/properties/SelfManagedEventSource",
+ "/properties/AmazonManagedKafkaEventSourceConfig",
+ "/properties/SelfManagedKafkaEventSourceConfig"
+ ],
+ "definitions": {
+ "AmazonManagedKafkaEventSourceConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupId": {
+ "$ref": "#/definitions/ConsumerGroupId"
+ }
+ },
+ "type": "object"
+ },
+ "ConsumerGroupId": {
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9-\\/*:_+=.@-]*",
+ "type": "string"
+ },
+ "DestinationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "OnFailure": {
+ "$ref": "#/definitions/OnFailure"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentDBEventSourceConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "CollectionName": {
+ "maxLength": 57,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DatabaseName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "FullDocument": {
+ "enum": [
+ "UpdateLookup",
+ "Default"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Endpoints": {
+ "additionalProperties": false,
+ "properties": {
+ "KafkaBootstrapServers": {
+ "items": {
+ "maxLength": 300,
+ "minLength": 1,
+ "pattern": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}",
+ "type": "string"
+ },
+ "maxItems": 10,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Filter": {
+ "additionalProperties": false,
+ "properties": {
+ "Pattern": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "pattern": ".*",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "FilterCriteria": {
+ "additionalProperties": false,
+ "properties": {
+ "Filters": {
+ "items": {
+ "$ref": "#/definitions/Filter"
+ },
+ "maxItems": 20,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "MaximumConcurrency": {
+ "maximum": 1000,
+ "minimum": 2,
+ "type": "integer"
+ },
+ "OnFailure": {
+ "additionalProperties": false,
+ "properties": {
+ "Destination": {
+ "maxLength": 1024,
+ "minLength": 12,
+ "pattern": "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ScalingConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "MaximumConcurrency": {
+ "$ref": "#/definitions/MaximumConcurrency"
+ }
+ },
+ "type": "object"
+ },
+ "SelfManagedEventSource": {
+ "additionalProperties": false,
+ "properties": {
+ "Endpoints": {
+ "$ref": "#/definitions/Endpoints"
+ }
+ },
+ "type": "object"
+ },
+ "SelfManagedKafkaEventSourceConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupId": {
+ "$ref": "#/definitions/ConsumerGroupId"
+ }
+ },
+ "type": "object"
+ },
+ "SourceAccessConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "enum": [
+ "BASIC_AUTH",
+ "VPC_SUBNET",
+ "VPC_SECURITY_GROUP",
+ "SASL_SCRAM_512_AUTH",
+ "SASL_SCRAM_256_AUTH",
+ "VIRTUAL_HOST",
+ "CLIENT_CERTIFICATE_TLS_AUTH",
+ "SERVER_ROOT_CA_CERTIFICATE"
+ ],
+ "type": "string"
+ },
+ "URI": {
+ "maxLength": 200,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9-\\/*:_+=.@-]*",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "lambda:CreateEventSourceMapping",
+ "lambda:GetEventSourceMapping"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "lambda:DeleteEventSourceMapping",
+ "lambda:GetEventSourceMapping"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "lambda:ListEventSourceMappings"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "lambda:GetEventSourceMapping"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "lambda:UpdateEventSourceMapping",
+ "lambda:GetEventSourceMapping"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "AmazonManagedKafkaEventSourceConfig": {
+ "$ref": "#/definitions/AmazonManagedKafkaEventSourceConfig"
+ },
+ "BatchSize": {
+ "maximum": 10000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "BisectBatchOnFunctionError": {
+ "type": "boolean"
+ },
+ "DestinationConfig": {
+ "$ref": "#/definitions/DestinationConfig"
+ },
+ "DocumentDBEventSourceConfig": {
+ "$ref": "#/definitions/DocumentDBEventSourceConfig"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "EventSourceArn": {
+ "maxLength": 1024,
+ "minLength": 12,
+ "pattern": "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)",
+ "type": "string"
+ },
+ "FilterCriteria": {
+ "$ref": "#/definitions/FilterCriteria"
+ },
+ "FunctionName": {
+ "maxLength": 140,
+ "minLength": 1,
+ "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?",
+ "type": "string"
+ },
+ "FunctionResponseTypes": {
+ "items": {
+ "enum": [
+ "ReportBatchItemFailures"
+ ],
+ "type": "string"
+ },
+ "maxLength": 1,
+ "minLength": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Id": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}",
+ "type": "string"
+ },
+ "MaximumBatchingWindowInSeconds": {
+ "maximum": 300,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "MaximumRecordAgeInSeconds": {
+ "maximum": 604800,
+ "minimum": -1,
+ "type": "integer"
+ },
+ "MaximumRetryAttempts": {
+ "maximum": 10000,
+ "minimum": -1,
+ "type": "integer"
+ },
+ "ParallelizationFactor": {
+ "maximum": 10,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "Queues": {
+ "items": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "pattern": "[\\s\\S]*",
+ "type": "string"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ScalingConfig": {
+ "$ref": "#/definitions/ScalingConfig"
+ },
+ "SelfManagedEventSource": {
+ "$ref": "#/definitions/SelfManagedEventSource"
+ },
+ "SelfManagedKafkaEventSourceConfig": {
+ "$ref": "#/definitions/SelfManagedKafkaEventSourceConfig"
+ },
+ "SourceAccessConfigurations": {
+ "items": {
+ "$ref": "#/definitions/SourceAccessConfiguration"
+ },
+ "maxItems": 22,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "StartingPosition": {
+ "enum": [
+ "AT_TIMESTAMP",
+ "LATEST",
+ "TRIM_HORIZON"
+ ],
+ "maxLength": 12,
+ "minLength": 6,
+ "pattern": "(LATEST|TRIM_HORIZON|AT_TIMESTAMP)+",
+ "type": "string"
+ },
+ "StartingPositionTimestamp": {
+ "type": "number"
+ },
+ "Topics": {
+ "items": {
+ "maxLength": 249,
+ "minLength": 1,
+ "pattern": "^[^.]([a-zA-Z0-9\\-_.]+)",
+ "type": "string"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TumblingWindowInSeconds": {
+ "maximum": 900,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "FunctionName"
+ ],
+ "typeName": "AWS::Lambda::EventSourceMapping"
+}
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 9f93989669..a3da6ac223 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
@@ -1306,12 +1306,8 @@
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
"aws-rds-optiongroup.json",
- "aws-redshift-cluster.json",
"aws-redshift-clustersecuritygroup.json",
"aws-redshift-clustersecuritygroupingress.json",
- "aws-redshift-clustersubnetgroup.json",
- "aws-redshift-eventsubscription.json",
- "aws-redshift-scheduledaction.json",
"aws-rekognition-collection.json",
"aws-resiliencehub-app.json",
"aws-resiliencehub-resiliencypolicy.json",
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-cluster.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-cluster.json
new file mode 100644
index 0000000000..41541b0e45
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-cluster.json
@@ -0,0 +1,330 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ClusterIdentifier",
+ "/properties/OwnerAccount",
+ "/properties/SnapshotIdentifier",
+ "/properties/DBName",
+ "/properties/SnapshotClusterIdentifier",
+ "/properties/ClusterSubnetGroupName",
+ "/properties/MasterUsername"
+ ],
+ "definitions": {
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LoggingProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketName": {
+ "type": "string"
+ },
+ "S3KeyPrefix": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketName"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "redshift:DescribeClusters",
+ "redshift:CreateCluster",
+ "redshift:RestoreFromClusterSnapshot",
+ "redshift:EnableLogging",
+ "redshift:DescribeTags"
+ ],
+ "timeoutInMinutes": 2160
+ },
+ "delete": {
+ "permissions": [
+ "redshift:DescribeTags",
+ "redshift:DescribeClusters",
+ "redshift:DeleteCluster"
+ ],
+ "timeoutInMinutes": 2160
+ },
+ "list": {
+ "permissions": [
+ "redshift:DescribeTags",
+ "redshift:DescribeClusters"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "redshift:DescribeClusters",
+ "redshift:DescribeLoggingStatus",
+ "redshift:DescribeSnapshotCopyGrant",
+ "redshift:DescribeClusterDbRevisions",
+ "redshift:DescribeTags"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "redshift:DescribeClusters",
+ "redshift:ModifyCluster",
+ "redshift:ModifyClusterIamRoles",
+ "redshift:EnableLogging",
+ "redshift:CreateTags",
+ "redshift:DeleteTags",
+ "redshift:DescribeTags",
+ "redshift:DisableLogging",
+ "redshift:RebootCluster",
+ "redshift:EnableSnapshotCopy",
+ "redshift:DisableSnapshotCopy",
+ "redshift:ModifySnapshotCopyRetentionPeriod",
+ "redshift:ModifyAquaConfiguration",
+ "redshift:ResizeCluster",
+ "redshift:ModifyClusterMaintenance",
+ "redshift:DescribeClusterDbRevisions",
+ "redshift:ModifyClusterDbRevisions",
+ "redshift:PauseCluster",
+ "redshift:ResumeCluster",
+ "redshift:RotateEncryptionKey",
+ "redshift:FailoverPrimaryCompute"
+ ],
+ "timeoutInMinutes": 2160
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ClusterIdentifier"
+ ],
+ "properties": {
+ "AllowVersionUpgrade": {
+ "type": "boolean"
+ },
+ "AquaConfigurationStatus": {
+ "type": "string"
+ },
+ "AutomatedSnapshotRetentionPeriod": {
+ "type": "integer"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "AvailabilityZoneRelocation": {
+ "type": "boolean"
+ },
+ "AvailabilityZoneRelocationStatus": {
+ "type": "string"
+ },
+ "Classic": {
+ "type": "boolean"
+ },
+ "ClusterIdentifier": {
+ "maxLength": 63,
+ "type": "string"
+ },
+ "ClusterParameterGroupName": {
+ "maxLength": 255,
+ "type": "string"
+ },
+ "ClusterSecurityGroups": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ClusterSubnetGroupName": {
+ "type": "string"
+ },
+ "ClusterType": {
+ "type": "string"
+ },
+ "ClusterVersion": {
+ "type": "string"
+ },
+ "DBName": {
+ "type": "string"
+ },
+ "DeferMaintenance": {
+ "type": "boolean"
+ },
+ "DeferMaintenanceDuration": {
+ "type": "integer"
+ },
+ "DeferMaintenanceEndTime": {
+ "type": "string"
+ },
+ "DeferMaintenanceIdentifier": {
+ "type": "string"
+ },
+ "DeferMaintenanceStartTime": {
+ "type": "string"
+ },
+ "DestinationRegion": {
+ "type": "string"
+ },
+ "ElasticIp": {
+ "type": "string"
+ },
+ "Encrypted": {
+ "type": "boolean"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "EnhancedVpcRouting": {
+ "type": "boolean"
+ },
+ "HsmClientCertificateIdentifier": {
+ "type": "string"
+ },
+ "HsmConfigurationIdentifier": {
+ "type": "string"
+ },
+ "IamRoles": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 50,
+ "type": "array"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "LoggingProperties": {
+ "$ref": "#/definitions/LoggingProperties"
+ },
+ "MaintenanceTrackName": {
+ "type": "string"
+ },
+ "ManualSnapshotRetentionPeriod": {
+ "type": "integer"
+ },
+ "MasterUserPassword": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "MasterUsername": {
+ "maxLength": 128,
+ "type": "string"
+ },
+ "MultiAZ": {
+ "type": "boolean"
+ },
+ "NodeType": {
+ "type": "string"
+ },
+ "NumberOfNodes": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "OwnerAccount": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ },
+ "PreferredMaintenanceWindow": {
+ "type": "string"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "ResourceAction": {
+ "type": "string"
+ },
+ "RevisionTarget": {
+ "type": "string"
+ },
+ "RotateEncryptionKey": {
+ "type": "boolean"
+ },
+ "SnapshotClusterIdentifier": {
+ "type": "string"
+ },
+ "SnapshotCopyGrantName": {
+ "type": "string"
+ },
+ "SnapshotCopyManual": {
+ "type": "boolean"
+ },
+ "SnapshotCopyRetentionPeriod": {
+ "type": "integer"
+ },
+ "SnapshotIdentifier": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcSecurityGroupIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/DeferMaintenanceIdentifier",
+ "/properties/Endpoint/Port",
+ "/properties/Endpoint/Address"
+ ],
+ "required": [
+ "MasterUserPassword",
+ "NodeType",
+ "MasterUsername",
+ "DBName",
+ "ClusterType"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "taggable": true
+ },
+ "typeName": "AWS::Redshift::Cluster",
+ "writeOnlyProperties": [
+ "/properties/MasterUserPassword",
+ "/properties/Classic",
+ "/properties/SnapshotIdentifier"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-clustersubnetgroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-clustersubnetgroup.json
new file mode 100644
index 0000000000..582e3c008f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-clustersubnetgroup.json
@@ -0,0 +1,158 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 127,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "redshift:CreateClusterSubnetGroup",
+ "redshift:CreateTags",
+ "redshift:DescribeClusterSubnetGroups",
+ "redshift:DescribeTags",
+ "ec2:AllocateAddress",
+ "ec2:AssociateAddress",
+ "ec2:AttachNetworkInterface",
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAddresses",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "redshift:DeleteClusterSubnetGroup",
+ "redshift:DescribeClusterSubnetGroups",
+ "redshift:DescribeTags",
+ "ec2:AllocateAddress",
+ "ec2:AssociateAddress",
+ "ec2:AttachNetworkInterface",
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAddresses",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "redshift:DescribeClusterSubnetGroups",
+ "redshift:DescribeTags",
+ "ec2:AllocateAddress",
+ "ec2:AssociateAddress",
+ "ec2:AttachNetworkInterface",
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAddresses",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "redshift:DescribeClusterSubnetGroups",
+ "redshift:DescribeTags",
+ "ec2:AllocateAddress",
+ "ec2:AssociateAddress",
+ "ec2:AttachNetworkInterface",
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAddresses",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "redshift:ModifyClusterSubnetGroup",
+ "redshift:DescribeClusterSubnetGroups",
+ "redshift:DescribeTags",
+ "redshift:CreateTags",
+ "redshift:DeleteTags",
+ "ec2:AllocateAddress",
+ "ec2:AssociateAddress",
+ "ec2:AttachNetworkInterface",
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAddresses",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ClusterSubnetGroupName"
+ ],
+ "properties": {
+ "ClusterSubnetGroupName": {
+ "maxLength": 255,
+ "type": "string"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ClusterSubnetGroupName"
+ ],
+ "required": [
+ "Description",
+ "SubnetIds"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift",
+ "tagging": {
+ "taggable": true
+ },
+ "typeName": "AWS::Redshift::ClusterSubnetGroup",
+ "writeOnlyProperties": [
+ "/properties/Tags",
+ "/properties/Tags/*/Key",
+ "/properties/Tags/*/Value"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-eventsubscription.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-eventsubscription.json
new file mode 100644
index 0000000000..0b443a1b7b
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-eventsubscription.json
@@ -0,0 +1,181 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SubscriptionName"
+ ],
+ "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": [
+ "redshift:CreateEventSubscription",
+ "redshift:CreateTags",
+ "redshift:DescribeTags",
+ "redshift:DescribeEventSubscriptions"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "redshift:DescribeEventSubscriptions",
+ "redshift:DeleteEventSubscription",
+ "redshift:DescribeTags",
+ "redshift:DeleteTags"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "redshift:DescribeTags",
+ "redshift:DescribeEventSubscriptions"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "redshift:DescribeEventSubscriptions",
+ "redshift:DescribeTags"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "redshift:ModifyEventSubscription",
+ "redshift:CreateTags",
+ "redshift:DescribeTags",
+ "redshift:DescribeEventSubscriptions",
+ "redshift:DeleteTags"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/SubscriptionName"
+ ],
+ "properties": {
+ "CustSubscriptionId": {
+ "type": "string"
+ },
+ "CustomerAwsId": {
+ "type": "string"
+ },
+ "Enabled": {
+ "type": "boolean"
+ },
+ "EventCategories": {
+ "insertionOrder": false,
+ "items": {
+ "enum": [
+ "configuration",
+ "management",
+ "monitoring",
+ "security",
+ "pending"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "EventCategoriesList": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Severity": {
+ "enum": [
+ "ERROR",
+ "INFO"
+ ],
+ "type": "string"
+ },
+ "SnsTopicArn": {
+ "type": "string"
+ },
+ "SourceIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "SourceIdsList": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "SourceType": {
+ "enum": [
+ "cluster",
+ "cluster-parameter-group",
+ "cluster-security-group",
+ "cluster-snapshot",
+ "scheduled-action"
+ ],
+ "type": "string"
+ },
+ "Status": {
+ "enum": [
+ "active",
+ "no-permission",
+ "topic-not-exist"
+ ],
+ "type": "string"
+ },
+ "SubscriptionCreationTime": {
+ "type": "string"
+ },
+ "SubscriptionName": {
+ "pattern": "^(?=^[a-z][a-z0-9]*(-[a-z0-9]+)*$).{1,255}$",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CustomerAwsId",
+ "/properties/CustSubscriptionId",
+ "/properties/Status",
+ "/properties/SubscriptionCreationTime",
+ "/properties/SourceIdsList",
+ "/properties/EventCategoriesList"
+ ],
+ "required": [
+ "SubscriptionName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift",
+ "tagging": {
+ "taggable": true
+ },
+ "typeName": "AWS::Redshift::EventSubscription",
+ "writeOnlyProperties": [
+ "/properties/Tags",
+ "/properties/Tags/*/Key",
+ "/properties/Tags/*/Value"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-scheduledaction.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-scheduledaction.json
new file mode 100644
index 0000000000..4e33dbaea7
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-redshift-scheduledaction.json
@@ -0,0 +1,188 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ScheduledActionName"
+ ],
+ "definitions": {
+ "PauseClusterMessage": {
+ "additionalProperties": false,
+ "properties": {
+ "ClusterIdentifier": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ClusterIdentifier"
+ ],
+ "type": "object"
+ },
+ "ResizeClusterMessage": {
+ "additionalProperties": false,
+ "properties": {
+ "Classic": {
+ "type": "boolean"
+ },
+ "ClusterIdentifier": {
+ "type": "string"
+ },
+ "ClusterType": {
+ "type": "string"
+ },
+ "NodeType": {
+ "type": "string"
+ },
+ "NumberOfNodes": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "ClusterIdentifier"
+ ],
+ "type": "object"
+ },
+ "ResumeClusterMessage": {
+ "additionalProperties": false,
+ "properties": {
+ "ClusterIdentifier": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ClusterIdentifier"
+ ],
+ "type": "object"
+ },
+ "ScheduledActionType": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "ResizeCluster": {
+ "$ref": "#/definitions/ResizeClusterMessage"
+ }
+ }
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "PauseCluster": {
+ "$ref": "#/definitions/PauseClusterMessage"
+ }
+ }
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "ResumeCluster": {
+ "$ref": "#/definitions/ResumeClusterMessage"
+ }
+ }
+ }
+ ],
+ "type": "object"
+ },
+ "timestamp": {
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "redshift:CreateScheduledAction",
+ "redshift:DescribeScheduledActions",
+ "redshift:DescribeTags",
+ "redshift:PauseCluster",
+ "redshift:ResumeCluster",
+ "redshift:ResizeCluster",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "redshift:DescribeTags",
+ "redshift:DescribeScheduledActions",
+ "redshift:DeleteScheduledAction"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "redshift:DescribeTags",
+ "redshift:DescribeScheduledActions"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "redshift:DescribeScheduledActions",
+ "redshift:DescribeTags"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "redshift:DescribeScheduledActions",
+ "redshift:ModifyScheduledAction",
+ "redshift:PauseCluster",
+ "redshift:ResumeCluster",
+ "redshift:ResizeCluster",
+ "redshift:DescribeTags",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ScheduledActionName"
+ ],
+ "properties": {
+ "Enable": {
+ "type": "boolean"
+ },
+ "EndTime": {
+ "$ref": "#/definitions/timestamp"
+ },
+ "IamRole": {
+ "type": "string"
+ },
+ "NextInvocations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/timestamp"
+ },
+ "type": "array"
+ },
+ "Schedule": {
+ "type": "string"
+ },
+ "ScheduledActionDescription": {
+ "pattern": "^(?=^[\\x09\\x0a\\x0d\\x20-\\xff]*$).{1,255}$",
+ "type": "string"
+ },
+ "ScheduledActionName": {
+ "pattern": "^(?=^[a-z][a-z0-9]*(-[a-z0-9]+)*$).{1,60}$",
+ "type": "string"
+ },
+ "StartTime": {
+ "$ref": "#/definitions/timestamp"
+ },
+ "State": {
+ "enum": [
+ "ACTIVE",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "TargetAction": {
+ "$ref": "#/definitions/ScheduledActionType"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/State",
+ "/properties/NextInvocations"
+ ],
+ "required": [
+ "ScheduledActionName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift",
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::Redshift::ScheduledAction"
+}
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 bc2dbc994e..08d130e947 100644
--- a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py
@@ -1494,7 +1494,6 @@
"aws-codeartifact-domain.json",
"aws-codeartifact-packagegroup.json",
"aws-codeartifact-repository.json",
- "aws-codebuild-fleet.json",
"aws-codebuild-project.json",
"aws-codebuild-reportgroup.json",
"aws-codebuild-sourcecredential.json",
@@ -2050,7 +2049,6 @@
"aws-lightsail-loadbalancertlscertificate.json",
"aws-lightsail-staticip.json",
"aws-location-apikey.json",
- "aws-location-geofencecollection.json",
"aws-location-map.json",
"aws-location-placeindex.json",
"aws-location-routecalculator.json",
@@ -2118,7 +2116,6 @@
"aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
"aws-msk-configuration.json",
- "aws-msk-replicator.json",
"aws-msk-serverlesscluster.json",
"aws-msk-vpcconnection.json",
"aws-mwaa-environment.json",
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-codebuild-fleet.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-codebuild-fleet.json
new file mode 100644
index 0000000000..4c870f71c0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-codebuild-fleet.json
@@ -0,0 +1,159 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Subnets": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:CreateFleet",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:DeleteFleet"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "codebuild:ListFleets"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "codebuild:BatchGetFleets"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "codebuild:BatchGetFleets",
+ "codebuild:UpdateFleet",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "BaseCapacity": {
+ "minimum": 1,
+ "type": "integer"
+ },
+ "ComputeType": {
+ "enum": [
+ "BUILD_GENERAL1_SMALL",
+ "BUILD_GENERAL1_MEDIUM",
+ "BUILD_GENERAL1_LARGE",
+ "BUILD_GENERAL1_2XLARGE"
+ ],
+ "type": "string"
+ },
+ "EnvironmentType": {
+ "enum": [
+ "WINDOWS_SERVER_2019_CONTAINER",
+ "WINDOWS_SERVER_2022_CONTAINER",
+ "LINUX_CONTAINER",
+ "LINUX_GPU_CONTAINER",
+ "ARM_CONTAINER",
+ "MAC_ARM"
+ ],
+ "type": "string"
+ },
+ "FleetServiceRole": {
+ "pattern": "^(?:arn:)[a-zA-Z+-=,._:/@]+$",
+ "type": "string"
+ },
+ "FleetVpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ },
+ "ImageId": {
+ "pattern": "^((aws/codebuild/[A-Za-z-]+:[0-9]+(-[0-9._]+)?)|ami-[a-z0-9]{1,1020})$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 128,
+ "minLength": 2,
+ "type": "string"
+ },
+ "OverflowBehavior": {
+ "enum": [
+ "QUEUE",
+ "ON_DEMAND"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CodeBuild::Fleet"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-location-geofencecollection.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-location-geofencecollection.json
new file mode 100644
index 0000000000..98904d38a1
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-location-geofencecollection.json
@@ -0,0 +1,168 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/CollectionName",
+ "/properties/KmsKeyId"
+ ],
+ "definitions": {
+ "PricingPlan": {
+ "enum": [
+ "RequestBasedUsage"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z+-=._:/]+$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[A-Za-z0-9 _=@:.+-/]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TagMap": {
+ "additionalProperties": false,
+ "maxProperties": 50,
+ "patternProperties": {
+ "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.,:/=+\\-@]*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "iso8601UTC": {
+ "pattern": "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$",
+ "type": "string"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/PricingPlan",
+ "/properties/PricingPlanDataSource"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "geo:CreateGeofenceCollection",
+ "geo:DescribeGeofenceCollection",
+ "geo:TagResource",
+ "geo:UntagResource",
+ "kms:DescribeKey",
+ "kms:CreateGrant"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "geo:DeleteGeofenceCollection",
+ "geo:DescribeGeofenceCollection"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "geo:ListGeofenceCollections"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "geo:DescribeGeofenceCollection",
+ "kms:DescribeKey"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "geo:CreateGeofenceCollection",
+ "geo:DescribeGeofenceCollection",
+ "geo:TagResource",
+ "geo:UntagResource",
+ "kms:DescribeKey",
+ "kms:CreateGrant",
+ "geo:UpdateGeofenceCollection"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/CollectionName"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 1600,
+ "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
+ "type": "string"
+ },
+ "CollectionArn": {
+ "maxLength": 1600,
+ "pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$",
+ "type": "string"
+ },
+ "CollectionName": {
+ "maxLength": 100,
+ "minLength": 1,
+ "pattern": "^[-._\\w]+$",
+ "type": "string"
+ },
+ "CreateTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 0,
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PricingPlan": {
+ "$ref": "#/definitions/PricingPlan"
+ },
+ "PricingPlanDataSource": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "UpdateTime": {
+ "$ref": "#/definitions/iso8601UTC"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/CollectionArn",
+ "/properties/Arn",
+ "/properties/CreateTime",
+ "/properties/UpdateTime"
+ ],
+ "required": [
+ "CollectionName"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::Location::GeofenceCollection"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-msk-replicator.json
new file mode 100644
index 0000000000..19aeafdd58
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-msk-replicator.json
@@ -0,0 +1,373 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ReplicatorName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ReplicatorName",
+ "/properties/Description",
+ "/properties/KafkaClusters",
+ "/properties/ServiceExecutionRoleArn"
+ ],
+ "definitions": {
+ "AmazonMskCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "MskClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MskClusterArn"
+ ],
+ "type": "object"
+ },
+ "ConsumerGroupReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ConsumerGroupsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DetectAndCopyNewConsumerGroups": {
+ "type": "boolean"
+ },
+ "SynchroniseConsumerGroupOffsets": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ConsumerGroupsToReplicate"
+ ],
+ "type": "object"
+ },
+ "KafkaCluster": {
+ "additionalProperties": false,
+ "properties": {
+ "AmazonMskCluster": {
+ "$ref": "#/definitions/AmazonMskCluster"
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/KafkaClusterClientVpcConfig"
+ }
+ },
+ "required": [
+ "AmazonMskCluster",
+ "VpcConfig"
+ ],
+ "type": "object"
+ },
+ "KafkaClusterClientVpcConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "SubnetIds"
+ ],
+ "type": "object"
+ },
+ "ReplicationInfo": {
+ "additionalProperties": false,
+ "properties": {
+ "ConsumerGroupReplication": {
+ "$ref": "#/definitions/ConsumerGroupReplication"
+ },
+ "SourceKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TargetCompressionType": {
+ "enum": [
+ "NONE",
+ "GZIP",
+ "SNAPPY",
+ "LZ4",
+ "ZSTD"
+ ],
+ "type": "string"
+ },
+ "TargetKafkaClusterArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "TopicReplication": {
+ "$ref": "#/definitions/TopicReplication"
+ }
+ },
+ "required": [
+ "SourceKafkaClusterArn",
+ "TargetKafkaClusterArn",
+ "TopicReplication",
+ "ConsumerGroupReplication",
+ "TargetCompressionType"
+ ],
+ "type": "object"
+ },
+ "ReplicationStartingPosition": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationStartingPositionType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationStartingPositionType": {
+ "enum": [
+ "LATEST",
+ "EARLIEST"
+ ],
+ "type": "string"
+ },
+ "ReplicationTopicNameConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ReplicationTopicNameConfigurationType"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "ReplicationTopicNameConfigurationType": {
+ "enum": [
+ "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS",
+ "IDENTICAL"
+ ],
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TopicReplication": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyAccessControlListsForTopics": {
+ "type": "boolean"
+ },
+ "CopyTopicConfigurations": {
+ "type": "boolean"
+ },
+ "DetectAndCopyNewTopics": {
+ "type": "boolean"
+ },
+ "StartingPosition": {
+ "$ref": "#/definitions/ReplicationStartingPosition"
+ },
+ "TopicNameConfiguration": {
+ "$ref": "#/definitions/ReplicationTopicNameConfiguration"
+ },
+ "TopicsToExclude": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TopicsToReplicate": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 249,
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "TopicsToReplicate"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:CreateNetworkInterface",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "kafka:CreateReplicator",
+ "kafka:CreateReplicatorReference",
+ "kafka:DescribeClusterV2",
+ "kafka:DescribeReplicator",
+ "kafka:GetBootstrapBrokers",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "kafka:DeleteReplicator",
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "kafka:ListReplicators"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "kafka:DescribeReplicator",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource",
+ "kafka:UntagResource",
+ "kafka:UpdateReplicationInfo"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ReplicatorArn"
+ ],
+ "properties": {
+ "CurrentVersion": {
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "KafkaClusters": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/KafkaCluster"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicationInfoList": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationInfo"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ReplicatorArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*",
+ "type": "string"
+ },
+ "ReplicatorName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$",
+ "type": "string"
+ },
+ "ServiceExecutionRoleArn": {
+ "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/ReplicatorArn"
+ ],
+ "required": [
+ "ReplicatorName",
+ "ReplicationInfoList",
+ "KafkaClusters",
+ "ServiceExecutionRoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "permissions": [
+ "kafka:UntagResource",
+ "kafka:ListTagsForResource",
+ "kafka:TagResource"
+ ],
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MSK::Replicator"
+}