From ef333adfeed1985123bce7b267eae71bd7e55dc4 Mon Sep 17 00:00:00 2001
From: kddejong <36457093+kddejong@users.noreply.github.com>
Date: Wed, 21 Aug 2024 06:29:53 +0000
Subject: [PATCH] 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 | 7 +-
.../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 --
.../aws-systemsmanagersap-application.json | 161 --
.../providers/ap_northeast_1/__init__.py | 13 +-
.../aws-apigatewayv2-integration.json | 99 ++
.../aws-location-geofencecollection.json | 168 ++
.../ap_northeast_1/aws-rds-globalcluster.json | 99 ++
.../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 | 10 +-
.../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 --
.../ap_south_2/aws-rds-globalcluster.json | 99 ++
.../providers/ap_southeast_1/__init__.py | 5 +-
.../ap_southeast_1/aws-codebuild-fleet.json | 159 ++
.../ap_southeast_1/aws-deadline-queue.json | 279 ---
.../aws-deadline-storageprofile.json | 138 --
.../aws-lambda-eventsourcemapping.json | 359 ----
.../providers/ap_southeast_2/__init__.py | 9 +-
.../aws-apigatewayv2-integration.json | 99 ++
.../aws-deadline-fleet.json | 1 +
.../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 ++++
.../ap_southeast_2/aws-rds-globalcluster.json | 99 ++
.../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 | 8 +-
.../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 --
.../aws-lambda-function.json | 21 +-
.../ap_southeast_4/aws-rds-globalcluster.json | 99 ++
.../providers/ca_central_1/__init__.py | 10 +-
.../aws-apigatewayv2-integration.json | 99 ++
.../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 ++++
.../ca_central_1/aws-rds-globalcluster.json | 99 ++
.../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 ++
.../cn_northwest_1/aws-lambda-function.json | 552 ++++++
.../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 +-
.../providers/eu_north_1/aws-ec2-ipam.json | 148 ++
.../eu_north_1/aws-ec2-securitygroup.json | 239 ---
.../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-iam-managedpolicy.json | 147 --
.../eu_north_1/aws-location-apikey.json | 226 +++
.../eu_north_1/aws-msk-replicator.json | 349 ++++
.../aws-systemsmanagersap-application.json | 161 --
.../schemas/providers/eu_south_1/__init__.py | 11 +-
.../providers/eu_south_1/aws-ec2-ipam.json | 148 ++
.../eu_south_1/aws-ec2-securitygroup.json | 239 ---
.../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-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 ++++++
.../eu_south_2/aws-rds-globalcluster.json | 99 ++
.../schemas/providers/eu_west_1/__init__.py | 9 +-
.../eu_west_1/aws-codebuild-fleet.json | 159 ++
.../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 --
.../providers/eu_west_1/aws-s3-bucket.json | 1561 -----------------
.../schemas/providers/eu_west_2/__init__.py | 8 +-
.../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 ++++
.../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 +-
.../aws-apigatewayv2-integration.json | 99 ++
.../us_east_2/aws-deadline-fleet.json | 587 +++++++
.../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-rds-globalcluster.json | 99 ++
.../providers/us_gov_east_1/__init__.py | 7 +-
.../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 ++
.../aws-ec2-subnetcidrblock.json | 78 -
.../us_gov_east_1/aws-ec2-vpccidrblock.json | 103 ++
.../us_gov_east_1/aws-glue-database.json | 117 ++
.../us_gov_east_1/aws-lambda-function.json | 552 ++++++
.../providers/us_gov_west_1/__init__.py | 22 +-
.../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 | 10 +-
.../aws-apigatewayv2-integration.json | 99 ++
.../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 ++++
.../us_west_1/aws-rds-globalcluster.json | 99 ++
.../schemas/providers/us_west_2/__init__.py | 9 +-
.../us_west_2/aws-codebuild-fleet.json | 159 ++
.../us_west_2/aws-iam-managedpolicy.json | 149 --
.../aws-location-geofencecollection.json | 168 ++
.../us_west_2/aws-msk-replicator.json | 373 ++++
.../providers/us_west_2/aws-s3-bucket.json | 1561 -----------------
353 files changed, 26954 insertions(+), 25202 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
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
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-apigatewayv2-integration.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-rds-globalcluster.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_south_2/aws-rds-globalcluster.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-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-apigatewayv2-integration.json
rename src/cfnlint/data/schemas/providers/{ap_southeast_1 => ap_southeast_2}/aws-deadline-fleet.json (99%)
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
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-globalcluster.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
rename src/cfnlint/data/schemas/providers/{eu_west_1 => ap_southeast_4}/aws-lambda-function.json (95%)
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-apigatewayv2-integration.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
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-globalcluster.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_south_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
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-function.json
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-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-securitygroup.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
delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-iam-managedpolicy.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
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-ec2-ipam.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-securitygroup.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
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_south_2/aws-rds-globalcluster.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-codebuild-fleet.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
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-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_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-apigatewayv2-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-deadline-fleet.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-rds-globalcluster.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-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
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-apigatewayv2-integration.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
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-rds-globalcluster.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-codebuild-fleet.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-iam-managedpolicy.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
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..fd552d9d73 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": "\"343fe2ded255ea1eb4361ffb84e97b5c\"", "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..ce3486e93e 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": "\"cf0bc6f919bb7539e74fc38f0610f301\"", "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..0c0774c9cb 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": "\"5a4bec39aff60f8743d870f0aca870eb\"", "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..9652b7ec58 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": "\"3b694c8c634a1f62352ed6867fc3ea1d\"", "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..430e494f32 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": "\"8b4883851b7876b97fcc41a783bc77f4\"", "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..b6ed6456fe 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": "\"4b7110133bdcc3f901007586c8153f67\"", "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..704a76acd2 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": "\"9fe60465ede1db743aa9668fe83a044c\"", "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..5d305a948f 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": "\"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 3324036e23..9de95a7958 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": "\"e27d6af7020faefb56cacae02a60bc7a\"", "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..e06867cac5 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": "\"c8432ca4ac99fcf042e55ea87ac793ea\"", "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..1852920003 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": "\"8339b88fedfe2027c4b5e13dec8ddac6\"", "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..0af1f8b3d9 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": "\"ec231c86e3a63c803e427d1b96977854\"", "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..c255469930 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": "\"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 b2d5b75493..b4b3b6ae54 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": "\"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 f77989f752..abe0e7bf49 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": "\"2964563671d25d1e7b2a0ea9c04baab4\"", "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..c1bcf6ed83 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": "\"466c7e495233afc05a4ef99122e400f5\"", "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..501fefc24d 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": "\"64c7887c06e693fdd26d5eb610d31fd4\"", "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..46221e51ca 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": "\"213c77e101b961c8af53478865b0a2cb\"", "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..e9b6ec03dd 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": "\"ca2c92d1e4284a208aa8ab02894eb69c\"", "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..e4794a2a4e 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": "\"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 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..c719c0e5aa 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": "\"63c7a0a0cf0f0cf326dec6f3a416dca9\"", "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..45b9da02bc 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": "\"29055ebeeeefb4b97638bbed7f16457e\"", "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..622a85cb16 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": "\"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 07d2e15fb1..3f924b610f 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": "\"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 b48e1e5781..864b90443f 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": "\"274b5fcb5e388fce4d89d5dd86f30412\"", "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..7101b7563f 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": "\"a86204edb660c02cd0d9b3fc762632e0\"", "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..3072a49ed5 100644
--- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
@@ -1040,7 +1040,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 +1066,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 +1094,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 +1183,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 +1195,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 +1208,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",
@@ -1521,6 +1521,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/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-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..4ef33dfa07 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",
@@ -1271,7 +1272,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",
@@ -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",
@@ -2151,7 +2159,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_northeast_1/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-apigatewayv2-integration.json
new file mode 100644
index 0000000000..e7b7290e95
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_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/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-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-rds-globalcluster.json
new file mode 100644
index 0000000000..9cf0aaadab
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_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_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..4ac7de008c 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",
@@ -1037,7 +1040,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_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_south_2/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-globalcluster.json
new file mode 100644
index 0000000000..9cf0aaadab
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_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_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-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..fdc5e32df1 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py
@@ -1264,7 +1264,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",
@@ -1541,7 +1540,6 @@
"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",
@@ -1656,7 +1654,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 +1775,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 +1823,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 +1939,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 +1963,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 +2032,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",
@@ -2152,7 +2148,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_2/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-apigatewayv2-integration.json
new file mode 100644
index 0000000000..e7b7290e95
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/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/ap_southeast_1/aws-deadline-fleet.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-deadline-fleet.json
similarity index 99%
rename from src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-fleet.json
rename to src/cfnlint/data/schemas/providers/ap_southeast_2/aws-deadline-fleet.json
index 5fa78cdcc1..4a335d541a 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-deadline-fleet.json
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-deadline-fleet.json
@@ -566,6 +566,7 @@
"required": [
"Configuration",
"DisplayName",
+ "FarmId",
"MaxWorkerCount",
"RoleArn"
],
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_2/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-globalcluster.json
new file mode 100644
index 0000000000..9cf0aaadab
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_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_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..58745399d1 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py
@@ -639,6 +639,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",
@@ -782,7 +783,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 +804,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 +825,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 +897,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 +905,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",
@@ -953,7 +953,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",
@@ -1035,7 +1034,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/eu_west_1/aws-lambda-function.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/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/ap_southeast_4/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/ap_southeast_4/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/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..30dc256eab 100644
--- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py
@@ -1132,7 +1132,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",
@@ -1414,7 +1413,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 +1440,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 +1473,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 +1574,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 +1586,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 +1601,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 +1717,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 +1780,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",
@@ -1892,7 +1889,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/ca_central_1/aws-apigatewayv2-integration.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-apigatewayv2-integration.json
new file mode 100644
index 0000000000..e7b7290e95
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_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/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_central_1/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-globalcluster.json
new file mode 100644
index 0000000000..9cf0aaadab
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_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/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_south_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_south_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_south_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/cn_northwest_1/aws-lambda-function.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-lambda-function.json
new file mode 100644
index 0000000000..d7aa0b43a0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/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\\.\\-_]*(?