From dc19b5b2f18e70f0efa1efcf7f210fecba18f440 Mon Sep 17 00:00:00 2001
From: kddejong <36457093+kddejong@users.noreply.github.com>
Date: Fri, 26 Jul 2024 06:30:41 +0000
Subject: [PATCH] Update CloudFormation schemas to 2024-07-26
---
docs/rules.md | 4 +-
.../data/AdditionalSpecs/Policies.json | 42 +-
...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 +-
.../data/Serverless/ManagedPolicies.json | 1 +
.../aws_rds_dbcluster/engine_version.json | 4 +-
.../aws_rds_dbinstance/engine_version.json | 16 +-
.../boto.json | 2 +
.../all/aws_ec2_launchtemplate/boto.json | 2 +-
.../schemas/providers/af_south_1/__init__.py | 16 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../af_south_1/aws-batch-jobdefinition.json | 992 ++++++++++
.../providers/af_south_1/aws-fms-policy.json | 472 +++++
...balaccelerator-crossaccountattachment.json | 123 ++
.../af_south_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../af_south_1/aws-lambda-alias.json | 88 -
.../af_south_1/aws-rds-integration.json | 154 ++
.../af_south_1/aws-sagemaker-app.json | 210 +++
.../af_south_1/aws-sagemaker-domain.json | 831 +++++++++
.../af_south_1/aws-sagemaker-model.json | 235 +++
.../af_south_1/aws-sagemaker-space.json | 436 +++++
.../af_south_1/aws-sagemaker-userprofile.json | 592 ++++++
.../aws-secretsmanager-resourcepolicy.json} | 22 +-
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../schemas/providers/ap_east_1/__init__.py | 9 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../aws-ec2-trafficmirrorfilterrule.json | 74 -
.../providers/ap_east_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../providers/ap_east_1/aws-lambda-alias.json | 88 -
.../ap_east_1/aws-rds-integration.json | 154 ++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../ap_east_1/aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../providers/ap_northeast_1/__init__.py | 23 +-
.../aws-cleanroomsml-trainingdataset.json | 249 +++
.../aws-dms-replicationconfig.json | 204 ---
.../aws-inspectorv2-cisscanconfiguration.json | 245 +++
.../aws-organizations-organization.json | 88 -
.../ap_northeast_1/aws-sagemaker-app.json | 210 +++
.../ap_northeast_1/aws-sagemaker-domain.json | 831 +++++++++
.../ap_northeast_1/aws-sagemaker-space.json | 436 +++++
.../aws-sagemaker-userprofile.json | 592 ++++++
.../aws-shield-protectiongroup.json | 141 --
.../aws-workspacesweb-portal.json | 311 ----
.../aws-workspacesweb-usersettings.json | 250 ---
.../providers/ap_northeast_2/__init__.py | 17 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../aws-batch-jobdefinition.json | 992 ++++++++++
.../aws-cleanroomsml-trainingdataset.json | 249 +++
.../ap_northeast_2/aws-fms-policy.json | 472 +++++
...balaccelerator-crossaccountattachment.json | 123 ++
.../ap_northeast_2/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../ap_northeast_2/aws-lambda-alias.json | 88 -
.../ap_northeast_2/aws-rds-integration.json | 154 ++
.../ap_northeast_2/aws-sagemaker-app.json | 210 +++
.../ap_northeast_2/aws-sagemaker-domain.json | 831 +++++++++
.../ap_northeast_2/aws-sagemaker-model.json | 235 +++
.../ap_northeast_2/aws-sagemaker-space.json | 436 +++++
.../aws-sagemaker-userprofile.json | 592 ++++++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../providers/ap_northeast_3/__init__.py | 11 -
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../aws-batch-jobdefinition.json | 992 ++++++++++
.../ap_northeast_3/aws-fms-policy.json | 472 +++++
.../ap_northeast_3/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../ap_northeast_3/aws-rds-integration.json | 154 ++
.../ap_northeast_3/aws-sagemaker-app.json | 210 +++
.../ap_northeast_3/aws-sagemaker-domain.json | 831 +++++++++
.../ap_northeast_3/aws-sagemaker-model.json | 235 +++
.../ap_northeast_3/aws-sagemaker-space.json | 436 +++++
.../aws-sagemaker-userprofile.json | 592 ++++++
.../schemas/providers/ap_south_1/__init__.py | 24 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../ap_south_1/aws-batch-jobdefinition.json | 992 ++++++++++
.../providers/ap_south_1/aws-fms-policy.json | 472 +++++
.../ap_south_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../aws-organizations-organization.json | 88 -
.../ap_south_1/aws-rds-integration.json | 154 ++
.../ap_south_1/aws-sagemaker-app.json | 210 +++
.../ap_south_1/aws-sagemaker-domain.json | 831 +++++++++
.../ap_south_1/aws-sagemaker-model.json | 235 +++
.../ap_south_1/aws-sagemaker-space.json | 436 +++++
.../ap_south_1/aws-sagemaker-userprofile.json | 592 ++++++
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../schemas/providers/ap_south_2/__init__.py | 12 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../ap_south_2/aws-batch-jobdefinition.json | 992 ++++++++++
.../providers/ap_south_2/aws-fms-policy.json | 472 +++++
...balaccelerator-crossaccountattachment.json | 123 ++
.../ap_south_2/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../ap_south_2/aws-lambda-alias.json | 88 -
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../providers/ap_southeast_1/__init__.py | 26 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../aws-batch-jobdefinition.json | 992 ++++++++++
.../aws-cleanroomsml-trainingdataset.json | 249 +++
.../aws-codeartifact-packagegroup.json | 195 ++
.../ap_southeast_1/aws-fms-policy.json | 472 +++++
.../ap_southeast_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../aws-organizations-organization.json | 88 -
.../ap_southeast_1/aws-rds-integration.json | 154 ++
.../ap_southeast_1/aws-sagemaker-app.json | 210 +++
.../ap_southeast_1/aws-sagemaker-domain.json | 831 +++++++++
.../ap_southeast_1/aws-sagemaker-model.json | 235 +++
.../ap_southeast_1/aws-sagemaker-space.json | 436 +++++
.../aws-sagemaker-userprofile.json | 592 ++++++
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../providers/ap_southeast_2/__init__.py | 26 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../aws-batch-jobdefinition.json | 992 ++++++++++
.../aws-cleanroomsml-trainingdataset.json | 249 +++
.../aws-codeartifact-packagegroup.json | 195 ++
.../ap_southeast_2/aws-fms-policy.json | 472 +++++
.../ap_southeast_2/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../aws-organizations-organization.json | 88 -
.../ap_southeast_2/aws-rds-integration.json | 154 ++
.../ap_southeast_2/aws-sagemaker-app.json | 210 +++
.../ap_southeast_2/aws-sagemaker-domain.json | 831 +++++++++
.../ap_southeast_2/aws-sagemaker-model.json | 235 +++
.../ap_southeast_2/aws-sagemaker-space.json | 436 +++++
.../aws-sagemaker-userprofile.json | 592 ++++++
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../providers/ap_southeast_3/__init__.py | 16 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../ap_southeast_3/aws-fms-policy.json | 472 +++++
...balaccelerator-crossaccountattachment.json | 123 ++
.../ap_southeast_3/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../ap_southeast_3/aws-lambda-alias.json | 88 -
.../aws-rds-dbcluster.json | 1 -
.../aws-rds-dbinstance.json | 1 -
.../ap_southeast_3/aws-sagemaker-app.json | 210 +++
.../ap_southeast_3/aws-sagemaker-domain.json | 831 +++++++++
.../ap_southeast_3/aws-sagemaker-model.json | 235 +++
.../ap_southeast_3/aws-sagemaker-space.json | 436 +++++
.../aws-sagemaker-userprofile.json | 592 ++++++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../providers/ap_southeast_4/__init__.py | 11 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../aws-ec2-trafficmirrorfilterrule.json | 74 -
.../ap_southeast_4/aws-fms-policy.json | 472 +++++
.../ap_southeast_4/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../ap_southeast_4/aws-lambda-alias.json | 88 -
.../aws-mediapackagev2-channel.json | 153 ++
.../aws-mediapackagev2-originendpoint.json | 627 +++++++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../providers/ca_central_1/__init__.py | 17 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../ca_central_1/aws-batch-jobdefinition.json | 992 ++++++++++
.../ca_central_1/aws-fms-policy.json | 472 +++++
.../ca_central_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../ca_central_1/aws-lambda-alias.json | 88 -
.../ca_central_1/aws-rds-integration.json | 154 ++
.../ca_central_1/aws-sagemaker-app.json | 210 +++
.../ca_central_1/aws-sagemaker-domain.json | 831 +++++++++
.../ca_central_1/aws-sagemaker-model.json | 235 +++
.../ca_central_1/aws-sagemaker-space.json | 436 +++++
.../aws-sagemaker-userprofile.json | 592 ++++++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../schemas/providers/ca_west_1/__init__.py | 14 +-
...-applicationautoscaling-scalingpolicy.json | 2 +
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../aws-ec2-keypair.json | 4 -
.../providers/ca_west_1/aws-fms-policy.json | 472 +++++
...balaccelerator-crossaccountattachment.json | 123 ++
.../providers/ca_west_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../aws-rds-dbcluster.json | 1 -
.../aws-rds-dbinstance.json | 1 -
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../ca_west_1/aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../schemas/providers/cn_north_1/__init__.py | 14 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../cn_north_1/aws-batch-jobdefinition.json | 992 ++++++++++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../aws-organizations-organization.json | 88 -
.../cn_north_1/aws-sagemaker-app.json | 210 +++
.../cn_north_1/aws-sagemaker-model.json | 235 +++
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../providers/cn_north_1/aws-xray-group.json | 105 ++
.../cn_north_1/aws-xray-samplingrule.json | 255 +++
.../providers/cn_northwest_1/__init__.py | 24 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../aws-batch-jobdefinition.json | 992 ++++++++++
.../cn_northwest_1/aws-ec2-keypair.json | 122 ++
.../cn_northwest_1/aws-fms-policy.json | 472 +++++
.../cn_northwest_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../aws-rds-dbcluster.json | 11 +
.../cn_northwest_1/aws-rds-dbinstance.json | 620 +++++++
.../cn_northwest_1/aws-rds-integration.json | 154 ++
.../cn_northwest_1/aws-sagemaker-app.json | 210 +++
.../cn_northwest_1/aws-sagemaker-domain.json | 831 +++++++++
.../cn_northwest_1/aws-sagemaker-model.json | 235 +++
.../aws-sagemaker-userprofile.json | 592 ++++++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../cn_northwest_1/aws-xray-group.json | 105 ++
.../cn_northwest_1/aws-xray-samplingrule.json | 255 +++
.../providers/eu_central_1/__init__.py | 29 +-
.../aws-cleanroomsml-trainingdataset.json | 249 +++
.../aws-dms-replicationconfig.json | 204 ---
.../eu_central_1/aws-ec2-securitygroup.json | 240 +++
.../eu_central_1/aws-ec2-vpnconnection.json | 4 +
.../aws-ec2-vpngatewayroutepropagation.json | 57 +
.../eu_central_1/aws-eks-cluster.json | 409 -----
.../aws-inspectorv2-cisscanconfiguration.json | 245 +++
.../eu_central_1/aws-ivschat-room.json | 158 ++
.../aws-organizations-organization.json | 88 -
.../aws-route53-cidrcollection.json | 101 ++
.../eu_central_1/aws-sagemaker-app.json | 210 +++
.../eu_central_1/aws-sagemaker-domain.json | 831 +++++++++
.../aws-sagemaker-modelpackage.json | 1135 ++++++++++++
.../eu_central_1/aws-sagemaker-space.json | 436 +++++
.../aws-sagemaker-userprofile.json | 592 ++++++
.../aws-secretsmanager-resourcepolicy.json | 73 -
.../aws-securityhub-securitycontrol.json | 209 +++
.../aws-shield-protectiongroup.json | 141 --
.../aws-workspacesweb-portal.json | 311 ----
.../aws-workspacesweb-usersettings.json | 250 ---
.../providers/eu_central_2/__init__.py | 11 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../aws-ec2-trafficmirrorfilterrule.json | 74 -
.../eu_central_2/aws-fms-policy.json | 472 +++++
.../eu_central_2/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../eu_central_2/aws-lambda-alias.json | 88 -
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../schemas/providers/eu_north_1/__init__.py | 12 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../aws-cleanroomsml-trainingdataset.json | 249 +++
.../aws-ec2-trafficmirrorfilterrule.json | 74 -
.../eu_north_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../eu_north_1/aws-lambda-alias.json | 88 -
.../eu_north_1/aws-rds-integration.json | 154 ++
.../eu_north_1/aws-sagemaker-app.json | 210 +++
.../eu_north_1/aws-sagemaker-domain.json | 831 +++++++++
.../eu_north_1/aws-sagemaker-space.json | 436 +++++
.../eu_north_1/aws-sagemaker-userprofile.json | 592 ++++++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../schemas/providers/eu_south_1/__init__.py | 17 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../eu_south_1/aws-batch-jobdefinition.json | 992 ++++++++++
.../providers/eu_south_1/aws-ec2-keypair.json | 122 ++
.../providers/eu_south_1/aws-fms-policy.json | 472 +++++
...balaccelerator-crossaccountattachment.json | 123 ++
.../eu_south_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../eu_south_1/aws-lambda-alias.json | 88 -
.../eu_south_1/aws-rds-integration.json | 154 ++
.../eu_south_1/aws-sagemaker-app.json | 210 +++
.../eu_south_1/aws-sagemaker-domain.json | 831 +++++++++
.../eu_south_1/aws-sagemaker-model.json | 235 +++
.../eu_south_1/aws-sagemaker-space.json | 436 +++++
.../eu_south_1/aws-sagemaker-userprofile.json | 592 ++++++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../schemas/providers/eu_south_2/__init__.py | 14 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../eu_south_2/aws-batch-jobdefinition.json | 992 ++++++++++
.../aws-controltower-enabledcontrol.json | 183 --
.../providers/eu_south_2/aws-fms-policy.json | 472 +++++
...balaccelerator-crossaccountattachment.json | 123 ++
.../eu_south_2/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../eu_south_2/aws-lambda-alias.json | 88 -
.../eu_south_2/aws-sagemaker-app.json | 210 +++
.../eu_south_2/aws-sagemaker-domain.json | 831 +++++++++
.../eu_south_2/aws-sagemaker-userprofile.json | 592 ++++++
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../schemas/providers/eu_west_1/__init__.py | 19 +-
.../aws-cleanroomsml-trainingdataset.json | 249 +++
.../aws-ec2-trafficmirrorfilterrule.json | 74 -
.../providers/eu_west_1/aws-glue-trigger.json | 172 ++
.../eu_west_1/aws-sagemaker-app.json | 210 +++
.../eu_west_1/aws-sagemaker-domain.json | 831 +++++++++
.../eu_west_1/aws-sagemaker-space.json | 436 +++++
.../eu_west_1/aws-sagemaker-userprofile.json | 592 ++++++
.../schemas/providers/eu_west_2/__init__.py | 10 +-
.../aws-cleanroomsml-trainingdataset.json | 249 +++
.../providers/eu_west_2/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../eu_west_2/aws-rds-integration.json | 154 ++
.../schemas/providers/eu_west_3/__init__.py | 26 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../eu_west_3/aws-batch-jobdefinition.json | 992 ++++++++++
.../aws-codeartifact-packagegroup.json | 195 ++
.../providers/eu_west_3/aws-fms-policy.json | 472 +++++
.../providers/eu_west_3/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../providers/eu_west_3/aws-lambda-alias.json | 88 -
.../eu_west_3/aws-rds-integration.json | 154 ++
.../eu_west_3/aws-sagemaker-app.json | 210 +++
.../eu_west_3/aws-sagemaker-domain.json | 831 +++++++++
.../eu_west_3/aws-sagemaker-model.json | 235 +++
.../eu_west_3/aws-sagemaker-space.json | 436 +++++
.../eu_west_3/aws-sagemaker-userprofile.json | 592 ++++++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../eu_west_3/aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../providers/il_central_1/__init__.py | 18 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../il_central_1/aws-batch-jobdefinition.json | 992 ++++++++++
.../il_central_1/aws-ec2-keypair.json | 122 ++
.../il_central_1/aws-fms-policy.json | 472 +++++
...balaccelerator-crossaccountattachment.json | 123 ++
.../il_central_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../il_central_1/aws-lambda-alias.json | 88 -
.../il_central_1/aws-rds-dbcluster.json | 469 +++++
.../il_central_1/aws-rds-dbinstance.json | 620 +++++++
.../il_central_1/aws-sagemaker-app.json | 210 +++
.../il_central_1/aws-sagemaker-domain.json | 831 +++++++++
.../aws-sagemaker-userprofile.json | 592 ++++++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../providers/me_central_1/__init__.py | 11 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../aws-ec2-trafficmirrorfilterrule.json | 74 -
.../me_central_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../me_central_1/aws-lambda-alias.json | 88 -
.../me_central_1/aws-sagemaker-app.json | 210 +++
.../me_central_1/aws-sagemaker-domain.json | 831 +++++++++
.../aws-sagemaker-userprofile.json | 592 ++++++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../schemas/providers/me_south_1/__init__.py | 16 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../me_south_1/aws-batch-jobdefinition.json | 992 ++++++++++
.../providers/me_south_1/aws-fms-policy.json | 472 +++++
...balaccelerator-crossaccountattachment.json | 123 ++
.../me_south_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../me_south_1/aws-lambda-alias.json | 88 -
.../me_south_1/aws-rds-integration.json | 154 ++
.../me_south_1/aws-sagemaker-app.json | 210 +++
.../me_south_1/aws-sagemaker-domain.json | 831 +++++++++
.../me_south_1/aws-sagemaker-model.json | 235 +++
.../me_south_1/aws-sagemaker-space.json | 436 +++++
.../me_south_1/aws-sagemaker-userprofile.json | 592 ++++++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../schemas/providers/sa_east_1/__init__.py | 16 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../sa_east_1/aws-batch-jobdefinition.json | 992 ++++++++++
.../providers/sa_east_1/aws-fms-policy.json | 472 +++++
.../providers/sa_east_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../aws-organizations-organization.json | 88 -
.../sa_east_1/aws-rds-integration.json | 154 ++
.../sa_east_1/aws-sagemaker-app.json | 210 +++
.../sa_east_1/aws-sagemaker-domain.json | 831 +++++++++
.../sa_east_1/aws-sagemaker-model.json | 235 +++
.../sa_east_1/aws-sagemaker-space.json | 436 +++++
.../sa_east_1/aws-sagemaker-userprofile.json | 592 ++++++
.../schemas/providers/us_east_1/__init__.py | 6 +
...-applicationautoscaling-scalingpolicy.json | 2 +
...t-autoshiftobservernotificationstatus.json | 73 +
...onalshift-zonalautoshiftconfiguration.json | 8 +-
.../us_east_1/aws-batch-jobdefinition.json | 3 +
.../us_east_1/aws-bedrock-datasource.json | 2 +-
.../aws-bedrock-flow.json | 0
.../aws-bedrock-flowalias.json | 0
.../aws-bedrock-flowversion.json | 0
.../us_east_1/aws-bedrock-knowledgebase.json | 108 +-
.../aws-bedrock-prompt.json | 0
.../aws-bedrock-promptversion.json | 0
.../aws-cleanroomsml-trainingdataset.json | 4 +
.../aws-codeartifact-packagegroup.json | 5 +
.../aws-connectcampaigns-campaign.json | 4 +
.../us_east_1/aws-dms-replicationconfig.json | 15 +-
.../providers/us_east_1/aws-ec2-keypair.json | 4 +
.../us_east_1/aws-ec2-launchtemplate.json | 2 +-
.../aws-ecr-repositorycreationtemplate.json | 11 +-
.../providers/us_east_1/aws-eks-cluster.json | 64 +
.../us_east_1/aws-eks-nodegroup.json | 4 +
...ws-entityresolution-idmappingworkflow.json | 10 +-
.../providers/us_east_1/aws-fms-policy.json | 2 +-
...balaccelerator-crossaccountattachment.json | 6 +-
.../providers/us_east_1/aws-glue-trigger.json | 54 +-
.../aws-kinesisfirehose-deliverystream.json | 126 ++
.../aws-mediaconnect-flowoutput.json | 7 +
.../us_east_1/aws-mediapackagev2-channel.json | 13 +-
.../aws-mediapackagev2-originendpoint.json | 24 +
.../aws-organizations-organization.json | 4 +-
.../us_east_1/aws-rds-dbcluster.json | 1 +
.../us_east_1/aws-rds-dbinstance.json | 1 +
.../us_east_1/aws-rds-integration.json | 4 +
.../us_east_1/aws-s3outposts-bucket.json | 5 +
.../us_east_1/aws-sagemaker-app.json | 5 +
.../us_east_1/aws-sagemaker-domain.json | 18 +
.../us_east_1/aws-sagemaker-model.json | 15 +
.../us_east_1/aws-sagemaker-space.json | 28 +
.../us_east_1/aws-sagemaker-userprofile.json | 23 +
.../aws-secretsmanager-resourcepolicy.json | 50 +-
.../us_east_1/aws-shield-protectiongroup.json | 5 +
.../us_east_1/aws-workspacesweb-portal.json | 9 +-
.../aws-workspacesweb-usersettings.json | 3 +
.../providers/us_east_1/aws-xray-group.json | 7 +
.../us_east_1/aws-xray-samplingrule.json | 7 +
.../schemas/providers/us_east_2/__init__.py | 14 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../us_east_2/aws-batch-jobdefinition.json | 992 ++++++++++
.../aws-codeartifact-packagegroup.json | 195 ++
...ws-entityresolution-idmappingworkflow.json | 344 ++++
.../providers/us_east_2/aws-fms-policy.json | 472 +++++
...balaccelerator-crossaccountattachment.json | 123 ++
.../providers/us_east_2/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../providers/us_east_2/aws-lambda-alias.json | 88 -
.../us_east_2/aws-rds-integration.json | 154 ++
.../us_east_2/aws-sagemaker-model.json | 235 +++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../us_east_2/aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 256 ---
.../providers/us_gov_east_1/__init__.py | 15 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../aws-batch-jobdefinition.json | 992 ++++++++++
.../us_gov_east_1/aws-ec2-keypair.json | 122 ++
.../us_gov_east_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../us_gov_east_1/aws-rds-dbcluster.json | 469 +++++
.../us_gov_east_1/aws-rds-dbinstance.json | 620 +++++++
.../us_gov_east_1/aws-sagemaker-app.json | 210 +++
.../us_gov_east_1/aws-sagemaker-domain.json | 831 +++++++++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 260 ---
.../aws-stepfunctions-statemachinealias.json | 173 --
.../us_gov_east_1/aws-xray-group.json | 105 ++
.../us_gov_east_1/aws-xray-samplingrule.json | 255 +++
.../providers/us_gov_west_1/__init__.py | 16 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../aws-batch-jobdefinition.json | 992 ++++++++++
.../us_gov_west_1/aws-ec2-keypair.json | 122 ++
.../us_gov_west_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../us_gov_west_1/aws-rds-dbcluster.json | 469 +++++
.../us_gov_west_1/aws-rds-dbinstance.json | 620 +++++++
.../us_gov_west_1/aws-sagemaker-app.json | 210 +++
.../us_gov_west_1/aws-sagemaker-domain.json | 831 +++++++++
.../us_gov_west_1/aws-sagemaker-model.json | 235 +++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../aws-stepfunctions-activity.json | 98 -
.../aws-stepfunctions-statemachine.json | 260 ---
.../aws-stepfunctions-statemachinealias.json | 173 --
.../us_gov_west_1/aws-xray-group.json | 105 ++
.../us_gov_west_1/aws-xray-samplingrule.json | 255 +++
.../schemas/providers/us_west_1/__init__.py | 14 +-
...onalshift-zonalautoshiftconfiguration.json | 169 ++
.../us_west_1/aws-batch-jobdefinition.json | 992 ++++++++++
.../providers/us_west_1/aws-fms-policy.json | 472 +++++
.../providers/us_west_1/aws-glue-trigger.json | 172 ++
.../aws-kinesisfirehose-deliverystream.json | 1607 +++++++++++++++++
.../providers/us_west_1/aws-lambda-alias.json | 88 -
.../aws-mediaconnect-flowoutput.json | 248 ---
.../us_west_1/aws-rds-integration.json | 154 ++
.../us_west_1/aws-sagemaker-app.json | 210 +++
.../us_west_1/aws-sagemaker-domain.json | 831 +++++++++
.../us_west_1/aws-sagemaker-model.json | 235 +++
.../us_west_1/aws-sagemaker-space.json | 436 +++++
.../us_west_1/aws-sagemaker-userprofile.json | 592 ++++++
.../aws-secretsmanager-resourcepolicy.json | 35 +
.../schemas/providers/us_west_2/__init__.py | 17 +-
.../aws-cleanroomsml-trainingdataset.json | 249 +++
...balaccelerator-crossaccountattachment.json | 123 ++
.../aws-inspectorv2-cisscanconfiguration.json | 245 +++
.../aws-organizations-organization.json | 88 -
.../us_west_2/aws-route53-cidrcollection.json | 101 ++
534 files changed, 150610 insertions(+), 13935 deletions(-)
create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-fms-policy.json
create 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-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-userprofile.json
rename src/cfnlint/data/schemas/providers/{ca_west_1/aws-ec2-subnetcidrblock.json => af_south_1/aws-secretsmanager-resourcepolicy.json} (50%)
delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-arczonalshift-zonalautoshiftconfiguration.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-trafficmirrorfilterrule.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanroomsml-trainingdataset.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-dms-replicationconfig.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-inspectorv2-cisscanconfiguration.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-organization.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-userprofile.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-shield-protectiongroup.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-portal.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-usersettings.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanroomsml-trainingdataset.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-globalaccelerator-crossaccountattachment.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-kinesisfirehose-deliverystream.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-organizations-organization.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-userprofile.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-globalaccelerator-crossaccountattachment.json
create 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-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-cleanroomsml-trainingdataset.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-codeartifact-packagegroup.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-organizations-organization.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-userprofile.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cleanroomsml-trainingdataset.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-codeartifact-packagegroup.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-organizations-organization.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-userprofile.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-globalaccelerator-crossaccountattachment.json
create 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-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-lambda-alias.json
rename src/cfnlint/data/schemas/providers/{eu_central_1 => ap_southeast_3}/aws-rds-dbcluster.json (99%)
rename src/cfnlint/data/schemas/providers/{cn_north_1 => ap_southeast_3}/aws-rds-dbinstance.json (99%)
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-arczonalshift-zonalautoshiftconfiguration.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-trafficmirrorfilterrule.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-mediapackagev2-channel.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-mediapackagev2-originendpoint.json
create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-secretsmanager-resourcepolicy.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-arczonalshift-zonalautoshiftconfiguration.json
rename src/cfnlint/data/schemas/providers/{eu_central_1 => ca_west_1}/aws-ec2-keypair.json (96%)
create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-globalaccelerator-crossaccountattachment.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-kinesisfirehose-deliverystream.json
rename src/cfnlint/data/schemas/providers/{cn_north_1 => ca_west_1}/aws-rds-dbcluster.json (99%)
rename src/cfnlint/data/schemas/providers/{eu_central_1 => ca_west_1}/aws-rds-dbinstance.json (99%)
create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-organizations-organization.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-model.json
delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-xray-group.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-xray-samplingrule.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-keypair.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-kinesisfirehose-deliverystream.json
rename src/cfnlint/data/schemas/providers/{eu_south_2 => cn_northwest_1}/aws-rds-dbcluster.json (97%)
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbinstance.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-xray-group.json
create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-xray-samplingrule.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-cleanroomsml-trainingdataset.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-dms-replicationconfig.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-securitygroup.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpngatewayroutepropagation.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-cluster.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-inspectorv2-cisscanconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-ivschat-room.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-organizations-organization.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-route53-cidrcollection.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-modelpackage.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-userprofile.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-secretsmanager-resourcepolicy.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-securityhub-securitycontrol.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-shield-protectiongroup.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-workspacesweb-portal.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-workspacesweb-usersettings.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-arczonalshift-zonalautoshiftconfiguration.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-trafficmirrorfilterrule.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-cleanroomsml-trainingdataset.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-trafficmirrorfilterrule.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-secretsmanager-resourcepolicy.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-keypair.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-globalaccelerator-crossaccountattachment.json
create 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-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-batch-jobdefinition.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-controltower-enabledcontrol.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-globalaccelerator-crossaccountattachment.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-sagemaker-userprofile.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-cleanroomsml-trainingdataset.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-ec2-trafficmirrorfilterrule.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-cleanroomsml-trainingdataset.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-kinesisfirehose-deliverystream.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-codeartifact-packagegroup.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-keypair.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-globalaccelerator-crossaccountattachment.json
create 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-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbinstance.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-arczonalshift-zonalautoshiftconfiguration.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-trafficmirrorfilterrule.json
create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-globalaccelerator-crossaccountattachment.json
create 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-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-organizations-organization.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_1/aws-arczonalshift-autoshiftobservernotificationstatus.json
rename src/cfnlint/data/schemas/providers/{eu_central_1 => us_east_1}/aws-bedrock-flow.json (100%)
rename src/cfnlint/data/schemas/providers/{eu_central_1 => us_east_1}/aws-bedrock-flowalias.json (100%)
rename src/cfnlint/data/schemas/providers/{eu_central_1 => us_east_1}/aws-bedrock-flowversion.json (100%)
rename src/cfnlint/data/schemas/providers/{eu_central_1 => us_east_1}/aws-bedrock-prompt.json (100%)
rename src/cfnlint/data/schemas/providers/{eu_central_1 => us_east_1}/aws-bedrock-promptversion.json (100%)
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-codeartifact-packagegroup.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-entityresolution-idmappingworkflow.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-globalaccelerator-crossaccountattachment.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-lambda-alias.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-stepfunctions-statemachine.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-keypair.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-kinesisfirehose-deliverystream.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbcluster.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbinstance.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-stepfunctions-statemachine.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-stepfunctions-statemachinealias.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-xray-group.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-xray-samplingrule.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-keypair.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-kinesisfirehose-deliverystream.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbinstance.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-secretsmanager-resourcepolicy.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-stepfunctions-activity.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-stepfunctions-statemachine.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-stepfunctions-statemachinealias.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-xray-group.json
create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-xray-samplingrule.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-arczonalshift-zonalautoshiftconfiguration.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-batch-jobdefinition.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-fms-policy.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-glue-trigger.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-kinesisfirehose-deliverystream.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-lambda-alias.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-flowoutput.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-rds-integration.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-app.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-domain.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-model.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-space.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-userprofile.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-secretsmanager-resourcepolicy.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-cleanroomsml-trainingdataset.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-globalaccelerator-crossaccountattachment.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-inspectorv2-cisscanconfiguration.json
delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-organizations-organization.json
create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-route53-cidrcollection.json
diff --git a/docs/rules.md b/docs/rules.md
index b5894de431..701b5e5c2b 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 **221** rules are applied by this linter:
+The following **223** rules are applied by this linter:
| Rule ID | Title | Description | Config
(Name:Type:Default) | Source | Tags |
| -------- | ----- | ----------- | ---------- | ------ | ---- |
@@ -234,6 +234,7 @@ The following **221** rules are applied by this linter:
| [W1011](../src/cfnlint/rules/parameters/DynamicReferenceSecret.py) | Instead of REFing a parameter for a secret use a dynamic reference | Instead of REFing a parameter for a secret use a dynamic reference. Solutions like SSM parameter store and secrets manager provide better security of sercrets | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/security-best-practices.html#creds) | `functions`,`dynamic reference`,`ref` |
| [W1019](../src/cfnlint/rules/functions/SubParametersUsed.py) | Validate that parameters to a Fn::Sub are used | Validate that Fn::Sub Parameters are used | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) | `functions`,`sub` |
| [W1020](../src/cfnlint/rules/functions/SubUnneeded.py) | Sub isn't needed if it doesn't have a variable defined | Checks sub strings to see if a variable is defined. | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) | `functions`,`sub` |
+| [W1028](../src/cfnlint/rules/functions/IfUnsatisfiable.py) | Check Fn::If has a path that cannot be reached | Check Fn::If path can be reached | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-if) | `functions`,`if` |
| [W1030](../src/cfnlint/rules/functions/RefResolved.py) | Validate the values that come from a Ref function | Resolve the Ref and then validate the values against the schema | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) | `functions`,`ref` |
| [W1031](../src/cfnlint/rules/functions/SubResolved.py) | Validate the values that come from a Fn::Sub function | Resolve the Fn::Sub and then validate the values against the schema | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) | `functions`,`sub` |
| [W1032](../src/cfnlint/rules/functions/JoinResolved.py) | Validate the values that come from a Fn::Join function | Resolve the Fn::Join and then validate the values against the schema | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) | `functions`,`join` |
@@ -259,6 +260,7 @@ The following **221** rules are applied by this linter:
| [W3034](../src/cfnlint/rules/parameters/NumberRange.py) | Check if parameter values are between min and max | Check if parameter values value being between the minimum and maximum | | [Source](https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#number-size) | `resources`,`property`,`number`,`size` |
| [W3037*](../src/cfnlint/rules/resources/iam/Permissions.py) | Check IAM Permission configuration | Check for valid IAM Permissions | | [Source](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_action.html) | `properties`,`iam`,`permissions` |
| [W3045](../src/cfnlint/rules/resources/s3/AccessControlObsolete.py) | Controlling access to an S3 bucket should be done with bucket policies | Nearly all access control configurations can be more successfully achieved with bucket policies. Consider using bucket policies instead of access control. | | [Source](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) | `resources`,`s3` |
+| [W3663](../src/cfnlint/rules/resources/lmbd/PermissionSourceAccount.py) | Validate SourceAccount is required property | When configuration a Lambda permission with a SourceArn that doesn't have an AccountId you should also specify the SourceAccount | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-sourceaccount) | `resources`,`lambda`,`permission` |
| [W3687](../src/cfnlint/rules/resources/ectwo/SecurityGroupProtocolsAndPortsExclusive.py) | Validate that ports aren't specified for certain protocols | When using a protocol other than icmp, icmpv6, tcp, or udp the port ranges properties are ignored | | [Source]() | `resources` |
| [W3688](../src/cfnlint/rules/resources/rds/DbClusterSnapshotIdentifier.py) | When restoring DBCluster certain properties are ignored | When creating a DBCluster extra properties are ignored and could result in drift | | [Source]() | `resources`,`rds` |
| [W3689](../src/cfnlint/rules/resources/rds/DbClusterSourceDBClusterIdentifier.py) | When using a source DB certain properties are ignored | When creating a DBCluster from a source certain properties are ignored and could result in drift | | [Source]() | `resources`,`rds` |
diff --git a/src/cfnlint/data/AdditionalSpecs/Policies.json b/src/cfnlint/data/AdditionalSpecs/Policies.json
index f174426ef5..81312adb70 100644
--- a/src/cfnlint/data/AdditionalSpecs/Policies.json
+++ b/src/cfnlint/data/AdditionalSpecs/Policies.json
@@ -2,12 +2,12 @@
"VPCPolicyServiceActionMap": {
"Amazon DynamoDB For VPC Policies": [
"DescribeContinuousBackups",
- "DescribeBackup",
"DescribeReservedCapacity",
+ "DescribeBackup",
"PurchaseReservedCapacityOfferings",
"ListBackups",
- "DeleteItem",
"Query",
+ "DeleteItem",
"DeleteBackup",
"DescribeTable",
"CreateTable",
@@ -1542,6 +1542,9 @@
"CreateConfiguredTable",
"CreateConfiguredTableAnalysisRule",
"CreateConfiguredTableAssociation",
+ "CreateConfiguredTableAssociationAnalysisRule",
+ "CreateIdMappingTable",
+ "CreateIdNamespaceAssociation",
"CreateMembership",
"CreatePrivacyBudgetTemplate",
"DeleteAnalysisTemplate",
@@ -1550,6 +1553,9 @@
"DeleteConfiguredTable",
"DeleteConfiguredTableAnalysisRule",
"DeleteConfiguredTableAssociation",
+ "DeleteConfiguredTableAssociationAnalysisRule",
+ "DeleteIdMappingTable",
+ "DeleteIdNamespaceAssociation",
"DeleteMember",
"DeleteMembership",
"DeletePrivacyBudgetTemplate",
@@ -1557,11 +1563,15 @@
"GetCollaboration",
"GetCollaborationAnalysisTemplate",
"GetCollaborationConfiguredAudienceModelAssociation",
+ "GetCollaborationIdNamespaceAssociation",
"GetCollaborationPrivacyBudgetTemplate",
"GetConfiguredAudienceModelAssociation",
"GetConfiguredTable",
"GetConfiguredTableAnalysisRule",
"GetConfiguredTableAssociation",
+ "GetConfiguredTableAssociationAnalysisRule",
+ "GetIdMappingTable",
+ "GetIdNamespaceAssociation",
"GetMembership",
"GetPrivacyBudgetTemplate",
"GetProtectedQuery",
@@ -1570,12 +1580,15 @@
"ListAnalysisTemplates",
"ListCollaborationAnalysisTemplates",
"ListCollaborationConfiguredAudienceModelAssociations",
+ "ListCollaborationIdNamespaceAssociations",
"ListCollaborationPrivacyBudgetTemplates",
"ListCollaborationPrivacyBudgets",
"ListCollaborations",
"ListConfiguredAudienceModelAssociations",
"ListConfiguredTableAssociations",
"ListConfiguredTables",
+ "ListIdMappingTables",
+ "ListIdNamespaceAssociations",
"ListMembers",
"ListMemberships",
"ListPrivacyBudgetTemplates",
@@ -1583,6 +1596,7 @@
"ListProtectedQueries",
"ListSchemas",
"ListTagsForResource",
+ "PopulateIdMappingTable",
"PreviewPrivacyImpact",
"StartProtectedQuery",
"TagResource",
@@ -1593,6 +1607,9 @@
"UpdateConfiguredTable",
"UpdateConfiguredTableAnalysisRule",
"UpdateConfiguredTableAssociation",
+ "UpdateConfiguredTableAssociationAnalysisRule",
+ "UpdateIdMappingTable",
+ "UpdateIdNamespaceAssociation",
"UpdateMembership",
"UpdatePrivacyBudgetTemplate",
"UpdateProtectedQuery"
@@ -4051,6 +4068,7 @@
"DeleteListener",
"DeleteLoadBalancer",
"DeleteRule",
+ "DeleteSharedTrustStoreAssociation",
"DeleteTargetGroup",
"DeleteTrustStore",
"DeregisterTargets",
@@ -4068,6 +4086,7 @@
"DescribeTrustStoreAssociations",
"DescribeTrustStoreRevocations",
"DescribeTrustStores",
+ "GetResourcePolicy",
"GetTrustStoreCaCertificatesBundle",
"GetTrustStoreRevocationContent",
"ModifyListener",
@@ -4627,7 +4646,8 @@
"UpdateIdNamespace",
"UpdateMatchingWorkflow",
"UpdateSchemaMapping",
- "UseIdNamespace"
+ "UseIdNamespace",
+ "UseWorkflow"
],
"HasResource": true,
"StringPrefix": "entityresolution",
@@ -8963,17 +8983,20 @@
"CreateIndex",
"CreateView",
"DeleteIndex",
+ "DeleteResourcePolicy",
"DeleteView",
"DisassociateDefaultView",
"GetAccountLevelServiceConfiguration",
"GetDefaultView",
"GetIndex",
+ "GetResourcePolicy",
"GetView",
"ListIndexes",
"ListIndexesForMembers",
"ListSupportedResourceTypes",
"ListTagsForResource",
"ListViews",
+ "PutResourcePolicy",
"Search",
"TagResource",
"UntagResource",
@@ -13498,6 +13521,7 @@
"ReplicateInstance",
"ResumeContact",
"ResumeContactRecording",
+ "SearchAgentStatuses",
"SearchAvailablePhoneNumbers",
"SearchContactFlowModules",
"SearchContactFlows",
@@ -13510,6 +13534,7 @@
"SearchResourceTags",
"SearchRoutingProfiles",
"SearchSecurityProfiles",
+ "SearchUserHierarchyGroups",
"SearchUsers",
"SearchVocabularies",
"SendChatIntegrationEvent",
@@ -15391,7 +15416,7 @@
"DescribePullThroughCacheRules",
"DescribeRegistry",
"DescribeRepositories",
- "DescribeRepositoryCreationTemplate",
+ "DescribeRepositoryCreationTemplates",
"GetAuthorizationToken",
"GetDownloadUrlForLayer",
"GetLifecyclePolicy",
@@ -15416,6 +15441,7 @@
"TagResource",
"UntagResource",
"UpdatePullThroughCacheRule",
+ "UpdateRepositoryCreationTemplate",
"UploadLayerPart",
"ValidatePullThroughCacheRule"
],
@@ -15689,6 +15715,7 @@
"aws:TagKeys",
"eks:accessEntryType",
"eks:accessScope",
+ "eks:authenticationMode",
"eks:bootstrapClusterCreatorAdminPermissions",
"eks:bootstrapSelfManagedAddons",
"eks:clientId",
@@ -15698,6 +15725,7 @@
"eks:namespaces",
"eks:policyArn",
"eks:principalArn",
+ "eks:supportType",
"eks:username"
]
},
@@ -19439,6 +19467,8 @@
"ARNRegex": "^arn:aws:quicksight:.+",
"Actions": [
"AccountConfigurations",
+ "BatchCreateTopicReviewedAnswer",
+ "BatchDeleteTopicReviewedAnswer",
"CancelIngestion",
"CreateAccountCustomization",
"CreateAccountSubscription",
@@ -19573,6 +19603,7 @@
"ListThemeVersions",
"ListThemes",
"ListTopicRefreshSchedules",
+ "ListTopicReviewedAnswers",
"ListTopics",
"ListUserGroups",
"ListUsers",
@@ -21320,7 +21351,7 @@
"DeleteMonitoringSchedule",
"DeleteNotebookInstance",
"DeleteNotebookInstanceLifecycleConfig",
- "DeleteOptimization",
+ "DeleteOptimizationJob",
"DeletePipeline",
"DeleteProject",
"DeleteRecord",
@@ -22539,6 +22570,7 @@
"DeleteRetentionPolicy",
"DeleteSmtpGateway",
"DeleteUser",
+ "DeliverToMailbox",
"DeregisterFromWorkMail",
"DeregisterMailDomain",
"DescribeEmailMonitoringConfiguration",
diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
index ba38ac9957..2859a665c7 100644
--- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
@@ -1 +1 @@
-{"etag": "\"e307e8687bfecd606f0e899afa9dc391\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"9803cd49a39c0242a4ad8eb0191eab45\"", "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 c7eac535ff..62c639b69c 100644
--- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
@@ -1 +1 @@
-{"etag": "\"4ef0c1c5720349e0aa42d8c03f2190c6\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"}
+{"etag": "\"545a2e386f408b460e715a64afc02f89\"", "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 07632650b6..81e98d32c5 100644
--- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
@@ -1 +1 @@
-{"etag": "\"2d862f85e75942a5867c34b7bfc3c77c\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"adc47e832d22252094b7dcea7c2f1b4e\"", "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 206f3f4cc8..eb58eec8ae 100644
--- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json
@@ -1 +1 @@
-{"etag": "\"6914ce33d190b3e1e349df96fe4db5f9\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"6e9999558c393f442d9ba387465ce62c\"", "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 3f07e1ffbd..65ee3aff79 100644
--- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
@@ -1 +1 @@
-{"etag": "\"c4159999fa081b0705a8cc19ad90fb11\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"147a9e4435099f00592a3b70886ade27\"", "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 39d6212283..d711906e7f 100644
--- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
@@ -1 +1 @@
-{"etag": "\"5e3092644eadd30dbd152151fb69bae6\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"9b02af3df67df4a6036e59ca37fc538f\"", "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 bafb2493b6..8f3f758396 100644
--- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
@@ -1 +1 @@
-{"etag": "\"5d4e9225c20358129f764181a0c1935a\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"2e59ca52e0b29b76304f8aac77631d2a\"", "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 a39e047d7f..7d1dcfe1eb 100644
--- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
@@ -1 +1 @@
-{"etag": "\"86ec8b36787356cf267f5f432a71b88a\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"}
+{"etag": "\"aac26c4cfbd85421f70584472c9ec339\"", "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 b1be8a6d57..7369ac4aff 100644
--- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
@@ -1 +1 @@
-{"etag": "\"91d93202afea003b5e2abc8b51a7f3a2\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"e5b22d8e6190976bddd5a75d35b71cc3\"", "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 1fbef7b8ba..902d42cada 100644
--- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
@@ -1 +1 @@
-{"etag": "\"990578a386215d4d7dd180c403b696f2\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"2eacb9c1c8af9badf7c850705e5bfef7\"", "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 3b580ffd15..ee41614291 100644
--- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
@@ -1 +1 @@
-{"etag": "\"178d4817771d0ee17f6c632e6263e86d\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"403a6861f4b466ca723b8ac8773d39fb\"", "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 5d5e5182fe..bf380fe2cc 100644
--- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
@@ -1 +1 @@
-{"etag": "\"f542e9eb0c8ef1fda4e9accd88d04ec1\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"857fa46e7bef7e89387a5223fd79c54e\"", "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 acda2e9698..fa9a3bd45a 100644
--- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
@@ -1 +1 @@
-{"etag": "\"7a84558ed3d76ce6d02ea6d1bf326431\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"315c4e5423a34e8da4a60c19e25b53c2\"", "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 bf212e983d..68da235d10 100644
--- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
@@ -1 +1 @@
-{"etag": "\"727a48603159871b28e5fb26effb6547\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"f02fcc751bcfe67c509c543ca650c502\"", "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 e13c9b5e63..18a59a4781 100644
--- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
@@ -1 +1 @@
-{"etag": "\"aecc2aa6763a28865b7f195a594bef80\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"7fc57e5fdc9baa87af11acbd26f518b6\"", "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 9310bea2bb..ffd2fc1fab 100644
--- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
@@ -1 +1 @@
-{"etag": "\"4b19eb4dbe6984e7ed3559819f5bfb5e\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"b4cf630848c1f6ae4ceeab700d382e57\"", "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 5b30eda34e..36e3f81a7a 100644
--- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json
@@ -1 +1 @@
-{"etag": "\"947213c21450c8444848f8c5b4846dda\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"acfa3abf92762cdb15acba693b47bb56\"", "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 21edc339eb..ebe7b399ac 100644
--- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
@@ -1 +1 @@
-{"etag": "\"32c73a70fccaa874203ff2eb8914a077\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"2387587bd18f62263fbd8b18964c2893\"", "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 5cb476ac80..a235d74732 100644
--- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
@@ -1 +1 @@
-{"etag": "\"ffccd5671a87d141834e154742dae609\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"aff4b6dd22ba6bf060ea30413a98626e\"", "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 7b3dea361a..a0c19546ee 100644
--- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
@@ -1 +1 @@
-{"etag": "\"463e5a886dddb06914d469bac109b95d\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"9a69cd2c1d2224d63868367fe47f881d\"", "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 0f02ea2a61..f02f98e024 100644
--- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
@@ -1 +1 @@
-{"etag": "\"b6c9ba76f037123fce8547681caf6c02\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"30e128ba535a2abc0fa303bb18ef7b4e\"", "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 e97ecd5e5d..543b9f4280 100644
--- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
@@ -1 +1 @@
-{"etag": "\"9767f723613c3d641cbb8690ae37bd53\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"bdb422f347944c5e905a3283887babbe\"", "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 2d7195f252..51015fe135 100644
--- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
@@ -1 +1 @@
-{"etag": "\"d886ddf5ed68d76eab9d79cec3239472\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"266ca2507c38b2101f01f149832f72bb\"", "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 3a83950a0f..8d379914d3 100644
--- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json
@@ -1 +1 @@
-{"etag": "\"1147baab40516d3a031370d4bc77285e\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"7688067dca1f174d2b4b560b0ce7df9b\"", "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 5d2eef745a..a1d1d068d5 100644
--- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
@@ -1 +1 @@
-{"etag": "\"1949bdac883ab18547ad1e2d650edd28\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"0d5da0e46d36584a549f620b5f683886\"", "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 41f7440a3a..2a14282f00 100644
--- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
@@ -1 +1 @@
-{"etag": "\"4a0b2550d58f623905a8d24bbff19624\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"4e2aff80857633bf97aabe28da5ab2d0\"", "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 8cea828c59..e5a37f1043 100644
--- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
@@ -1 +1 @@
-{"etag": "\"b0fd8e1f3ca585fa159eadb2f2bf2853\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"ed26e4d2a2e7752356639d5b8b61168f\"", "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 dbd95e1dc6..4b269f7b44 100644
--- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
@@ -1 +1 @@
-{"etag": "\"88bea80c58b26f8df4bc055c49d9c882\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"ec483e0222a4f80be7a780038e2071e4\"", "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 c615442241..c8e75e655d 100644
--- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json
@@ -1 +1 @@
-{"etag": "\"6003f4951dd1c96e9665789bc27c9f3a\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"fe8e183d1f25e9b53157e7207c90b210\"", "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 84d990106b..337dcdefd7 100644
--- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
@@ -1 +1 @@
-{"etag": "\"1b6e43838754f853a2011f6bdbbb9d65\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"bf4182d4a20d8f80f97810b06ca54597\"", "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 87dd75f580..b859d49fa5 100644
--- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
@@ -1 +1 @@
-{"etag": "\"98d51c8c91b0f43c1899379c3adf8de1\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"2546cf1aa221a622d83e40629c85b195\"", "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 f52ce9d497..3f1da0f2d5 100644
--- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
@@ -1 +1 @@
-{"etag": "\"328becea04695b57ad9bf56e66193c6a\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"1aa4602885a3fe30635853261c6e42c6\"", "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 8ea8670957..0e9aa30814 100644
--- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
@@ -1 +1 @@
-{"etag": "\"7aba9bac1f6a83caceaad3b7a055c6e7\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"efadb871cc9184c747a8a532df781be6\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/Serverless/ManagedPolicies.json b/src/cfnlint/data/Serverless/ManagedPolicies.json
index 6cc362a27f..48100fb15a 100644
--- a/src/cfnlint/data/Serverless/ManagedPolicies.json
+++ b/src/cfnlint/data/Serverless/ManagedPolicies.json
@@ -1022,6 +1022,7 @@
"AmazonWorkSpacesSecureBrowserReadOnly": "arn:aws:iam::aws:policy/AmazonWorkSpacesSecureBrowserReadOnly",
"AmazonWorkSpacesSelfServiceAccess": "arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess",
"AmazonWorkSpacesServiceAccess": "arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess",
+ "AmazonWorkSpacesThinClientReadOnlyAccess": "arn:aws:iam::aws:policy/AmazonWorkSpacesThinClientReadOnlyAccess",
"AmazonWorkSpacesWebReadOnly": "arn:aws:iam::aws:policy/AmazonWorkSpacesWebReadOnly",
"AmazonWorkSpacesWebServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/AmazonWorkSpacesWebServiceRolePolicy",
"AmazonWorkspacesPCAAccess": "arn:aws:iam::aws:policy/AmazonWorkspacesPCAAccess",
diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json
index 3d01e43500..95d05c85c8 100644
--- a/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json
+++ b/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json
@@ -55,6 +55,7 @@
"5.7.mysql_aurora.2.11.4",
"5.7.mysql_aurora.2.11.4",
"5.7.mysql_aurora.2.11.5",
+ "5.7.mysql_aurora.2.11.6",
"5.7.mysql_aurora.2.12.0",
"5.7.mysql_aurora.2.12.1",
"5.7.mysql_aurora.2.12.2",
@@ -70,7 +71,8 @@
"8.0.mysql_aurora.3.05.2",
"8.0.mysql_aurora.3.06.0",
"8.0.mysql_aurora.3.06.1",
- "8.0.mysql_aurora.3.07.0"
+ "8.0.mysql_aurora.3.07.0",
+ "8.0.mysql_aurora.3.07.1"
]
}
}
diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json
index f821fb6564..7f16237127 100644
--- a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json
+++ b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json
@@ -71,6 +71,7 @@
"5.7.mysql_aurora.2.11.4",
"5.7.mysql_aurora.2.11.4",
"5.7.mysql_aurora.2.11.5",
+ "5.7.mysql_aurora.2.11.6",
"5.7.mysql_aurora.2.12.0",
"5.7.mysql_aurora.2.12.1",
"5.7.mysql_aurora.2.12.2",
@@ -86,7 +87,8 @@
"8.0.mysql_aurora.3.05.2",
"8.0.mysql_aurora.3.06.0",
"8.0.mysql_aurora.3.06.1",
- "8.0.mysql_aurora.3.07.0"
+ "8.0.mysql_aurora.3.07.0",
+ "8.0.mysql_aurora.3.07.1"
]
}
}
@@ -183,7 +185,9 @@
"15.00.4312.2.v1",
"15.00.4322.2.v1",
"15.00.4345.5.v1",
- "16.00.4085.2.v1"
+ "15.00.4365.2.v1",
+ "16.00.4085.2.v1",
+ "16.00.4125.3.v1"
]
}
}
@@ -217,7 +221,9 @@
"15.00.4312.2.v1",
"15.00.4322.2.v1",
"15.00.4345.5.v1",
- "16.00.4085.2.v1"
+ "15.00.4365.2.v1",
+ "16.00.4085.2.v1",
+ "16.00.4125.3.v1"
]
}
}
@@ -251,7 +257,9 @@
"15.00.4312.2.v1",
"15.00.4322.2.v1",
"15.00.4345.5.v1",
- "16.00.4085.2.v1"
+ "15.00.4365.2.v1",
+ "16.00.4085.2.v1",
+ "16.00.4125.3.v1"
]
}
}
diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_applicationautoscaling_scalingpolicy/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_applicationautoscaling_scalingpolicy/boto.json
index 86e8c4227e..e4f8c9a905 100644
--- a/src/cfnlint/data/schemas/patches/extensions/all/aws_applicationautoscaling_scalingpolicy/boto.json
+++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_applicationautoscaling_scalingpolicy/boto.json
@@ -32,7 +32,9 @@
"NeptuneReaderAverageCPUUtilization",
"RDSReaderAverageCPUUtilization",
"RDSReaderAverageDatabaseConnections",
+ "SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution",
"SageMakerInferenceComponentInvocationsPerCopy",
+ "SageMakerVariantConcurrentRequestsPerModelHighResolution",
"SageMakerVariantInvocationsPerInstance",
"SageMakerVariantProvisionedConcurrencyUtilization",
"WorkSpacesAverageUserSessionsCapacityUtilization"
diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_launchtemplate/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_launchtemplate/boto.json
index a119291679..ecea2908fb 100644
--- a/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_launchtemplate/boto.json
+++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_launchtemplate/boto.json
@@ -82,6 +82,7 @@
"instance-event-window",
"internet-gateway",
"ipam",
+ "ipam-external-resource-verification-token",
"ipam-pool",
"ipam-resource-discovery",
"ipam-resource-discovery-association",
@@ -134,7 +135,6 @@
"volume",
"vpc",
"vpc-block-public-access-exclusion",
- "vpc-encryption-control",
"vpc-endpoint",
"vpc-endpoint-connection",
"vpc-endpoint-connection-device-type",
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 277363dbe0..faaf35a05d 100644
--- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py
@@ -888,7 +888,6 @@
"aws-appsync-graphqlschema.json",
"aws-appsync-resolver.json",
"aws-appsync-sourceapiassociation.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
"aws-athena-preparedstatement.json",
@@ -908,7 +907,6 @@
"aws-backup-restoretestingselection.json",
"aws-backupgateway-hypervisor.json",
"aws-batch-computeenvironment.json",
- "aws-batch-jobdefinition.json",
"aws-batch-jobqueue.json",
"aws-batch-schedulingpolicy.json",
"aws-ce-anomalymonitor.json",
@@ -1194,7 +1192,6 @@
"aws-fis-experimenttemplate.json",
"aws-fis-targetaccountconfiguration.json",
"aws-fms-notificationchannel.json",
- "aws-fms-policy.json",
"aws-fms-resourceset.json",
"aws-fsx-datarepositoryassociation.json",
"aws-fsx-filesystem.json",
@@ -1202,7 +1199,6 @@
"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",
@@ -1222,7 +1218,6 @@
"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",
@@ -1264,7 +1259,6 @@
"aws-internetmonitor-monitor.json",
"aws-kinesis-stream.json",
"aws-kinesisanalyticsv2-application.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kms-alias.json",
"aws-kms-key.json",
"aws-kms-replicakey.json",
@@ -1275,6 +1269,7 @@
"aws-lakeformation-resource.json",
"aws-lakeformation-tag.json",
"aws-lakeformation-tagassociation.json",
+ "aws-lambda-alias.json",
"aws-lambda-codesigningconfig.json",
"aws-lambda-eventinvokeconfig.json",
"aws-lambda-eventsourcemapping.json",
@@ -1387,7 +1382,6 @@
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
"aws-rds-globalcluster.json",
- "aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
"aws-redshift-clusterparametergroup.json",
@@ -1438,10 +1432,8 @@
"aws-s3outposts-bucket.json",
"aws-s3outposts-bucketpolicy.json",
"aws-s3outposts-endpoint.json",
- "aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-coderepository.json",
- "aws-sagemaker-domain.json",
"aws-sagemaker-endpoint.json",
"aws-sagemaker-endpointconfig.json",
"aws-sagemaker-featuregroup.json",
@@ -1449,7 +1441,6 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferenceexperiment.json",
"aws-sagemaker-mlflowtrackingserver.json",
- "aws-sagemaker-model.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelpackage.json",
"aws-sagemaker-modelpackagegroup.json",
@@ -1457,13 +1448,10 @@
"aws-sagemaker-notebookinstancelifecycleconfig.json",
"aws-sagemaker-pipeline.json",
"aws-sagemaker-project.json",
- "aws-sagemaker-space.json",
- "aws-sagemaker-userprofile.json",
"aws-sagemaker-workteam.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
"aws-sdb-domain.json",
- "aws-secretsmanager-resourcepolicy.json",
"aws-secretsmanager-rotationschedule.json",
"aws-secretsmanager-secret.json",
"aws-securityhub-automationrule.json",
@@ -1527,6 +1515,8 @@
"aws-sso-instance.json",
"aws-sso-instanceaccesscontrolattributeconfiguration.json",
"aws-sso-permissionset.json",
+ "aws-stepfunctions-activity.json",
+ "aws-stepfunctions-statemachine.json",
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-batch-jobdefinition.json
new file mode 100644
index 0000000000..2d82031cd0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-batch-jobdefinition.json
@@ -0,0 +1,992 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Tags",
+ "/properties/JobDefinitionName"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "Iam": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "FargatePlatformConfiguration": {
+ "$ref": "#/definitions/FargatePlatformConfiguration"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "items": {
+ "$ref": "#/definitions/EcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "EcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "PlatformVersion": {
+ "type": "string"
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EfsVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EksContainer": {
+ "additionalProperties": false,
+ "properties": {
+ "Args": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Env": {
+ "items": {
+ "$ref": "#/definitions/EksContainerEnvironmentVariable"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImagePullPolicy": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Resources": {
+ "$ref": "#/definitions/EksContainerResourceRequirements"
+ },
+ "SecurityContext": {
+ "$ref": "#/definitions/EksContainerSecurityContext"
+ },
+ "VolumeMounts": {
+ "items": {
+ "$ref": "#/definitions/EksContainerVolumeMount"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "EksContainerEnvironmentVariable": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "EksContainerResourceRequirements": {
+ "additionalProperties": false,
+ "properties": {
+ "Limits": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Requests": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerSecurityContext": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowPrivilegeEscalation": {
+ "type": "boolean"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadOnlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RunAsGroup": {
+ "type": "integer"
+ },
+ "RunAsNonRoot": {
+ "type": "boolean"
+ },
+ "RunAsUser": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerVolumeMount": {
+ "additionalProperties": false,
+ "properties": {
+ "MountPath": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "EksEmptyDir": {
+ "additionalProperties": false,
+ "properties": {
+ "Medium": {
+ "type": "string"
+ },
+ "SizeLimit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksHostPath": {
+ "additionalProperties": false,
+ "properties": {
+ "Path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "PodProperties": {
+ "$ref": "#/definitions/PodProperties"
+ }
+ },
+ "type": "object"
+ },
+ "EksSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Optional": {
+ "type": "boolean"
+ },
+ "SecretName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "SecretName"
+ ],
+ "type": "object"
+ },
+ "EksVolume": {
+ "additionalProperties": false,
+ "properties": {
+ "EmptyDir": {
+ "$ref": "#/definitions/EksEmptyDir"
+ },
+ "HostPath": {
+ "$ref": "#/definitions/EksHostPath"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Secret": {
+ "$ref": "#/definitions/EksSecret"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Environment": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SizeInGiB"
+ ],
+ "type": "object"
+ },
+ "EvaluateOnExit": {
+ "additionalProperties": false,
+ "properties": {
+ "Action": {
+ "type": "string"
+ },
+ "OnExitCode": {
+ "type": "string"
+ },
+ "OnReason": {
+ "type": "string"
+ },
+ "OnStatusReason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Action"
+ ],
+ "type": "object"
+ },
+ "FargatePlatformConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PlatformVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ImagePullSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Devices": {
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "type": "string"
+ },
+ "Options": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretOptions": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "Metadata": {
+ "additionalProperties": false,
+ "properties": {
+ "Labels": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "MountPoints": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AssignPublicIp": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NodeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "MainNode": {
+ "type": "integer"
+ },
+ "NodeRangeProperties": {
+ "items": {
+ "$ref": "#/definitions/NodeRangeProperty"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NumNodes": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "MainNode",
+ "NodeRangeProperties",
+ "NumNodes"
+ ],
+ "type": "object"
+ },
+ "NodeRangeProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "Container": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "InstanceTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TargetNodes": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetNodes"
+ ],
+ "type": "object"
+ },
+ "PodProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsPolicy": {
+ "type": "string"
+ },
+ "HostNetwork": {
+ "type": "boolean"
+ },
+ "ImagePullSecrets": {
+ "items": {
+ "$ref": "#/definitions/ImagePullSecret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitContainers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Metadata": {
+ "$ref": "#/definitions/Metadata"
+ },
+ "ServiceAccountName": {
+ "type": "string"
+ },
+ "ShareProcessNamespace": {
+ "type": "boolean"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/EksVolume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter"
+ ],
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RetryStrategy": {
+ "additionalProperties": false,
+ "properties": {
+ "Attempts": {
+ "type": "integer"
+ },
+ "EvaluateOnExit": {
+ "items": {
+ "$ref": "#/definitions/EvaluateOnExit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ValueFrom",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "TaskContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Condition",
+ "ContainerName"
+ ],
+ "type": "object"
+ },
+ "TaskContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DependsOn": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerDependency"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Timeout": {
+ "additionalProperties": false,
+ "properties": {
+ "AttemptDurationSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size",
+ "ContainerPath"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SoftLimit",
+ "HardLimit",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Volumes": {
+ "additionalProperties": false,
+ "properties": {
+ "EfsVolumeConfiguration": {
+ "$ref": "#/definitions/EfsVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/VolumesHost"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumesHost": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ContainerProperties": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "JobDefinitionName": {
+ "type": "string"
+ },
+ "NodeProperties": {
+ "$ref": "#/definitions/NodeProperties"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "PlatformCapabilities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PropagateTags": {
+ "type": "boolean"
+ },
+ "RetryStrategy": {
+ "$ref": "#/definitions/RetryStrategy"
+ },
+ "SchedulingPriority": {
+ "type": "integer"
+ },
+ "Tags": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Timeout": {
+ "$ref": "#/definitions/Timeout"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Type"
+ ],
+ "typeName": "AWS::Batch::JobDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-fms-policy.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-fms-policy.json
new file mode 100644
index 0000000000..8456d02fd6
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-fms-policy.json
@@ -0,0 +1,472 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "AccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^([0-9]*)$",
+ "type": "string"
+ },
+ "Base62Id": {
+ "maxLength": 22,
+ "minLength": 22,
+ "pattern": "^[a-z0-9A-Z]{22}$",
+ "type": "string"
+ },
+ "FirewallDeploymentModel": {
+ "enum": [
+ "DISTRIBUTED",
+ "CENTRALIZED"
+ ],
+ "type": "string"
+ },
+ "IEMap": {
+ "additionalProperties": false,
+ "properties": {
+ "ACCOUNT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/AccountId"
+ },
+ "type": "array"
+ },
+ "ORGUNIT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/OrganizationalUnitId"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedServiceData": {
+ "maxLength": 8192,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NetworkAclCommonPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkAclEntrySet": {
+ "$ref": "#/definitions/NetworkAclEntrySet"
+ }
+ },
+ "required": [
+ "NetworkAclEntrySet"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "CidrBlock": {
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
+ "type": "string"
+ },
+ "Egress": {
+ "type": "boolean"
+ },
+ "IcmpTypeCode": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Code",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Ipv6CidrBlock": {
+ "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(/(1[0-2]|[0-9]))?$",
+ "type": "string"
+ },
+ "PortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "From": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "To": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "From",
+ "To"
+ ],
+ "type": "object"
+ },
+ "Protocol": {
+ "pattern": "^(tcp|udp|icmp|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$",
+ "type": "string"
+ },
+ "RuleAction": {
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Egress",
+ "Protocol",
+ "RuleAction"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntryList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/NetworkAclEntry"
+ },
+ "type": "array"
+ },
+ "NetworkAclEntrySet": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "FirstEntries"
+ ]
+ },
+ {
+ "required": [
+ "LastEntries"
+ ]
+ }
+ ],
+ "properties": {
+ "FirstEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ },
+ "ForceRemediateForFirstEntries": {
+ "type": "boolean"
+ },
+ "ForceRemediateForLastEntries": {
+ "type": "boolean"
+ },
+ "LastEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ }
+ },
+ "required": [
+ "ForceRemediateForFirstEntries",
+ "ForceRemediateForLastEntries"
+ ],
+ "type": "object"
+ },
+ "NetworkFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ },
+ "OrganizationalUnitId": {
+ "maxLength": 68,
+ "minLength": 16,
+ "pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "PolicyOption": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "NetworkFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "ThirdPartyFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "NetworkAclCommonPolicy"
+ ]
+ }
+ ],
+ "properties": {
+ "NetworkAclCommonPolicy": {
+ "$ref": "#/definitions/NetworkAclCommonPolicy"
+ },
+ "NetworkFirewallPolicy": {
+ "$ref": "#/definitions/NetworkFirewallPolicy"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "$ref": "#/definitions/ThirdPartyFirewallPolicy"
+ }
+ },
+ "type": "object"
+ },
+ "PolicyTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "PolicyType": {
+ "enum": [
+ "WAF",
+ "WAFV2",
+ "SHIELD_ADVANCED",
+ "SECURITY_GROUPS_COMMON",
+ "SECURITY_GROUPS_CONTENT_AUDIT",
+ "SECURITY_GROUPS_USAGE_AUDIT",
+ "NETWORK_FIREWALL",
+ "THIRD_PARTY_FIREWALL",
+ "DNS_FIREWALL",
+ "IMPORT_NETWORK_FIREWALL",
+ "NETWORK_ACL_COMMON"
+ ],
+ "type": "string"
+ },
+ "ResourceArn": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "ResourceTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ResourceType": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "SecurityServicePolicyData": {
+ "additionalProperties": false,
+ "properties": {
+ "ManagedServiceData": {
+ "$ref": "#/definitions/ManagedServiceData"
+ },
+ "PolicyOption": {
+ "$ref": "#/definitions/PolicyOption"
+ },
+ "Type": {
+ "$ref": "#/definitions/PolicyType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:TagResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "fms:DeletePolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "fms:ListPolicies",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "fms:GetPolicy",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:GetPolicy",
+ "fms:TagResource",
+ "fms:UntagResource",
+ "fms:ListTagsForResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "$ref": "#/definitions/ResourceArn"
+ },
+ "DeleteAllPolicyResources": {
+ "type": "boolean"
+ },
+ "ExcludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "ExcludeResourceTags": {
+ "type": "boolean"
+ },
+ "Id": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "^[a-z0-9A-Z-]{36}$",
+ "type": "string"
+ },
+ "IncludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "PolicyDescription": {
+ "maxLength": 256,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "PolicyName": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "RemediationEnabled": {
+ "type": "boolean"
+ },
+ "ResourceSetIds": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Base62Id"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ResourceTags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceTag"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "ResourceType": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "ResourceTypeList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "type": "array"
+ },
+ "ResourcesCleanUp": {
+ "type": "boolean"
+ },
+ "SecurityServicePolicyData": {
+ "$ref": "#/definitions/SecurityServicePolicyData"
+ },
+ "Tags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/PolicyTag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Id"
+ ],
+ "required": [
+ "ExcludeResourceTags",
+ "PolicyName",
+ "RemediationEnabled",
+ "SecurityServicePolicyData"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fms.git",
+ "typeName": "AWS::FMS::Policy",
+ "writeOnlyProperties": [
+ "/properties/DeleteAllPolicyResources"
+ ]
+}
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
new file mode 100644
index 0000000000..31881ad480
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-globalaccelerator-crossaccountattachment.json
@@ -0,0 +1,123 @@
+{
+ "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-trigger.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-glue-trigger.json
new file mode 100644
index 0000000000..974dd89b9f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-glue-trigger.json
@@ -0,0 +1,172 @@
+{
+ "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-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-lambda-alias.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-lambda-alias.json
deleted file mode 100644
index 4a291518b6..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-lambda-alias.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/FunctionName"
- ],
- "definitions": {
- "AliasRoutingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "AdditionalVersionWeights": {
- "items": {
- "$ref": "#/definitions/VersionWeight"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "AdditionalVersionWeights"
- ],
- "type": "object"
- },
- "ProvisionedConcurrencyConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ProvisionedConcurrentExecutions": {
- "type": "integer"
- }
- },
- "required": [
- "ProvisionedConcurrentExecutions"
- ],
- "type": "object"
- },
- "VersionWeight": {
- "additionalProperties": false,
- "properties": {
- "FunctionVersion": {
- "type": "string"
- },
- "FunctionWeight": {
- "type": "number"
- }
- },
- "required": [
- "FunctionVersion",
- "FunctionWeight"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Description": {
- "type": "string"
- },
- "FunctionName": {
- "type": "string"
- },
- "FunctionVersion": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "ProvisionedConcurrencyConfig": {
- "$ref": "#/definitions/ProvisionedConcurrencyConfiguration"
- },
- "RoutingConfig": {
- "$ref": "#/definitions/AliasRoutingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "FunctionName",
- "FunctionVersion",
- "Name"
- ],
- "typeName": "AWS::Lambda::Alias"
-}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-integration.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-integration.json
new file mode 100644
index 0000000000..8bb00c0dfe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-integration.json
@@ -0,0 +1,154 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SourceArn",
+ "/properties/TargetArn",
+ "/properties/KMSKeyId",
+ "/properties/AdditionalEncryptionContext"
+ ],
+ "definitions": {
+ "EncryptionContextMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[\\s\\S]*$": {
+ "maxLength": 131072,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateIntegration",
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "redshift:CreateInboundIntegration"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DeleteIntegration",
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "rds:RemoveTagsFromResource",
+ "rds:ModifyIntegration"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IntegrationArn"
+ ],
+ "properties": {
+ "AdditionalEncryptionContext": {
+ "$ref": "#/definitions/EncryptionContextMap"
+ },
+ "CreateTime": {
+ "type": "string"
+ },
+ "DataFilter": {
+ "maxLength": 25600,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9_ \"\\\\\\-$,*.:?+\\/]*",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IntegrationArn": {
+ "type": "string"
+ },
+ "IntegrationName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KMSKeyId": {
+ "type": "string"
+ },
+ "SourceArn": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetArn": {
+ "type": "string"
+ }
+ },
+ "propertyTransform": {
+ "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])",
+ "/properties/SourceArn": "$lowercase(SourceArn)"
+ },
+ "readOnlyProperties": [
+ "/properties/IntegrationArn",
+ "/properties/CreateTime"
+ ],
+ "required": [
+ "SourceArn",
+ "TargetArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RDS::Integration"
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-app.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-app.json
new file mode 100644
index 0000000000..d565ffb835
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-app.json
@@ -0,0 +1,210 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/Tags",
+ "/properties/ResourceSpec"
+ ],
+ "definitions": {
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListApps"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeApp",
+ "sagemaker:DescribeApp"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName"
+ ],
+ "properties": {
+ "AppArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:app/.*",
+ "type": "string"
+ },
+ "AppName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/AppArn"
+ ],
+ "required": [
+ "AppName",
+ "AppType",
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::App",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-domain.json
new file mode 100644
index 0000000000..5cd4ea45fa
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-domain.json
@@ -0,0 +1,831 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AuthMode",
+ "/properties/DomainName",
+ "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
+ "/properties/KmsKeyId",
+ "/properties/VpcId",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableDockerAccess": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "VpcOnlyTrustedAccounts": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^\\d+$",
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "DomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DockerSettings": {
+ "$ref": "#/definitions/DockerSettings"
+ },
+ "RStudioServerProDomainSettings": {
+ "$ref": "#/definitions/RStudioServerProDomainSettings"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RSessionAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProDomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "DomainExecutionRoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "RStudioConnectUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ },
+ "RStudioPackageManagerUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DomainExecutionRoleArn"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "LifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RSessionAppSettings": {
+ "$ref": "#/definitions/RSessionAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:CreateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "efs:CreateFileSystem",
+ "kms:CreateGrant",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "kms:GenerateDataKeyWithoutPlainText"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DeleteDomain",
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListDomains"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:UpdateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "AppNetworkAccessType": {
+ "enum": [
+ "PublicInternetOnly",
+ "VpcOnly"
+ ],
+ "type": "string"
+ },
+ "AppSecurityGroupManagement": {
+ "enum": [
+ "Service",
+ "Customer"
+ ],
+ "type": "string"
+ },
+ "AuthMode": {
+ "enum": [
+ "SSO",
+ "IAM"
+ ],
+ "type": "string"
+ },
+ "DefaultSpaceSettings": {
+ "$ref": "#/definitions/DefaultSpaceSettings"
+ },
+ "DefaultUserSettings": {
+ "$ref": "#/definitions/UserSettings"
+ },
+ "DomainArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "pattern": "^d-(-*[a-z0-9])+",
+ "type": "string"
+ },
+ "DomainName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "DomainSettings": {
+ "$ref": "#/definitions/DomainSettings"
+ },
+ "HomeEfsFileSystemId": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "SecurityGroupIdForDomainBoundary": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "SingleSignOnApplicationArn": {
+ "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "SingleSignOnManagedApplicationInstanceId": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/DomainArn",
+ "/properties/Url",
+ "/properties/DomainId",
+ "/properties/HomeEfsFileSystemId",
+ "/properties/SecurityGroupIdForDomainBoundary",
+ "/properties/SingleSignOnManagedApplicationInstanceId",
+ "/properties/SingleSignOnApplicationArn"
+ ],
+ "required": [
+ "AuthMode",
+ "DefaultUserSettings",
+ "DomainName",
+ "SubnetIds",
+ "VpcId"
+ ],
+ "typeName": "AWS::SageMaker::Domain",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-model.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-model.json
new file mode 100644
index 0000000000..ef768bc0ed
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-model.json
@@ -0,0 +1,235 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ExecutionRoleArn",
+ "/properties/EnableNetworkIsolation",
+ "/properties/InferenceExecutionConfig",
+ "/properties/PrimaryContainer",
+ "/properties/ModelName",
+ "/properties/VpcConfig",
+ "/properties/Containers"
+ ],
+ "definitions": {
+ "ContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerHostname": {
+ "type": "string"
+ },
+ "Environment": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImageConfig": {
+ "$ref": "#/definitions/ImageConfig"
+ },
+ "InferenceSpecificationName": {
+ "type": "string"
+ },
+ "Mode": {
+ "type": "string"
+ },
+ "ModelDataSource": {
+ "$ref": "#/definitions/ModelDataSource"
+ },
+ "ModelDataUrl": {
+ "type": "string"
+ },
+ "ModelPackageName": {
+ "type": "string"
+ },
+ "MultiModelConfig": {
+ "$ref": "#/definitions/MultiModelConfig"
+ }
+ },
+ "type": "object"
+ },
+ "ImageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryAccessMode": {
+ "type": "string"
+ },
+ "RepositoryAuthConfig": {
+ "$ref": "#/definitions/RepositoryAuthConfig"
+ }
+ },
+ "required": [
+ "RepositoryAccessMode"
+ ],
+ "type": "object"
+ },
+ "InferenceExecutionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Mode": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Mode"
+ ],
+ "type": "object"
+ },
+ "ModelAccessConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AcceptEula": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "AcceptEula"
+ ],
+ "type": "object"
+ },
+ "ModelDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "S3DataSource": {
+ "$ref": "#/definitions/S3DataSource"
+ }
+ },
+ "required": [
+ "S3DataSource"
+ ],
+ "type": "object"
+ },
+ "MultiModelConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ModelCacheSetting": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryAuthConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryCredentialsProviderArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryCredentialsProviderArn"
+ ],
+ "type": "object"
+ },
+ "S3DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CompressionType": {
+ "type": "string"
+ },
+ "ModelAccessConfig": {
+ "$ref": "#/definitions/ModelAccessConfig"
+ },
+ "S3DataType": {
+ "type": "string"
+ },
+ "S3Uri": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Uri",
+ "S3DataType",
+ "CompressionType"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "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",
+ "uniqueItems": false
+ },
+ "Subnets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Subnets",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EnableNetworkIsolation": {
+ "type": "boolean"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "InferenceExecutionConfig": {
+ "$ref": "#/definitions/InferenceExecutionConfig"
+ },
+ "ModelName": {
+ "type": "string"
+ },
+ "PrimaryContainer": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "typeName": "AWS::SageMaker::Model"
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-space.json
new file mode 100644
index 0000000000..1ad92e7aa4
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-space.json
@@ -0,0 +1,436 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/SpaceName",
+ "/properties/SpaceSharingSettings",
+ "/properties/OwnershipSettings"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "TensorBoard",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "JupyterLab",
+ "CodeEditor"
+ ],
+ "type": "string"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystem": {
+ "$ref": "#/definitions/EFSFileSystem"
+ }
+ },
+ "type": "object"
+ },
+ "CustomFileSystems": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystem"
+ },
+ "maxItems": 1,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "EFSFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "EbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "OwnershipSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "OwnerUserProfileName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "required": [
+ "OwnerUserProfileName"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceCodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "SpaceJupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AppType": {
+ "$ref": "#/definitions/AppType"
+ },
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/SpaceCodeEditorAppSettings"
+ },
+ "CustomFileSystems": {
+ "$ref": "#/definitions/CustomFileSystems"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/SpaceJupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/SpaceStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SharingType": {
+ "enum": [
+ "Private",
+ "Shared"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "SharingType"
+ ],
+ "type": "object"
+ },
+ "SpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsStorageSettings": {
+ "$ref": "#/definitions/EbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListSpaces"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId",
+ "/properties/SpaceName"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "OwnershipSettings": {
+ "$ref": "#/definitions/OwnershipSettings"
+ },
+ "SpaceArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*",
+ "type": "string"
+ },
+ "SpaceDisplayName": {
+ "maxLength": 64,
+ "pattern": "^(?!\\s*$).+",
+ "type": "string"
+ },
+ "SpaceName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SpaceSettings": {
+ "$ref": "#/definitions/SpaceSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ },
+ "SpaceSharingSettings": {
+ "$ref": "#/definitions/SpaceSharingSettings"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/SpaceArn",
+ "/properties/Url"
+ ],
+ "required": [
+ "DomainId",
+ "SpaceName"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::SageMaker::Space",
+ "writeOnlyProperties": [
+ "/properties/SpaceSettings",
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-userprofile.json
new file mode 100644
index 0000000000..c2c0daf9fe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-userprofile.json
@@ -0,0 +1,592 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/SingleSignOnUserIdentifier",
+ "/properties/SingleSignOnUserValue",
+ "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
+ "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteUserProfile",
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListUserProfiles"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/UserProfileName",
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SingleSignOnUserIdentifier": {
+ "pattern": "UserName",
+ "type": "string"
+ },
+ "SingleSignOnUserValue": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
+ "type": "string"
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "UserSettings": {
+ "$ref": "#/definitions/UserSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/UserProfileArn"
+ ],
+ "required": [
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::UserProfile",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-subnetcidrblock.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-secretsmanager-resourcepolicy.json
similarity index 50%
rename from src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-subnetcidrblock.json
rename to src/cfnlint/data/schemas/providers/af_south_1/aws-secretsmanager-resourcepolicy.json
index 6c58c1df37..92fc7be26c 100644
--- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-subnetcidrblock.json
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-secretsmanager-resourcepolicy.json
@@ -1,20 +1,26 @@
{
"additionalProperties": false,
"createOnlyProperties": [
- "/properties/Ipv6CidrBlock",
- "/properties/SubnetId"
+ "/properties/SecretId"
],
"primaryIdentifier": [
"/properties/Id"
],
"properties": {
+ "BlockPublicPolicy": {
+ "type": "boolean"
+ },
"Id": {
"type": "string"
},
- "Ipv6CidrBlock": {
- "type": "string"
+ "ResourcePolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
},
- "SubnetId": {
+ "SecretId": {
"type": "string"
}
},
@@ -22,8 +28,8 @@
"/properties/Id"
],
"required": [
- "SubnetId",
- "Ipv6CidrBlock"
+ "SecretId",
+ "ResourcePolicy"
],
- "typeName": "AWS::EC2::SubnetCidrBlock"
+ "typeName": "AWS::SecretsManager::ResourcePolicy"
}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-activity.json
deleted file mode 100644
index 7aaf191ed1..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-activity.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateActivity",
- "states:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "states:DescribeActivity",
- "states:DeleteActivity"
- ]
- },
- "list": {
- "permissions": [
- "states:ListActivities"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeActivity",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:ListTagsForResource",
- "states:TagResource",
- "states:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::Activity"
-}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-statemachine.json
deleted file mode 100644
index c8a1b0f42e..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-statemachine.json
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/StateMachineName"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/StateMachineName",
- "/properties/StateMachineType"
- ],
- "definitions": {
- "CloudWatchLogsLogGroup": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- },
- "Definition": {
- "minProperties": 1,
- "type": "object"
- },
- "DefinitionSubstitutions": {
- "additionalProperties": false,
- "minProperties": 1,
- "patternProperties": {
- ".*": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- },
- {
- "type": "boolean"
- }
- ]
- }
- },
- "type": "object"
- },
- "LogDestination": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsLogGroup": {
- "$ref": "#/definitions/CloudWatchLogsLogGroup"
- }
- },
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destinations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LogDestination"
- },
- "minItems": 1,
- "type": "array"
- },
- "IncludeExecutionData": {
- "type": "boolean"
- },
- "Level": {
- "enum": [
- "ALL",
- "ERROR",
- "FATAL",
- "OFF"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "S3Location": {
- "additionalProperties": false,
- "properties": {
- "Bucket": {
- "type": "string"
- },
- "Key": {
- "type": "string"
- },
- "Version": {
- "type": "string"
- }
- },
- "required": [
- "Bucket",
- "Key"
- ],
- "type": "object"
- },
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TracingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Enabled": {
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateStateMachine",
- "states:DescribeStateMachine",
- "states:TagResource",
- "iam:PassRole",
- "s3:GetObject"
- ]
- },
- "delete": {
- "permissions": [
- "states:DeleteStateMachine",
- "states:DescribeStateMachine"
- ]
- },
- "list": {
- "permissions": [
- "states:ListStateMachines"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeStateMachine",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:UpdateStateMachine",
- "states:TagResource",
- "states:UntagResource",
- "states:ListTagsForResource",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/Definition"
- },
- "DefinitionS3Location": {
- "$ref": "#/definitions/S3Location"
- },
- "DefinitionString": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "DefinitionSubstitutions": {
- "$ref": "#/definitions/DefinitionSubstitutions"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineName": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineRevisionId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineType": {
- "enum": [
- "STANDARD",
- "EXPRESS"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TracingConfiguration": {
- "$ref": "#/definitions/TracingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/Name",
- "/properties/StateMachineRevisionId"
- ],
- "required": [
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::StateMachine",
- "writeOnlyProperties": [
- "/properties/Definition",
- "/properties/DefinitionS3Location",
- "/properties/DefinitionSubstitutions"
- ]
-}
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 e440383beb..38710b9910 100644
--- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
@@ -870,7 +870,6 @@
"aws-appsync-graphqlschema.json",
"aws-appsync-resolver.json",
"aws-appsync-sourceapiassociation.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
"aws-athena-preparedstatement.json",
@@ -1072,6 +1071,7 @@
"aws-ec2-subnetnetworkaclassociation.json",
"aws-ec2-subnetroutetableassociation.json",
"aws-ec2-trafficmirrorfilter.json",
+ "aws-ec2-trafficmirrorfilterrule.json",
"aws-ec2-trafficmirrortarget.json",
"aws-ec2-transitgateway.json",
"aws-ec2-transitgatewayconnect.json",
@@ -1191,7 +1191,6 @@
"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",
@@ -1261,7 +1260,6 @@
"aws-kinesisanalytics-applicationoutput.json",
"aws-kinesisanalyticsv2-application.json",
"aws-kinesisanalyticsv2-applicationoutput.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kinesisvideo-signalingchannel.json",
"aws-kinesisvideo-stream.json",
"aws-kms-alias.json",
@@ -1274,6 +1272,7 @@
"aws-lakeformation-resource.json",
"aws-lakeformation-tag.json",
"aws-lakeformation-tagassociation.json",
+ "aws-lambda-alias.json",
"aws-lambda-codesigningconfig.json",
"aws-lambda-eventinvokeconfig.json",
"aws-lambda-eventsourcemapping.json",
@@ -1370,7 +1369,6 @@
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
"aws-rds-globalcluster.json",
- "aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
"aws-redshift-clusterparametergroup.json",
@@ -1453,7 +1451,6 @@
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
"aws-sdb-domain.json",
- "aws-secretsmanager-resourcepolicy.json",
"aws-secretsmanager-rotationschedule.json",
"aws-secretsmanager-secret.json",
"aws-securityhub-automationrule.json",
@@ -1510,6 +1507,8 @@
"aws-sso-instance.json",
"aws-sso-instanceaccesscontrolattributeconfiguration.json",
"aws-sso-permissionset.json",
+ "aws-stepfunctions-activity.json",
+ "aws-stepfunctions-statemachine.json",
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-trafficmirrorfilterrule.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-trafficmirrorfilterrule.json
deleted file mode 100644
index 95028d4c8a..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-trafficmirrorfilterrule.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TrafficMirrorFilterId"
- ],
- "definitions": {
- "TrafficMirrorPortRange": {
- "additionalProperties": false,
- "properties": {
- "FromPort": {
- "type": "integer"
- },
- "ToPort": {
- "type": "integer"
- }
- },
- "required": [
- "FromPort",
- "ToPort"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Description": {
- "type": "string"
- },
- "DestinationCidrBlock": {
- "type": "string"
- },
- "DestinationPortRange": {
- "$ref": "#/definitions/TrafficMirrorPortRange"
- },
- "Id": {
- "type": "string"
- },
- "Protocol": {
- "type": "integer"
- },
- "RuleAction": {
- "type": "string"
- },
- "RuleNumber": {
- "type": "integer"
- },
- "SourceCidrBlock": {
- "type": "string"
- },
- "SourcePortRange": {
- "$ref": "#/definitions/TrafficMirrorPortRange"
- },
- "TrafficDirection": {
- "type": "string"
- },
- "TrafficMirrorFilterId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "RuleAction",
- "SourceCidrBlock",
- "RuleNumber",
- "DestinationCidrBlock",
- "TrafficMirrorFilterId",
- "TrafficDirection"
- ],
- "typeName": "AWS::EC2::TrafficMirrorFilterRule"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-glue-trigger.json
new file mode 100644
index 0000000000..974dd89b9f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-glue-trigger.json
@@ -0,0 +1,172 @@
+{
+ "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-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-lambda-alias.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-lambda-alias.json
deleted file mode 100644
index 4a291518b6..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-lambda-alias.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/FunctionName"
- ],
- "definitions": {
- "AliasRoutingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "AdditionalVersionWeights": {
- "items": {
- "$ref": "#/definitions/VersionWeight"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "AdditionalVersionWeights"
- ],
- "type": "object"
- },
- "ProvisionedConcurrencyConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ProvisionedConcurrentExecutions": {
- "type": "integer"
- }
- },
- "required": [
- "ProvisionedConcurrentExecutions"
- ],
- "type": "object"
- },
- "VersionWeight": {
- "additionalProperties": false,
- "properties": {
- "FunctionVersion": {
- "type": "string"
- },
- "FunctionWeight": {
- "type": "number"
- }
- },
- "required": [
- "FunctionVersion",
- "FunctionWeight"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Description": {
- "type": "string"
- },
- "FunctionName": {
- "type": "string"
- },
- "FunctionVersion": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "ProvisionedConcurrencyConfig": {
- "$ref": "#/definitions/ProvisionedConcurrencyConfiguration"
- },
- "RoutingConfig": {
- "$ref": "#/definitions/AliasRoutingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "FunctionName",
- "FunctionVersion",
- "Name"
- ],
- "typeName": "AWS::Lambda::Alias"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-integration.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-integration.json
new file mode 100644
index 0000000000..8bb00c0dfe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-integration.json
@@ -0,0 +1,154 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SourceArn",
+ "/properties/TargetArn",
+ "/properties/KMSKeyId",
+ "/properties/AdditionalEncryptionContext"
+ ],
+ "definitions": {
+ "EncryptionContextMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[\\s\\S]*$": {
+ "maxLength": 131072,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateIntegration",
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "redshift:CreateInboundIntegration"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DeleteIntegration",
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "rds:RemoveTagsFromResource",
+ "rds:ModifyIntegration"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IntegrationArn"
+ ],
+ "properties": {
+ "AdditionalEncryptionContext": {
+ "$ref": "#/definitions/EncryptionContextMap"
+ },
+ "CreateTime": {
+ "type": "string"
+ },
+ "DataFilter": {
+ "maxLength": 25600,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9_ \"\\\\\\-$,*.:?+\\/]*",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IntegrationArn": {
+ "type": "string"
+ },
+ "IntegrationName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KMSKeyId": {
+ "type": "string"
+ },
+ "SourceArn": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetArn": {
+ "type": "string"
+ }
+ },
+ "propertyTransform": {
+ "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])",
+ "/properties/SourceArn": "$lowercase(SourceArn)"
+ },
+ "readOnlyProperties": [
+ "/properties/IntegrationArn",
+ "/properties/CreateTime"
+ ],
+ "required": [
+ "SourceArn",
+ "TargetArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RDS::Integration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-secretsmanager-resourcepolicy.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-secretsmanager-resourcepolicy.json
new file mode 100644
index 0000000000..92fc7be26c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-secretsmanager-resourcepolicy.json
@@ -0,0 +1,35 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SecretId"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "BlockPublicPolicy": {
+ "type": "boolean"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "ResourcePolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "SecretId",
+ "ResourcePolicy"
+ ],
+ "typeName": "AWS::SecretsManager::ResourcePolicy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-stepfunctions-activity.json
deleted file mode 100644
index 7aaf191ed1..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-stepfunctions-activity.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateActivity",
- "states:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "states:DescribeActivity",
- "states:DeleteActivity"
- ]
- },
- "list": {
- "permissions": [
- "states:ListActivities"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeActivity",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:ListTagsForResource",
- "states:TagResource",
- "states:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::Activity"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-stepfunctions-statemachine.json
deleted file mode 100644
index c8a1b0f42e..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-stepfunctions-statemachine.json
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/StateMachineName"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/StateMachineName",
- "/properties/StateMachineType"
- ],
- "definitions": {
- "CloudWatchLogsLogGroup": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- },
- "Definition": {
- "minProperties": 1,
- "type": "object"
- },
- "DefinitionSubstitutions": {
- "additionalProperties": false,
- "minProperties": 1,
- "patternProperties": {
- ".*": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- },
- {
- "type": "boolean"
- }
- ]
- }
- },
- "type": "object"
- },
- "LogDestination": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsLogGroup": {
- "$ref": "#/definitions/CloudWatchLogsLogGroup"
- }
- },
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destinations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LogDestination"
- },
- "minItems": 1,
- "type": "array"
- },
- "IncludeExecutionData": {
- "type": "boolean"
- },
- "Level": {
- "enum": [
- "ALL",
- "ERROR",
- "FATAL",
- "OFF"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "S3Location": {
- "additionalProperties": false,
- "properties": {
- "Bucket": {
- "type": "string"
- },
- "Key": {
- "type": "string"
- },
- "Version": {
- "type": "string"
- }
- },
- "required": [
- "Bucket",
- "Key"
- ],
- "type": "object"
- },
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TracingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Enabled": {
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateStateMachine",
- "states:DescribeStateMachine",
- "states:TagResource",
- "iam:PassRole",
- "s3:GetObject"
- ]
- },
- "delete": {
- "permissions": [
- "states:DeleteStateMachine",
- "states:DescribeStateMachine"
- ]
- },
- "list": {
- "permissions": [
- "states:ListStateMachines"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeStateMachine",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:UpdateStateMachine",
- "states:TagResource",
- "states:UntagResource",
- "states:ListTagsForResource",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/Definition"
- },
- "DefinitionS3Location": {
- "$ref": "#/definitions/S3Location"
- },
- "DefinitionString": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "DefinitionSubstitutions": {
- "$ref": "#/definitions/DefinitionSubstitutions"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineName": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineRevisionId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineType": {
- "enum": [
- "STANDARD",
- "EXPRESS"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TracingConfiguration": {
- "$ref": "#/definitions/TracingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/Name",
- "/properties/StateMachineRevisionId"
- ],
- "required": [
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::StateMachine",
- "writeOnlyProperties": [
- "/properties/Definition",
- "/properties/DefinitionS3Location",
- "/properties/DefinitionSubstitutions"
- ]
-}
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 7996392da5..227ab6f7de 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py
@@ -9,6 +9,7 @@
"AWS::APS::RuleGroupsNamespace",
"AWS::APS::Scraper",
"AWS::APS::Workspace",
+ "AWS::ARCZonalShift::AutoshiftObserverNotificationStatus",
"AWS::ARCZonalShift::ZonalAutoshiftConfiguration",
"AWS::AccessAnalyzer::Analyzer",
"AWS::AmazonMQ::Broker",
@@ -133,9 +134,14 @@
"AWS::Bedrock::Agent",
"AWS::Bedrock::AgentAlias",
"AWS::Bedrock::DataSource",
+ "AWS::Bedrock::Flow",
+ "AWS::Bedrock::FlowAlias",
+ "AWS::Bedrock::FlowVersion",
"AWS::Bedrock::Guardrail",
"AWS::Bedrock::GuardrailVersion",
"AWS::Bedrock::KnowledgeBase",
+ "AWS::Bedrock::Prompt",
+ "AWS::Bedrock::PromptVersion",
"AWS::Budgets::Budget",
"AWS::Budgets::BudgetsAction",
"AWS::CDK::Metadata",
@@ -1323,6 +1329,7 @@
"aws-aps-rulegroupsnamespace.json",
"aws-aps-scraper.json",
"aws-aps-workspace.json",
+ "aws-arczonalshift-autoshiftobservernotificationstatus.json",
"aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-capacityreservation.json",
"aws-athena-datacatalog.json",
@@ -1352,9 +1359,14 @@
"aws-bedrock-agent.json",
"aws-bedrock-agentalias.json",
"aws-bedrock-datasource.json",
+ "aws-bedrock-flow.json",
+ "aws-bedrock-flowalias.json",
+ "aws-bedrock-flowversion.json",
"aws-bedrock-guardrail.json",
"aws-bedrock-guardrailversion.json",
"aws-bedrock-knowledgebase.json",
+ "aws-bedrock-prompt.json",
+ "aws-bedrock-promptversion.json",
"aws-budgets-budget.json",
"aws-budgets-budgetsaction.json",
"aws-cassandra-keyspace.json",
@@ -1372,7 +1384,6 @@
"aws-cleanrooms-configuredtableassociation.json",
"aws-cleanrooms-membership.json",
"aws-cleanrooms-privacybudgettemplate.json",
- "aws-cleanroomsml-trainingdataset.json",
"aws-cloud9-environmentec2.json",
"aws-cloudformation-customresource.json",
"aws-cloudformation-hookdefaultversion.json",
@@ -1550,6 +1561,7 @@
"aws-dms-eventsubscription.json",
"aws-dms-instanceprofile.json",
"aws-dms-migrationproject.json",
+ "aws-dms-replicationconfig.json",
"aws-dms-replicationinstance.json",
"aws-dms-replicationsubnetgroup.json",
"aws-dms-replicationtask.json",
@@ -1828,7 +1840,6 @@
"aws-inspector-assessmenttarget.json",
"aws-inspector-assessmenttemplate.json",
"aws-inspector-resourcegroup.json",
- "aws-inspectorv2-cisscanconfiguration.json",
"aws-inspectorv2-filter.json",
"aws-internetmonitor-monitor.json",
"aws-iot-accountauditconfiguration.json",
@@ -2081,6 +2092,7 @@
"aws-opsworks-volume.json",
"aws-opsworkscm-server.json",
"aws-organizations-account.json",
+ "aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
"aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
@@ -2212,13 +2224,11 @@
"aws-s3outposts-bucket.json",
"aws-s3outposts-bucketpolicy.json",
"aws-s3outposts-endpoint.json",
- "aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-coderepository.json",
"aws-sagemaker-dataqualityjobdefinition.json",
"aws-sagemaker-device.json",
"aws-sagemaker-devicefleet.json",
- "aws-sagemaker-domain.json",
"aws-sagemaker-endpoint.json",
"aws-sagemaker-endpointconfig.json",
"aws-sagemaker-featuregroup.json",
@@ -2239,8 +2249,6 @@
"aws-sagemaker-notebookinstancelifecycleconfig.json",
"aws-sagemaker-pipeline.json",
"aws-sagemaker-project.json",
- "aws-sagemaker-space.json",
- "aws-sagemaker-userprofile.json",
"aws-sagemaker-workteam.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
@@ -2308,6 +2316,7 @@
"aws-shield-drtaccess.json",
"aws-shield-proactiveengagement.json",
"aws-shield-protection.json",
+ "aws-shield-protectiongroup.json",
"aws-signer-profilepermission.json",
"aws-signer-signingprofile.json",
"aws-sns-subscription.json",
@@ -2408,8 +2417,10 @@
"aws-workspacesweb-identityprovider.json",
"aws-workspacesweb-ipaccesssettings.json",
"aws-workspacesweb-networksettings.json",
+ "aws-workspacesweb-portal.json",
"aws-workspacesweb-truststore.json",
"aws-workspacesweb-useraccessloggingsettings.json",
+ "aws-workspacesweb-usersettings.json",
"aws-xray-group.json",
"aws-xray-resourcepolicy.json",
"aws-xray-samplingrule.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanroomsml-trainingdataset.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanroomsml-trainingdataset.json
new file mode 100644
index 0000000000..bdb81299cb
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanroomsml-trainingdataset.json
@@ -0,0 +1,249 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/Name",
+ "/properties/RoleArn",
+ "/properties/TrainingData"
+ ],
+ "definitions": {
+ "ColumnSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ },
+ "ColumnTypes": {
+ "items": {
+ "$ref": "#/definitions/ColumnType"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "ColumnTypes"
+ ],
+ "type": "object"
+ },
+ "ColumnType": {
+ "enum": [
+ "USER_ID",
+ "ITEM_ID",
+ "TIMESTAMP",
+ "CATEGORICAL_FEATURE",
+ "NUMERICAL_FEATURE"
+ ],
+ "type": "string"
+ },
+ "DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "GlueDataSource": {
+ "$ref": "#/definitions/GlueDataSource"
+ }
+ },
+ "required": [
+ "GlueDataSource"
+ ],
+ "type": "object"
+ },
+ "Dataset": {
+ "additionalProperties": false,
+ "properties": {
+ "InputConfig": {
+ "$ref": "#/definitions/DatasetInputConfig"
+ },
+ "Type": {
+ "$ref": "#/definitions/DatasetType"
+ }
+ },
+ "required": [
+ "InputConfig",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "DatasetInputConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DataSource": {
+ "$ref": "#/definitions/DataSource"
+ },
+ "Schema": {
+ "items": {
+ "$ref": "#/definitions/ColumnSchema"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "DataSource",
+ "Schema"
+ ],
+ "type": "object"
+ },
+ "DatasetType": {
+ "enum": [
+ "INTERACTIONS"
+ ],
+ "type": "string"
+ },
+ "GlueDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^[0-9]{12}$",
+ "type": "string"
+ },
+ "DatabaseName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_]+-)*([a-zA-Z0-9_]+))?$",
+ "type": "string"
+ },
+ "TableName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DatabaseName",
+ "TableName"
+ ],
+ "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"
+ },
+ "TrainingDatasetStatus": {
+ "enum": [
+ "ACTIVE"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "cleanrooms-ml:CreateTrainingDataset",
+ "cleanrooms-ml:GetTrainingDataset",
+ "cleanrooms-ml:TagResource",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "cleanrooms-ml:DeleteTrainingDataset"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "cleanrooms-ml:ListTrainingDatasets"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "cleanrooms-ml:GetTrainingDataset"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "cleanrooms-ml:TagResource",
+ "cleanrooms-ml:UntagResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/TrainingDatasetArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 255,
+ "pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$",
+ "type": "string"
+ },
+ "RoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[-a-z]*:iam::[0-9]{12}:role/.+$",
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/TrainingDatasetStatus"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TrainingData": {
+ "items": {
+ "$ref": "#/definitions/Dataset"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "TrainingDatasetArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:training-dataset/[-a-zA-Z0-9_/.]+$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Status",
+ "/properties/TrainingDatasetArn"
+ ],
+ "required": [
+ "Name",
+ "RoleArn",
+ "TrainingData"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CleanRoomsML::TrainingDataset"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-dms-replicationconfig.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-dms-replicationconfig.json
deleted file mode 100644
index 83b9074702..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-dms-replicationconfig.json
+++ /dev/null
@@ -1,204 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/ReplicationConfigIdentifier"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ResourceIdentifier"
- ],
- "definitions": {
- "ComputeConfig": {
- "additionalProperties": false,
- "properties": {
- "AvailabilityZone": {
- "type": "string"
- },
- "DnsNameServers": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "MaxCapacityUnits": {
- "type": "integer"
- },
- "MinCapacityUnits": {
- "type": "integer"
- },
- "MultiAZ": {
- "type": "boolean"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReplicationSubnetGroupId": {
- "type": "string"
- },
- "VpcSecurityGroupIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "MaxCapacityUnits"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "dms:CreateReplicationConfig",
- "dms:AddTagsToResource",
- "dms:ListTagsForResource",
- "iam:CreateServiceLinkedRole",
- "iam:AttachRolePolicy",
- "iam:PutRolePolicy",
- "iam:UpdateRoleDescription"
- ]
- },
- "delete": {
- "permissions": [
- "dms:DescribeReplicationConfigs",
- "dms:DeleteReplicationConfig",
- "dms:ListTagsForResource",
- "iam:DeleteServiceLinkedRole",
- "iam:GetServiceLinkedRoleDeletionStatus"
- ]
- },
- "list": {
- "permissions": [
- "dms:DescribeReplicationConfigs",
- "dms:ListTagsForResource"
- ]
- },
- "read": {
- "permissions": [
- "dms:DescribeReplicationConfigs",
- "dms:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "dms:ModifyReplicationConfig",
- "dms:AddTagsToResource",
- "dms:RemoveTagsFromResource",
- "dms:ListTagsForResource",
- "iam:CreateServiceLinkedRole",
- "iam:AttachRolePolicy",
- "iam:PutRolePolicy",
- "iam:UpdateRoleDescription"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/ReplicationConfigArn"
- ],
- "properties": {
- "ComputeConfig": {
- "$ref": "#/definitions/ComputeConfig"
- },
- "ReplicationConfigArn": {
- "type": "string"
- },
- "ReplicationConfigIdentifier": {
- "type": "string"
- },
- "ReplicationSettings": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "ReplicationType": {
- "enum": [
- "full-load",
- "full-load-and-cdc",
- "cdc"
- ],
- "type": "string"
- },
- "ResourceIdentifier": {
- "type": "string"
- },
- "SourceEndpointArn": {
- "type": "string"
- },
- "SupplementalSettings": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "TableMappings": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 200,
- "minItems": 1,
- "type": "array"
- },
- "TargetEndpointArn": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/ReplicationConfigArn"
- ],
- "required": [
- "ReplicationConfigIdentifier",
- "SourceEndpointArn",
- "TargetEndpointArn",
- "ReplicationType",
- "ComputeConfig",
- "TableMappings"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-dms",
- "tagging": {
- "cloudFormationSystemTags": false,
- "permissions": [
- "dms:AddTagsToResource",
- "dms:ListTagsForResource",
- "dms:RemoveTagsFromResource"
- ],
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::DMS::ReplicationConfig"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-inspectorv2-cisscanconfiguration.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-inspectorv2-cisscanconfiguration.json
new file mode 100644
index 0000000000..207b596d71
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-inspectorv2-cisscanconfiguration.json
@@ -0,0 +1,245 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CisSecurityLevel": {
+ "enum": [
+ "LEVEL_1",
+ "LEVEL_2"
+ ],
+ "type": "string"
+ },
+ "CisTagMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^.{2,127}$": {
+ "pattern": "^.{1,255}$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CisTargets": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountIds": {
+ "items": {
+ "pattern": "^\\d{12}|ALL_MEMBERS|SELF$",
+ "type": "string"
+ },
+ "maxItems": 10000,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetResourceTags": {
+ "$ref": "#/definitions/TargetResourceTags"
+ }
+ },
+ "required": [
+ "AccountIds"
+ ]
+ },
+ "DailySchedule": {
+ "additionalProperties": false,
+ "properties": {
+ "StartTime": {
+ "$ref": "#/definitions/Time"
+ }
+ },
+ "required": [
+ "StartTime"
+ ],
+ "type": "object"
+ },
+ "Day": {
+ "enum": [
+ "MON",
+ "TUE",
+ "WED",
+ "THU",
+ "FRI",
+ "SAT",
+ "SUN"
+ ],
+ "type": "string"
+ },
+ "DaysList": {
+ "items": {
+ "$ref": "#/definitions/Day"
+ },
+ "maxItems": 7,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MonthlySchedule": {
+ "additionalProperties": false,
+ "properties": {
+ "Day": {
+ "$ref": "#/definitions/Day"
+ },
+ "StartTime": {
+ "$ref": "#/definitions/Time"
+ }
+ },
+ "required": [
+ "StartTime",
+ "Day"
+ ],
+ "type": "object"
+ },
+ "OneTimeSchedule": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Schedule": {
+ "properties": {
+ "Daily": {
+ "$ref": "#/definitions/DailySchedule"
+ },
+ "Monthly": {
+ "$ref": "#/definitions/MonthlySchedule"
+ },
+ "OneTime": {
+ "$ref": "#/definitions/OneTimeSchedule"
+ },
+ "Weekly": {
+ "$ref": "#/definitions/WeeklySchedule"
+ }
+ }
+ },
+ "TagValueList": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetResourceTags": {
+ "additionalProperties": false,
+ "maxProperties": 5,
+ "patternProperties": {
+ "^.+$": {
+ "$ref": "#/definitions/TagValueList"
+ }
+ }
+ },
+ "Time": {
+ "additionalProperties": false,
+ "properties": {
+ "TimeOfDay": {
+ "pattern": "^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$",
+ "type": "string"
+ },
+ "TimeZone": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TimeOfDay",
+ "TimeZone"
+ ],
+ "type": "object"
+ },
+ "WeeklySchedule": {
+ "additionalProperties": false,
+ "properties": {
+ "Days": {
+ "$ref": "#/definitions/DaysList"
+ },
+ "StartTime": {
+ "$ref": "#/definitions/Time"
+ }
+ },
+ "required": [
+ "StartTime",
+ "Days"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "inspector2:CreateCisScanConfiguration",
+ "inspector2:ListCisScanConfigurations",
+ "inspector2:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "inspector2:ListCisScanConfigurations",
+ "inspector2:DeleteCisScanConfiguration",
+ "inspector2:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "inspector2:ListCisScanConfigurations",
+ "inspector2:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "inspector2:ListCisScanConfigurations",
+ "inspector2:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "inspector2:ListCisScanConfigurations",
+ "inspector2:UpdateCisScanConfiguration",
+ "inspector2:TagResource",
+ "inspector2:UntagResource",
+ "inspector2:ListTagsForResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "ScanName": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "Schedule": {
+ "$ref": "#/definitions/Schedule"
+ },
+ "SecurityLevel": {
+ "$ref": "#/definitions/CisSecurityLevel"
+ },
+ "Tags": {
+ "$ref": "#/definitions/CisTagMap"
+ },
+ "Targets": {
+ "$ref": "#/definitions/CisTargets"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "required": [
+ "ScanName",
+ "SecurityLevel",
+ "Schedule",
+ "Targets"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-inspector.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::InspectorV2::CisScanConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-organization.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-organization.json
deleted file mode 100644
index 844033a13a..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-organization.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "handlers": {
- "create": {
- "permissions": [
- "organizations:CreateOrganization",
- "organizations:DescribeOrganization",
- "iam:CreateServiceLinkedRole",
- "organizations:ListRoots"
- ]
- },
- "delete": {
- "permissions": [
- "organizations:DeleteOrganization",
- "organizations:DescribeOrganization"
- ]
- },
- "list": {
- "permissions": [
- "organizations:DescribeOrganization"
- ]
- },
- "read": {
- "permissions": [
- "organizations:DescribeOrganization",
- "organizations:ListRoots"
- ]
- },
- "update": {
- "permissions": [
- "organizations:DescribeOrganization"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "pattern": "^arn:aws.*:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}",
- "type": "string"
- },
- "FeatureSet": {
- "default": "ALL",
- "enum": [
- "ALL",
- "CONSOLIDATED_BILLING"
- ],
- "type": "string"
- },
- "Id": {
- "pattern": "^o-[a-z0-9]{10,32}$",
- "type": "string"
- },
- "ManagementAccountArn": {
- "pattern": "^arn:aws.*:organizations::\\d{12}:account\\/o-[a-z0-9]{10,32}\\/\\d{12}",
- "type": "string"
- },
- "ManagementAccountEmail": {
- "maxLength": 64,
- "minLength": 6,
- "pattern": "[^\\s@]+@[^\\s@]+\\.[^\\s@]+",
- "type": "string"
- },
- "ManagementAccountId": {
- "pattern": "^\\d{12}$",
- "type": "string"
- },
- "RootId": {
- "maxLength": 64,
- "pattern": "^r-[0-9a-z]{4,32}$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn",
- "/properties/ManagementAccountArn",
- "/properties/ManagementAccountId",
- "/properties/ManagementAccountEmail",
- "/properties/RootId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations.git",
- "tagging": {
- "taggable": false
- },
- "typeName": "AWS::Organizations::Organization"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-app.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-app.json
new file mode 100644
index 0000000000..d565ffb835
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-app.json
@@ -0,0 +1,210 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/Tags",
+ "/properties/ResourceSpec"
+ ],
+ "definitions": {
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListApps"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeApp",
+ "sagemaker:DescribeApp"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName"
+ ],
+ "properties": {
+ "AppArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:app/.*",
+ "type": "string"
+ },
+ "AppName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/AppArn"
+ ],
+ "required": [
+ "AppName",
+ "AppType",
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::App",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-domain.json
new file mode 100644
index 0000000000..5cd4ea45fa
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-domain.json
@@ -0,0 +1,831 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AuthMode",
+ "/properties/DomainName",
+ "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
+ "/properties/KmsKeyId",
+ "/properties/VpcId",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableDockerAccess": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "VpcOnlyTrustedAccounts": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^\\d+$",
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "DomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DockerSettings": {
+ "$ref": "#/definitions/DockerSettings"
+ },
+ "RStudioServerProDomainSettings": {
+ "$ref": "#/definitions/RStudioServerProDomainSettings"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RSessionAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProDomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "DomainExecutionRoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "RStudioConnectUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ },
+ "RStudioPackageManagerUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DomainExecutionRoleArn"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "LifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RSessionAppSettings": {
+ "$ref": "#/definitions/RSessionAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:CreateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "efs:CreateFileSystem",
+ "kms:CreateGrant",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "kms:GenerateDataKeyWithoutPlainText"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DeleteDomain",
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListDomains"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:UpdateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "AppNetworkAccessType": {
+ "enum": [
+ "PublicInternetOnly",
+ "VpcOnly"
+ ],
+ "type": "string"
+ },
+ "AppSecurityGroupManagement": {
+ "enum": [
+ "Service",
+ "Customer"
+ ],
+ "type": "string"
+ },
+ "AuthMode": {
+ "enum": [
+ "SSO",
+ "IAM"
+ ],
+ "type": "string"
+ },
+ "DefaultSpaceSettings": {
+ "$ref": "#/definitions/DefaultSpaceSettings"
+ },
+ "DefaultUserSettings": {
+ "$ref": "#/definitions/UserSettings"
+ },
+ "DomainArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "pattern": "^d-(-*[a-z0-9])+",
+ "type": "string"
+ },
+ "DomainName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "DomainSettings": {
+ "$ref": "#/definitions/DomainSettings"
+ },
+ "HomeEfsFileSystemId": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "SecurityGroupIdForDomainBoundary": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "SingleSignOnApplicationArn": {
+ "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "SingleSignOnManagedApplicationInstanceId": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/DomainArn",
+ "/properties/Url",
+ "/properties/DomainId",
+ "/properties/HomeEfsFileSystemId",
+ "/properties/SecurityGroupIdForDomainBoundary",
+ "/properties/SingleSignOnManagedApplicationInstanceId",
+ "/properties/SingleSignOnApplicationArn"
+ ],
+ "required": [
+ "AuthMode",
+ "DefaultUserSettings",
+ "DomainName",
+ "SubnetIds",
+ "VpcId"
+ ],
+ "typeName": "AWS::SageMaker::Domain",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-space.json
new file mode 100644
index 0000000000..1ad92e7aa4
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-space.json
@@ -0,0 +1,436 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/SpaceName",
+ "/properties/SpaceSharingSettings",
+ "/properties/OwnershipSettings"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "TensorBoard",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "JupyterLab",
+ "CodeEditor"
+ ],
+ "type": "string"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystem": {
+ "$ref": "#/definitions/EFSFileSystem"
+ }
+ },
+ "type": "object"
+ },
+ "CustomFileSystems": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystem"
+ },
+ "maxItems": 1,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "EFSFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "EbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "OwnershipSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "OwnerUserProfileName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "required": [
+ "OwnerUserProfileName"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceCodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "SpaceJupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AppType": {
+ "$ref": "#/definitions/AppType"
+ },
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/SpaceCodeEditorAppSettings"
+ },
+ "CustomFileSystems": {
+ "$ref": "#/definitions/CustomFileSystems"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/SpaceJupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/SpaceStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SharingType": {
+ "enum": [
+ "Private",
+ "Shared"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "SharingType"
+ ],
+ "type": "object"
+ },
+ "SpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsStorageSettings": {
+ "$ref": "#/definitions/EbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListSpaces"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId",
+ "/properties/SpaceName"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "OwnershipSettings": {
+ "$ref": "#/definitions/OwnershipSettings"
+ },
+ "SpaceArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*",
+ "type": "string"
+ },
+ "SpaceDisplayName": {
+ "maxLength": 64,
+ "pattern": "^(?!\\s*$).+",
+ "type": "string"
+ },
+ "SpaceName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SpaceSettings": {
+ "$ref": "#/definitions/SpaceSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ },
+ "SpaceSharingSettings": {
+ "$ref": "#/definitions/SpaceSharingSettings"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/SpaceArn",
+ "/properties/Url"
+ ],
+ "required": [
+ "DomainId",
+ "SpaceName"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::SageMaker::Space",
+ "writeOnlyProperties": [
+ "/properties/SpaceSettings",
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-userprofile.json
new file mode 100644
index 0000000000..c2c0daf9fe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-userprofile.json
@@ -0,0 +1,592 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/SingleSignOnUserIdentifier",
+ "/properties/SingleSignOnUserValue",
+ "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
+ "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteUserProfile",
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListUserProfiles"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/UserProfileName",
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SingleSignOnUserIdentifier": {
+ "pattern": "UserName",
+ "type": "string"
+ },
+ "SingleSignOnUserValue": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
+ "type": "string"
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "UserSettings": {
+ "$ref": "#/definitions/UserSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/UserProfileArn"
+ ],
+ "required": [
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::UserProfile",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-shield-protectiongroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-shield-protectiongroup.json
deleted file mode 100644
index 5feda49337..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-shield-protectiongroup.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ProtectionGroupId"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "shield:CreateProtectionGroup",
- "shield:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "shield:DeleteProtectionGroup",
- "shield:UntagResource"
- ]
- },
- "list": {
- "permissions": [
- "shield:ListProtectionGroups"
- ]
- },
- "read": {
- "permissions": [
- "shield:DescribeProtectionGroup",
- "shield:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "shield:UpdateProtectionGroup",
- "shield:ListTagsForResource",
- "shield:TagResource",
- "shield:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/ProtectionGroupArn"
- ],
- "properties": {
- "Aggregation": {
- "enum": [
- "SUM",
- "MEAN",
- "MAX"
- ],
- "type": "string"
- },
- "Members": {
- "insertionOrder": false,
- "items": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 10000,
- "type": "array"
- },
- "Pattern": {
- "enum": [
- "ALL",
- "ARBITRARY",
- "BY_RESOURCE_TYPE"
- ],
- "type": "string"
- },
- "ProtectionGroupArn": {
- "type": "string"
- },
- "ProtectionGroupId": {
- "maxLength": 36,
- "minLength": 1,
- "pattern": "[a-zA-Z0-9\\-]*",
- "type": "string"
- },
- "ResourceType": {
- "enum": [
- "CLOUDFRONT_DISTRIBUTION",
- "ROUTE_53_HOSTED_ZONE",
- "ELASTIC_IP_ALLOCATION",
- "CLASSIC_LOAD_BALANCER",
- "APPLICATION_LOAD_BALANCER",
- "GLOBAL_ACCELERATOR"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 200,
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/ProtectionGroupArn"
- ],
- "replacementStrategy": "delete_then_create",
- "required": [
- "Aggregation",
- "Pattern",
- "ProtectionGroupId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-shield.git",
- "tagging": {
- "cloudFormationSystemTags": false,
- "permissions": [
- "shield:ListTagsForResource",
- "shield:UntagResource",
- "shield:TagResource"
- ],
- "tagProperty": "/properties/Tags",
- "taggable": true
- },
- "typeName": "AWS::Shield::ProtectionGroup"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-portal.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-portal.json
deleted file mode 100644
index 9588a3f3dc..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-portal.json
+++ /dev/null
@@ -1,311 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AdditionalEncryptionContext",
- "/properties/CustomerManagedKey"
- ],
- "definitions": {
- "AuthenticationType": {
- "enum": [
- "Standard",
- "IAM_Identity_Center"
- ],
- "type": "string"
- },
- "BrowserType": {
- "enum": [
- "Chrome"
- ],
- "type": "string"
- },
- "EncryptionContextMap": {
- "additionalProperties": false,
- "patternProperties": {
- "^[\\s\\S]*$": {
- "maxLength": 131072,
- "minLength": 0,
- "pattern": "^[\\s\\S]*$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "InstanceType": {
- "enum": [
- "standard.regular",
- "standard.large",
- "standard.xlarge"
- ],
- "type": "string"
- },
- "PortalStatus": {
- "enum": [
- "Incomplete",
- "Pending",
- "Active"
- ],
- "type": "string"
- },
- "RendererType": {
- "enum": [
- "AppStream"
- ],
- "type": "string"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "workspaces-web:CreatePortal",
- "workspaces-web:GetPortal",
- "workspaces-web:GetPortalServiceProviderMetadata",
- "workspaces-web:AssociateBrowserSettings",
- "workspaces-web:AssociateIpAccessSettings",
- "workspaces-web:AssociateNetworkSettings",
- "workspaces-web:AssociateTrustStore",
- "workspaces-web:AssociateUserAccessLoggingSettings",
- "workspaces-web:AssociateUserSettings",
- "workspaces-web:ListTagsForResource",
- "workspaces-web:TagResource",
- "kms:CreateGrant",
- "kms:GenerateDataKey",
- "kms:Decrypt",
- "kms:DescribeKey",
- "ec2:CreateNetworkInterface",
- "ec2:CreateNetworkInterfacePermission",
- "ec2:DeleteNetworkInterface",
- "ec2:DeleteNetworkInterfacePermission",
- "ec2:ModifyNetworkInterfaceAttribute",
- "kinesis:PutRecord",
- "kinesis:PutRecords",
- "kinesis:DescribeStreamSummary",
- "sso:CreateManagedApplicationInstance",
- "sso:DescribeRegisteredRegions"
- ]
- },
- "delete": {
- "permissions": [
- "workspaces-web:GetPortal",
- "workspaces-web:DeletePortal",
- "workspaces-web:DisassociateBrowserSettings",
- "workspaces-web:DisassociateIpAccessSettings",
- "workspaces-web:DisassociateNetworkSettings",
- "workspaces-web:DisassociateTrustStore",
- "workspaces-web:DisassociateUserAccessLoggingSettings",
- "workspaces-web:DisassociateUserSettings",
- "kms:Decrypt",
- "kms:DescribeKey",
- "sso:DeleteManagedApplicationInstance"
- ]
- },
- "list": {
- "permissions": [
- "workspaces-web:ListPortals",
- "kms:Decrypt",
- "kms:DescribeKey"
- ]
- },
- "read": {
- "permissions": [
- "workspaces-web:GetPortal",
- "workspaces-web:GetPortalServiceProviderMetadata",
- "workspaces-web:ListTagsForResource",
- "kms:Decrypt",
- "kms:DescribeKey"
- ]
- },
- "update": {
- "permissions": [
- "workspaces-web:GetPortal",
- "workspaces-web:GetPortalServiceProviderMetadata",
- "workspaces-web:UpdatePortal",
- "workspaces-web:AssociateBrowserSettings",
- "workspaces-web:AssociateIpAccessSettings",
- "workspaces-web:AssociateNetworkSettings",
- "workspaces-web:AssociateTrustStore",
- "workspaces-web:AssociateUserAccessLoggingSettings",
- "workspaces-web:AssociateUserSettings",
- "workspaces-web:DisassociateBrowserSettings",
- "workspaces-web:DisassociateIpAccessSettings",
- "workspaces-web:DisassociateNetworkSettings",
- "workspaces-web:DisassociateTrustStore",
- "workspaces-web:DisassociateUserAccessLoggingSettings",
- "workspaces-web:DisassociateUserSettings",
- "workspaces-web:ListTagsForResource",
- "workspaces-web:TagResource",
- "workspaces-web:UntagResource",
- "kms:CreateGrant",
- "kms:Encrypt",
- "kms:GenerateDataKey",
- "kms:Decrypt",
- "kms:DescribeKey",
- "ec2:CreateNetworkInterface",
- "ec2:CreateNetworkInterfacePermission",
- "ec2:DeleteNetworkInterface",
- "ec2:DeleteNetworkInterfacePermission",
- "ec2:ModifyNetworkInterfaceAttribute",
- "kinesis:PutRecord",
- "kinesis:PutRecords",
- "kinesis:DescribeStreamSummary",
- "sso:CreateManagedApplicationInstance",
- "sso:DeleteManagedApplicationInstance",
- "sso:DescribeRegisteredRegions",
- "sso:GetApplicationInstance",
- "sso:ListApplicationInstances"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/PortalArn"
- ],
- "properties": {
- "AdditionalEncryptionContext": {
- "$ref": "#/definitions/EncryptionContextMap"
- },
- "AuthenticationType": {
- "$ref": "#/definitions/AuthenticationType"
- },
- "BrowserSettingsArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
- "type": "string"
- },
- "BrowserType": {
- "$ref": "#/definitions/BrowserType"
- },
- "CreationDate": {
- "format": "date-time",
- "type": "string"
- },
- "CustomerManagedKey": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$",
- "type": "string"
- },
- "DisplayName": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^.+$",
- "type": "string"
- },
- "InstanceType": {
- "$ref": "#/definitions/InstanceType"
- },
- "IpAccessSettingsArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
- "type": "string"
- },
- "MaxConcurrentSessions": {
- "maximum": 5000,
- "minimum": 1,
- "type": "number"
- },
- "NetworkSettingsArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
- "type": "string"
- },
- "PortalArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
- "type": "string"
- },
- "PortalEndpoint": {
- "maxLength": 253,
- "minLength": 1,
- "pattern": "^[a-zA-Z0-9]?((?!-)([A-Za-z0-9-]*[A-Za-z0-9])\\.)+[a-zA-Z0-9]+$",
- "type": "string"
- },
- "PortalStatus": {
- "$ref": "#/definitions/PortalStatus"
- },
- "RendererType": {
- "$ref": "#/definitions/RendererType"
- },
- "ServiceProviderSamlMetadata": {
- "maxLength": 204800,
- "minLength": 0,
- "pattern": "^.*$",
- "type": "string"
- },
- "StatusReason": {
- "maxLength": 1024,
- "minLength": 1,
- "pattern": ".*",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array"
- },
- "TrustStoreArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
- "type": "string"
- },
- "UserAccessLoggingSettingsArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
- "type": "string"
- },
- "UserSettingsArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/BrowserType",
- "/properties/CreationDate",
- "/properties/PortalArn",
- "/properties/PortalEndpoint",
- "/properties/PortalStatus",
- "/properties/RendererType",
- "/properties/ServiceProviderSamlMetadata",
- "/properties/StatusReason"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::WorkSpacesWeb::Portal"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-usersettings.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-usersettings.json
deleted file mode 100644
index 42252e5db8..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspacesweb-usersettings.json
+++ /dev/null
@@ -1,250 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/AdditionalEncryptionContext",
- "/properties/CustomerManagedKey"
- ],
- "definitions": {
- "CookieSpecification": {
- "additionalProperties": false,
- "properties": {
- "Domain": {
- "maxLength": 253,
- "minLength": 0,
- "pattern": "^(\\.?)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
- "type": "string"
- },
- "Name": {
- "maxLength": 4096,
- "minLength": 0,
- "type": "string"
- },
- "Path": {
- "maxLength": 2000,
- "minLength": 0,
- "pattern": "^/(\\S)*$",
- "type": "string"
- }
- },
- "required": [
- "Domain"
- ],
- "type": "object"
- },
- "CookieSynchronizationConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Allowlist": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/CookieSpecification"
- },
- "maxItems": 10,
- "minItems": 0,
- "type": "array"
- },
- "Blocklist": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/CookieSpecification"
- },
- "maxItems": 10,
- "minItems": 0,
- "type": "array"
- }
- },
- "required": [
- "Allowlist"
- ],
- "type": "object"
- },
- "EnabledType": {
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "type": "string"
- },
- "EncryptionContextMap": {
- "additionalProperties": false,
- "patternProperties": {
- "^[\\s\\S]*$": {
- "maxLength": 131072,
- "minLength": 0,
- "pattern": "^[\\s\\S]*$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "workspaces-web:CreateUserSettings",
- "workspaces-web:GetUserSettings",
- "workspaces-web:ListTagsForResource",
- "workspaces-web:TagResource",
- "kms:CreateGrant",
- "kms:DescribeKey",
- "kms:GenerateDataKey",
- "kms:Decrypt"
- ]
- },
- "delete": {
- "permissions": [
- "workspaces-web:GetUserSettings",
- "workspaces-web:DeleteUserSettings",
- "kms:CreateGrant",
- "kms:DescribeKey",
- "kms:GenerateDataKey",
- "kms:Decrypt"
- ]
- },
- "list": {
- "permissions": [
- "workspaces-web:ListUserSettings",
- "kms:CreateGrant",
- "kms:DescribeKey",
- "kms:GenerateDataKey",
- "kms:Decrypt"
- ]
- },
- "read": {
- "permissions": [
- "workspaces-web:GetUserSettings",
- "workspaces-web:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey",
- "kms:GenerateDataKey",
- "kms:Decrypt"
- ]
- },
- "update": {
- "permissions": [
- "workspaces-web:UpdateUserSettings",
- "workspaces-web:TagResource",
- "workspaces-web:UntagResource",
- "workspaces-web:GetUserSettings",
- "workspaces-web:ListTagsForResource",
- "kms:CreateGrant",
- "kms:DescribeKey",
- "kms:GenerateDataKey",
- "kms:Decrypt"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/UserSettingsArn"
- ],
- "properties": {
- "AdditionalEncryptionContext": {
- "$ref": "#/definitions/EncryptionContextMap"
- },
- "AssociatedPortalArns": {
- "insertionOrder": false,
- "items": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
- "type": "string"
- },
- "type": "array"
- },
- "CookieSynchronizationConfiguration": {
- "$ref": "#/definitions/CookieSynchronizationConfiguration"
- },
- "CopyAllowed": {
- "$ref": "#/definitions/EnabledType"
- },
- "CustomerManagedKey": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$",
- "type": "string"
- },
- "DeepLinkAllowed": {
- "$ref": "#/definitions/EnabledType"
- },
- "DisconnectTimeoutInMinutes": {
- "default": null,
- "maximum": 600,
- "minimum": 1,
- "type": "number"
- },
- "DownloadAllowed": {
- "$ref": "#/definitions/EnabledType"
- },
- "IdleDisconnectTimeoutInMinutes": {
- "default": null,
- "maximum": 60,
- "minimum": 0,
- "type": "number"
- },
- "PasteAllowed": {
- "$ref": "#/definitions/EnabledType"
- },
- "PrintAllowed": {
- "$ref": "#/definitions/EnabledType"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 200,
- "minItems": 0,
- "type": "array"
- },
- "UploadAllowed": {
- "$ref": "#/definitions/EnabledType"
- },
- "UserSettingsArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/AssociatedPortalArns",
- "/properties/UserSettingsArn"
- ],
- "required": [
- "CopyAllowed",
- "DownloadAllowed",
- "PasteAllowed",
- "PrintAllowed",
- "UploadAllowed"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::WorkSpacesWeb::UserSettings"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py
index 795fafafcc..ee86e7d723 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py
@@ -1212,7 +1212,6 @@
"aws-aps-rulegroupsnamespace.json",
"aws-aps-scraper.json",
"aws-aps-workspace.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
"aws-athena-preparedstatement.json",
@@ -1233,7 +1232,6 @@
"aws-backup-restoretestingselection.json",
"aws-backupgateway-hypervisor.json",
"aws-batch-computeenvironment.json",
- "aws-batch-jobdefinition.json",
"aws-batch-jobqueue.json",
"aws-batch-schedulingpolicy.json",
"aws-budgets-budget.json",
@@ -1253,7 +1251,6 @@
"aws-cleanrooms-configuredtableassociation.json",
"aws-cleanrooms-membership.json",
"aws-cleanrooms-privacybudgettemplate.json",
- "aws-cleanroomsml-trainingdataset.json",
"aws-cloud9-environmentec2.json",
"aws-cloudformation-customresource.json",
"aws-cloudformation-hookdefaultversion.json",
@@ -1582,7 +1579,6 @@
"aws-fis-experimenttemplate.json",
"aws-fis-targetaccountconfiguration.json",
"aws-fms-notificationchannel.json",
- "aws-fms-policy.json",
"aws-fms-resourceset.json",
"aws-forecast-dataset.json",
"aws-forecast-datasetgroup.json",
@@ -1602,7 +1598,6 @@
"aws-gamelift-matchmakingruleset.json",
"aws-gamelift-script.json",
"aws-globalaccelerator-accelerator.json",
- "aws-globalaccelerator-crossaccountattachment.json",
"aws-globalaccelerator-endpointgroup.json",
"aws-globalaccelerator-listener.json",
"aws-glue-classifier.json",
@@ -1623,7 +1618,6 @@
"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",
@@ -1752,7 +1746,6 @@
"aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.json",
"aws-kinesisanalyticsv2-applicationoutput.json",
"aws-kinesisanalyticsv2-applicationreferencedatasource.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kinesisvideo-signalingchannel.json",
"aws-kinesisvideo-stream.json",
"aws-kms-alias.json",
@@ -1765,6 +1758,7 @@
"aws-lakeformation-resource.json",
"aws-lakeformation-tag.json",
"aws-lakeformation-tagassociation.json",
+ "aws-lambda-alias.json",
"aws-lambda-codesigningconfig.json",
"aws-lambda-eventinvokeconfig.json",
"aws-lambda-eventsourcemapping.json",
@@ -1949,7 +1943,6 @@
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
"aws-rds-globalcluster.json",
- "aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
"aws-redshift-clusterparametergroup.json",
@@ -2013,11 +2006,9 @@
"aws-s3outposts-bucket.json",
"aws-s3outposts-bucketpolicy.json",
"aws-s3outposts-endpoint.json",
- "aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-coderepository.json",
"aws-sagemaker-dataqualityjobdefinition.json",
- "aws-sagemaker-domain.json",
"aws-sagemaker-endpoint.json",
"aws-sagemaker-endpointconfig.json",
"aws-sagemaker-featuregroup.json",
@@ -2026,7 +2017,6 @@
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
"aws-sagemaker-mlflowtrackingserver.json",
- "aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelexplainabilityjobdefinition.json",
@@ -2038,13 +2028,10 @@
"aws-sagemaker-notebookinstancelifecycleconfig.json",
"aws-sagemaker-pipeline.json",
"aws-sagemaker-project.json",
- "aws-sagemaker-space.json",
- "aws-sagemaker-userprofile.json",
"aws-sagemaker-workteam.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
"aws-sdb-domain.json",
- "aws-secretsmanager-resourcepolicy.json",
"aws-secretsmanager-rotationschedule.json",
"aws-secretsmanager-secret.json",
"aws-secretsmanager-secrettargetattachment.json",
@@ -2129,6 +2116,8 @@
"aws-sso-instance.json",
"aws-sso-instanceaccesscontrolattributeconfiguration.json",
"aws-sso-permissionset.json",
+ "aws-stepfunctions-activity.json",
+ "aws-stepfunctions-statemachine.json",
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-batch-jobdefinition.json
new file mode 100644
index 0000000000..2d82031cd0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-batch-jobdefinition.json
@@ -0,0 +1,992 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Tags",
+ "/properties/JobDefinitionName"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "Iam": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "FargatePlatformConfiguration": {
+ "$ref": "#/definitions/FargatePlatformConfiguration"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "items": {
+ "$ref": "#/definitions/EcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "EcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "PlatformVersion": {
+ "type": "string"
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EfsVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EksContainer": {
+ "additionalProperties": false,
+ "properties": {
+ "Args": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Env": {
+ "items": {
+ "$ref": "#/definitions/EksContainerEnvironmentVariable"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImagePullPolicy": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Resources": {
+ "$ref": "#/definitions/EksContainerResourceRequirements"
+ },
+ "SecurityContext": {
+ "$ref": "#/definitions/EksContainerSecurityContext"
+ },
+ "VolumeMounts": {
+ "items": {
+ "$ref": "#/definitions/EksContainerVolumeMount"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "EksContainerEnvironmentVariable": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "EksContainerResourceRequirements": {
+ "additionalProperties": false,
+ "properties": {
+ "Limits": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Requests": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerSecurityContext": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowPrivilegeEscalation": {
+ "type": "boolean"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadOnlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RunAsGroup": {
+ "type": "integer"
+ },
+ "RunAsNonRoot": {
+ "type": "boolean"
+ },
+ "RunAsUser": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerVolumeMount": {
+ "additionalProperties": false,
+ "properties": {
+ "MountPath": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "EksEmptyDir": {
+ "additionalProperties": false,
+ "properties": {
+ "Medium": {
+ "type": "string"
+ },
+ "SizeLimit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksHostPath": {
+ "additionalProperties": false,
+ "properties": {
+ "Path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "PodProperties": {
+ "$ref": "#/definitions/PodProperties"
+ }
+ },
+ "type": "object"
+ },
+ "EksSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Optional": {
+ "type": "boolean"
+ },
+ "SecretName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "SecretName"
+ ],
+ "type": "object"
+ },
+ "EksVolume": {
+ "additionalProperties": false,
+ "properties": {
+ "EmptyDir": {
+ "$ref": "#/definitions/EksEmptyDir"
+ },
+ "HostPath": {
+ "$ref": "#/definitions/EksHostPath"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Secret": {
+ "$ref": "#/definitions/EksSecret"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Environment": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SizeInGiB"
+ ],
+ "type": "object"
+ },
+ "EvaluateOnExit": {
+ "additionalProperties": false,
+ "properties": {
+ "Action": {
+ "type": "string"
+ },
+ "OnExitCode": {
+ "type": "string"
+ },
+ "OnReason": {
+ "type": "string"
+ },
+ "OnStatusReason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Action"
+ ],
+ "type": "object"
+ },
+ "FargatePlatformConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PlatformVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ImagePullSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Devices": {
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "type": "string"
+ },
+ "Options": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretOptions": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "Metadata": {
+ "additionalProperties": false,
+ "properties": {
+ "Labels": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "MountPoints": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AssignPublicIp": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NodeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "MainNode": {
+ "type": "integer"
+ },
+ "NodeRangeProperties": {
+ "items": {
+ "$ref": "#/definitions/NodeRangeProperty"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NumNodes": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "MainNode",
+ "NodeRangeProperties",
+ "NumNodes"
+ ],
+ "type": "object"
+ },
+ "NodeRangeProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "Container": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "InstanceTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TargetNodes": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetNodes"
+ ],
+ "type": "object"
+ },
+ "PodProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsPolicy": {
+ "type": "string"
+ },
+ "HostNetwork": {
+ "type": "boolean"
+ },
+ "ImagePullSecrets": {
+ "items": {
+ "$ref": "#/definitions/ImagePullSecret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitContainers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Metadata": {
+ "$ref": "#/definitions/Metadata"
+ },
+ "ServiceAccountName": {
+ "type": "string"
+ },
+ "ShareProcessNamespace": {
+ "type": "boolean"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/EksVolume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter"
+ ],
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RetryStrategy": {
+ "additionalProperties": false,
+ "properties": {
+ "Attempts": {
+ "type": "integer"
+ },
+ "EvaluateOnExit": {
+ "items": {
+ "$ref": "#/definitions/EvaluateOnExit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ValueFrom",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "TaskContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Condition",
+ "ContainerName"
+ ],
+ "type": "object"
+ },
+ "TaskContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DependsOn": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerDependency"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Timeout": {
+ "additionalProperties": false,
+ "properties": {
+ "AttemptDurationSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size",
+ "ContainerPath"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SoftLimit",
+ "HardLimit",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Volumes": {
+ "additionalProperties": false,
+ "properties": {
+ "EfsVolumeConfiguration": {
+ "$ref": "#/definitions/EfsVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/VolumesHost"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumesHost": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ContainerProperties": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "JobDefinitionName": {
+ "type": "string"
+ },
+ "NodeProperties": {
+ "$ref": "#/definitions/NodeProperties"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "PlatformCapabilities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PropagateTags": {
+ "type": "boolean"
+ },
+ "RetryStrategy": {
+ "$ref": "#/definitions/RetryStrategy"
+ },
+ "SchedulingPriority": {
+ "type": "integer"
+ },
+ "Tags": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Timeout": {
+ "$ref": "#/definitions/Timeout"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Type"
+ ],
+ "typeName": "AWS::Batch::JobDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanroomsml-trainingdataset.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanroomsml-trainingdataset.json
new file mode 100644
index 0000000000..bdb81299cb
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanroomsml-trainingdataset.json
@@ -0,0 +1,249 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/Name",
+ "/properties/RoleArn",
+ "/properties/TrainingData"
+ ],
+ "definitions": {
+ "ColumnSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ },
+ "ColumnTypes": {
+ "items": {
+ "$ref": "#/definitions/ColumnType"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "ColumnTypes"
+ ],
+ "type": "object"
+ },
+ "ColumnType": {
+ "enum": [
+ "USER_ID",
+ "ITEM_ID",
+ "TIMESTAMP",
+ "CATEGORICAL_FEATURE",
+ "NUMERICAL_FEATURE"
+ ],
+ "type": "string"
+ },
+ "DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "GlueDataSource": {
+ "$ref": "#/definitions/GlueDataSource"
+ }
+ },
+ "required": [
+ "GlueDataSource"
+ ],
+ "type": "object"
+ },
+ "Dataset": {
+ "additionalProperties": false,
+ "properties": {
+ "InputConfig": {
+ "$ref": "#/definitions/DatasetInputConfig"
+ },
+ "Type": {
+ "$ref": "#/definitions/DatasetType"
+ }
+ },
+ "required": [
+ "InputConfig",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "DatasetInputConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DataSource": {
+ "$ref": "#/definitions/DataSource"
+ },
+ "Schema": {
+ "items": {
+ "$ref": "#/definitions/ColumnSchema"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "DataSource",
+ "Schema"
+ ],
+ "type": "object"
+ },
+ "DatasetType": {
+ "enum": [
+ "INTERACTIONS"
+ ],
+ "type": "string"
+ },
+ "GlueDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^[0-9]{12}$",
+ "type": "string"
+ },
+ "DatabaseName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_]+-)*([a-zA-Z0-9_]+))?$",
+ "type": "string"
+ },
+ "TableName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DatabaseName",
+ "TableName"
+ ],
+ "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"
+ },
+ "TrainingDatasetStatus": {
+ "enum": [
+ "ACTIVE"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "cleanrooms-ml:CreateTrainingDataset",
+ "cleanrooms-ml:GetTrainingDataset",
+ "cleanrooms-ml:TagResource",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "cleanrooms-ml:DeleteTrainingDataset"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "cleanrooms-ml:ListTrainingDatasets"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "cleanrooms-ml:GetTrainingDataset"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "cleanrooms-ml:TagResource",
+ "cleanrooms-ml:UntagResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/TrainingDatasetArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 255,
+ "pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$",
+ "type": "string"
+ },
+ "RoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[-a-z]*:iam::[0-9]{12}:role/.+$",
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/TrainingDatasetStatus"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TrainingData": {
+ "items": {
+ "$ref": "#/definitions/Dataset"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "TrainingDatasetArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:training-dataset/[-a-zA-Z0-9_/.]+$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Status",
+ "/properties/TrainingDatasetArn"
+ ],
+ "required": [
+ "Name",
+ "RoleArn",
+ "TrainingData"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CleanRoomsML::TrainingDataset"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-fms-policy.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-fms-policy.json
new file mode 100644
index 0000000000..8456d02fd6
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-fms-policy.json
@@ -0,0 +1,472 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "AccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^([0-9]*)$",
+ "type": "string"
+ },
+ "Base62Id": {
+ "maxLength": 22,
+ "minLength": 22,
+ "pattern": "^[a-z0-9A-Z]{22}$",
+ "type": "string"
+ },
+ "FirewallDeploymentModel": {
+ "enum": [
+ "DISTRIBUTED",
+ "CENTRALIZED"
+ ],
+ "type": "string"
+ },
+ "IEMap": {
+ "additionalProperties": false,
+ "properties": {
+ "ACCOUNT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/AccountId"
+ },
+ "type": "array"
+ },
+ "ORGUNIT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/OrganizationalUnitId"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedServiceData": {
+ "maxLength": 8192,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NetworkAclCommonPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkAclEntrySet": {
+ "$ref": "#/definitions/NetworkAclEntrySet"
+ }
+ },
+ "required": [
+ "NetworkAclEntrySet"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "CidrBlock": {
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
+ "type": "string"
+ },
+ "Egress": {
+ "type": "boolean"
+ },
+ "IcmpTypeCode": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Code",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Ipv6CidrBlock": {
+ "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(/(1[0-2]|[0-9]))?$",
+ "type": "string"
+ },
+ "PortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "From": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "To": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "From",
+ "To"
+ ],
+ "type": "object"
+ },
+ "Protocol": {
+ "pattern": "^(tcp|udp|icmp|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$",
+ "type": "string"
+ },
+ "RuleAction": {
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Egress",
+ "Protocol",
+ "RuleAction"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntryList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/NetworkAclEntry"
+ },
+ "type": "array"
+ },
+ "NetworkAclEntrySet": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "FirstEntries"
+ ]
+ },
+ {
+ "required": [
+ "LastEntries"
+ ]
+ }
+ ],
+ "properties": {
+ "FirstEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ },
+ "ForceRemediateForFirstEntries": {
+ "type": "boolean"
+ },
+ "ForceRemediateForLastEntries": {
+ "type": "boolean"
+ },
+ "LastEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ }
+ },
+ "required": [
+ "ForceRemediateForFirstEntries",
+ "ForceRemediateForLastEntries"
+ ],
+ "type": "object"
+ },
+ "NetworkFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ },
+ "OrganizationalUnitId": {
+ "maxLength": 68,
+ "minLength": 16,
+ "pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "PolicyOption": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "NetworkFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "ThirdPartyFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "NetworkAclCommonPolicy"
+ ]
+ }
+ ],
+ "properties": {
+ "NetworkAclCommonPolicy": {
+ "$ref": "#/definitions/NetworkAclCommonPolicy"
+ },
+ "NetworkFirewallPolicy": {
+ "$ref": "#/definitions/NetworkFirewallPolicy"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "$ref": "#/definitions/ThirdPartyFirewallPolicy"
+ }
+ },
+ "type": "object"
+ },
+ "PolicyTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "PolicyType": {
+ "enum": [
+ "WAF",
+ "WAFV2",
+ "SHIELD_ADVANCED",
+ "SECURITY_GROUPS_COMMON",
+ "SECURITY_GROUPS_CONTENT_AUDIT",
+ "SECURITY_GROUPS_USAGE_AUDIT",
+ "NETWORK_FIREWALL",
+ "THIRD_PARTY_FIREWALL",
+ "DNS_FIREWALL",
+ "IMPORT_NETWORK_FIREWALL",
+ "NETWORK_ACL_COMMON"
+ ],
+ "type": "string"
+ },
+ "ResourceArn": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "ResourceTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ResourceType": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "SecurityServicePolicyData": {
+ "additionalProperties": false,
+ "properties": {
+ "ManagedServiceData": {
+ "$ref": "#/definitions/ManagedServiceData"
+ },
+ "PolicyOption": {
+ "$ref": "#/definitions/PolicyOption"
+ },
+ "Type": {
+ "$ref": "#/definitions/PolicyType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:TagResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "fms:DeletePolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "fms:ListPolicies",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "fms:GetPolicy",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:GetPolicy",
+ "fms:TagResource",
+ "fms:UntagResource",
+ "fms:ListTagsForResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "$ref": "#/definitions/ResourceArn"
+ },
+ "DeleteAllPolicyResources": {
+ "type": "boolean"
+ },
+ "ExcludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "ExcludeResourceTags": {
+ "type": "boolean"
+ },
+ "Id": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "^[a-z0-9A-Z-]{36}$",
+ "type": "string"
+ },
+ "IncludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "PolicyDescription": {
+ "maxLength": 256,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "PolicyName": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "RemediationEnabled": {
+ "type": "boolean"
+ },
+ "ResourceSetIds": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Base62Id"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ResourceTags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceTag"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "ResourceType": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "ResourceTypeList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "type": "array"
+ },
+ "ResourcesCleanUp": {
+ "type": "boolean"
+ },
+ "SecurityServicePolicyData": {
+ "$ref": "#/definitions/SecurityServicePolicyData"
+ },
+ "Tags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/PolicyTag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Id"
+ ],
+ "required": [
+ "ExcludeResourceTags",
+ "PolicyName",
+ "RemediationEnabled",
+ "SecurityServicePolicyData"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fms.git",
+ "typeName": "AWS::FMS::Policy",
+ "writeOnlyProperties": [
+ "/properties/DeleteAllPolicyResources"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-globalaccelerator-crossaccountattachment.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-globalaccelerator-crossaccountattachment.json
new file mode 100644
index 0000000000..31881ad480
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-globalaccelerator-crossaccountattachment.json
@@ -0,0 +1,123 @@
+{
+ "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/ap_northeast_2/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-glue-trigger.json
new file mode 100644
index 0000000000..974dd89b9f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-glue-trigger.json
@@ -0,0 +1,172 @@
+{
+ "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_2/aws-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-lambda-alias.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-lambda-alias.json
deleted file mode 100644
index 4a291518b6..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-lambda-alias.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/FunctionName"
- ],
- "definitions": {
- "AliasRoutingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "AdditionalVersionWeights": {
- "items": {
- "$ref": "#/definitions/VersionWeight"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "AdditionalVersionWeights"
- ],
- "type": "object"
- },
- "ProvisionedConcurrencyConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ProvisionedConcurrentExecutions": {
- "type": "integer"
- }
- },
- "required": [
- "ProvisionedConcurrentExecutions"
- ],
- "type": "object"
- },
- "VersionWeight": {
- "additionalProperties": false,
- "properties": {
- "FunctionVersion": {
- "type": "string"
- },
- "FunctionWeight": {
- "type": "number"
- }
- },
- "required": [
- "FunctionVersion",
- "FunctionWeight"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Description": {
- "type": "string"
- },
- "FunctionName": {
- "type": "string"
- },
- "FunctionVersion": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "ProvisionedConcurrencyConfig": {
- "$ref": "#/definitions/ProvisionedConcurrencyConfiguration"
- },
- "RoutingConfig": {
- "$ref": "#/definitions/AliasRoutingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "FunctionName",
- "FunctionVersion",
- "Name"
- ],
- "typeName": "AWS::Lambda::Alias"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-integration.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-integration.json
new file mode 100644
index 0000000000..8bb00c0dfe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-integration.json
@@ -0,0 +1,154 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SourceArn",
+ "/properties/TargetArn",
+ "/properties/KMSKeyId",
+ "/properties/AdditionalEncryptionContext"
+ ],
+ "definitions": {
+ "EncryptionContextMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[\\s\\S]*$": {
+ "maxLength": 131072,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateIntegration",
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "redshift:CreateInboundIntegration"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DeleteIntegration",
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "rds:RemoveTagsFromResource",
+ "rds:ModifyIntegration"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IntegrationArn"
+ ],
+ "properties": {
+ "AdditionalEncryptionContext": {
+ "$ref": "#/definitions/EncryptionContextMap"
+ },
+ "CreateTime": {
+ "type": "string"
+ },
+ "DataFilter": {
+ "maxLength": 25600,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9_ \"\\\\\\-$,*.:?+\\/]*",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IntegrationArn": {
+ "type": "string"
+ },
+ "IntegrationName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KMSKeyId": {
+ "type": "string"
+ },
+ "SourceArn": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetArn": {
+ "type": "string"
+ }
+ },
+ "propertyTransform": {
+ "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])",
+ "/properties/SourceArn": "$lowercase(SourceArn)"
+ },
+ "readOnlyProperties": [
+ "/properties/IntegrationArn",
+ "/properties/CreateTime"
+ ],
+ "required": [
+ "SourceArn",
+ "TargetArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RDS::Integration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-app.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-app.json
new file mode 100644
index 0000000000..d565ffb835
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-app.json
@@ -0,0 +1,210 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/Tags",
+ "/properties/ResourceSpec"
+ ],
+ "definitions": {
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListApps"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeApp",
+ "sagemaker:DescribeApp"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName"
+ ],
+ "properties": {
+ "AppArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:app/.*",
+ "type": "string"
+ },
+ "AppName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/AppArn"
+ ],
+ "required": [
+ "AppName",
+ "AppType",
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::App",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-domain.json
new file mode 100644
index 0000000000..5cd4ea45fa
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-domain.json
@@ -0,0 +1,831 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AuthMode",
+ "/properties/DomainName",
+ "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
+ "/properties/KmsKeyId",
+ "/properties/VpcId",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableDockerAccess": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "VpcOnlyTrustedAccounts": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^\\d+$",
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "DomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DockerSettings": {
+ "$ref": "#/definitions/DockerSettings"
+ },
+ "RStudioServerProDomainSettings": {
+ "$ref": "#/definitions/RStudioServerProDomainSettings"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RSessionAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProDomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "DomainExecutionRoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "RStudioConnectUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ },
+ "RStudioPackageManagerUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DomainExecutionRoleArn"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "LifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RSessionAppSettings": {
+ "$ref": "#/definitions/RSessionAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:CreateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "efs:CreateFileSystem",
+ "kms:CreateGrant",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "kms:GenerateDataKeyWithoutPlainText"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DeleteDomain",
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListDomains"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:UpdateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "AppNetworkAccessType": {
+ "enum": [
+ "PublicInternetOnly",
+ "VpcOnly"
+ ],
+ "type": "string"
+ },
+ "AppSecurityGroupManagement": {
+ "enum": [
+ "Service",
+ "Customer"
+ ],
+ "type": "string"
+ },
+ "AuthMode": {
+ "enum": [
+ "SSO",
+ "IAM"
+ ],
+ "type": "string"
+ },
+ "DefaultSpaceSettings": {
+ "$ref": "#/definitions/DefaultSpaceSettings"
+ },
+ "DefaultUserSettings": {
+ "$ref": "#/definitions/UserSettings"
+ },
+ "DomainArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "pattern": "^d-(-*[a-z0-9])+",
+ "type": "string"
+ },
+ "DomainName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "DomainSettings": {
+ "$ref": "#/definitions/DomainSettings"
+ },
+ "HomeEfsFileSystemId": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "SecurityGroupIdForDomainBoundary": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "SingleSignOnApplicationArn": {
+ "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "SingleSignOnManagedApplicationInstanceId": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/DomainArn",
+ "/properties/Url",
+ "/properties/DomainId",
+ "/properties/HomeEfsFileSystemId",
+ "/properties/SecurityGroupIdForDomainBoundary",
+ "/properties/SingleSignOnManagedApplicationInstanceId",
+ "/properties/SingleSignOnApplicationArn"
+ ],
+ "required": [
+ "AuthMode",
+ "DefaultUserSettings",
+ "DomainName",
+ "SubnetIds",
+ "VpcId"
+ ],
+ "typeName": "AWS::SageMaker::Domain",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-model.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-model.json
new file mode 100644
index 0000000000..ef768bc0ed
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-model.json
@@ -0,0 +1,235 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ExecutionRoleArn",
+ "/properties/EnableNetworkIsolation",
+ "/properties/InferenceExecutionConfig",
+ "/properties/PrimaryContainer",
+ "/properties/ModelName",
+ "/properties/VpcConfig",
+ "/properties/Containers"
+ ],
+ "definitions": {
+ "ContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerHostname": {
+ "type": "string"
+ },
+ "Environment": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImageConfig": {
+ "$ref": "#/definitions/ImageConfig"
+ },
+ "InferenceSpecificationName": {
+ "type": "string"
+ },
+ "Mode": {
+ "type": "string"
+ },
+ "ModelDataSource": {
+ "$ref": "#/definitions/ModelDataSource"
+ },
+ "ModelDataUrl": {
+ "type": "string"
+ },
+ "ModelPackageName": {
+ "type": "string"
+ },
+ "MultiModelConfig": {
+ "$ref": "#/definitions/MultiModelConfig"
+ }
+ },
+ "type": "object"
+ },
+ "ImageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryAccessMode": {
+ "type": "string"
+ },
+ "RepositoryAuthConfig": {
+ "$ref": "#/definitions/RepositoryAuthConfig"
+ }
+ },
+ "required": [
+ "RepositoryAccessMode"
+ ],
+ "type": "object"
+ },
+ "InferenceExecutionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Mode": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Mode"
+ ],
+ "type": "object"
+ },
+ "ModelAccessConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AcceptEula": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "AcceptEula"
+ ],
+ "type": "object"
+ },
+ "ModelDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "S3DataSource": {
+ "$ref": "#/definitions/S3DataSource"
+ }
+ },
+ "required": [
+ "S3DataSource"
+ ],
+ "type": "object"
+ },
+ "MultiModelConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ModelCacheSetting": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryAuthConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryCredentialsProviderArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryCredentialsProviderArn"
+ ],
+ "type": "object"
+ },
+ "S3DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CompressionType": {
+ "type": "string"
+ },
+ "ModelAccessConfig": {
+ "$ref": "#/definitions/ModelAccessConfig"
+ },
+ "S3DataType": {
+ "type": "string"
+ },
+ "S3Uri": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Uri",
+ "S3DataType",
+ "CompressionType"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "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",
+ "uniqueItems": false
+ },
+ "Subnets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Subnets",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EnableNetworkIsolation": {
+ "type": "boolean"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "InferenceExecutionConfig": {
+ "$ref": "#/definitions/InferenceExecutionConfig"
+ },
+ "ModelName": {
+ "type": "string"
+ },
+ "PrimaryContainer": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "typeName": "AWS::SageMaker::Model"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-space.json
new file mode 100644
index 0000000000..1ad92e7aa4
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-space.json
@@ -0,0 +1,436 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/SpaceName",
+ "/properties/SpaceSharingSettings",
+ "/properties/OwnershipSettings"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "TensorBoard",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "JupyterLab",
+ "CodeEditor"
+ ],
+ "type": "string"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystem": {
+ "$ref": "#/definitions/EFSFileSystem"
+ }
+ },
+ "type": "object"
+ },
+ "CustomFileSystems": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystem"
+ },
+ "maxItems": 1,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "EFSFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "EbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "OwnershipSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "OwnerUserProfileName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "required": [
+ "OwnerUserProfileName"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceCodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "SpaceJupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AppType": {
+ "$ref": "#/definitions/AppType"
+ },
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/SpaceCodeEditorAppSettings"
+ },
+ "CustomFileSystems": {
+ "$ref": "#/definitions/CustomFileSystems"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/SpaceJupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/SpaceStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SharingType": {
+ "enum": [
+ "Private",
+ "Shared"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "SharingType"
+ ],
+ "type": "object"
+ },
+ "SpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsStorageSettings": {
+ "$ref": "#/definitions/EbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListSpaces"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId",
+ "/properties/SpaceName"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "OwnershipSettings": {
+ "$ref": "#/definitions/OwnershipSettings"
+ },
+ "SpaceArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*",
+ "type": "string"
+ },
+ "SpaceDisplayName": {
+ "maxLength": 64,
+ "pattern": "^(?!\\s*$).+",
+ "type": "string"
+ },
+ "SpaceName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SpaceSettings": {
+ "$ref": "#/definitions/SpaceSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ },
+ "SpaceSharingSettings": {
+ "$ref": "#/definitions/SpaceSharingSettings"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/SpaceArn",
+ "/properties/Url"
+ ],
+ "required": [
+ "DomainId",
+ "SpaceName"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::SageMaker::Space",
+ "writeOnlyProperties": [
+ "/properties/SpaceSettings",
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-userprofile.json
new file mode 100644
index 0000000000..c2c0daf9fe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-sagemaker-userprofile.json
@@ -0,0 +1,592 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/SingleSignOnUserIdentifier",
+ "/properties/SingleSignOnUserValue",
+ "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
+ "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteUserProfile",
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListUserProfiles"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/UserProfileName",
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SingleSignOnUserIdentifier": {
+ "pattern": "UserName",
+ "type": "string"
+ },
+ "SingleSignOnUserValue": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
+ "type": "string"
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "UserSettings": {
+ "$ref": "#/definitions/UserSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/UserProfileArn"
+ ],
+ "required": [
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::UserProfile",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-secretsmanager-resourcepolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-secretsmanager-resourcepolicy.json
new file mode 100644
index 0000000000..92fc7be26c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-secretsmanager-resourcepolicy.json
@@ -0,0 +1,35 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SecretId"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "BlockPublicPolicy": {
+ "type": "boolean"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "ResourcePolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "SecretId",
+ "ResourcePolicy"
+ ],
+ "typeName": "AWS::SecretsManager::ResourcePolicy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-stepfunctions-activity.json
deleted file mode 100644
index 7aaf191ed1..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-stepfunctions-activity.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateActivity",
- "states:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "states:DescribeActivity",
- "states:DeleteActivity"
- ]
- },
- "list": {
- "permissions": [
- "states:ListActivities"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeActivity",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:ListTagsForResource",
- "states:TagResource",
- "states:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::Activity"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-stepfunctions-statemachine.json
deleted file mode 100644
index c8a1b0f42e..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-stepfunctions-statemachine.json
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/StateMachineName"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/StateMachineName",
- "/properties/StateMachineType"
- ],
- "definitions": {
- "CloudWatchLogsLogGroup": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- },
- "Definition": {
- "minProperties": 1,
- "type": "object"
- },
- "DefinitionSubstitutions": {
- "additionalProperties": false,
- "minProperties": 1,
- "patternProperties": {
- ".*": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- },
- {
- "type": "boolean"
- }
- ]
- }
- },
- "type": "object"
- },
- "LogDestination": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsLogGroup": {
- "$ref": "#/definitions/CloudWatchLogsLogGroup"
- }
- },
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destinations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LogDestination"
- },
- "minItems": 1,
- "type": "array"
- },
- "IncludeExecutionData": {
- "type": "boolean"
- },
- "Level": {
- "enum": [
- "ALL",
- "ERROR",
- "FATAL",
- "OFF"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "S3Location": {
- "additionalProperties": false,
- "properties": {
- "Bucket": {
- "type": "string"
- },
- "Key": {
- "type": "string"
- },
- "Version": {
- "type": "string"
- }
- },
- "required": [
- "Bucket",
- "Key"
- ],
- "type": "object"
- },
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TracingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Enabled": {
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateStateMachine",
- "states:DescribeStateMachine",
- "states:TagResource",
- "iam:PassRole",
- "s3:GetObject"
- ]
- },
- "delete": {
- "permissions": [
- "states:DeleteStateMachine",
- "states:DescribeStateMachine"
- ]
- },
- "list": {
- "permissions": [
- "states:ListStateMachines"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeStateMachine",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:UpdateStateMachine",
- "states:TagResource",
- "states:UntagResource",
- "states:ListTagsForResource",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/Definition"
- },
- "DefinitionS3Location": {
- "$ref": "#/definitions/S3Location"
- },
- "DefinitionString": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "DefinitionSubstitutions": {
- "$ref": "#/definitions/DefinitionSubstitutions"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineName": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineRevisionId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineType": {
- "enum": [
- "STANDARD",
- "EXPRESS"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TracingConfiguration": {
- "$ref": "#/definitions/TracingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/Name",
- "/properties/StateMachineRevisionId"
- ],
- "required": [
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::StateMachine",
- "writeOnlyProperties": [
- "/properties/Definition",
- "/properties/DefinitionS3Location",
- "/properties/DefinitionSubstitutions"
- ]
-}
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 f0f5962888..38015c8c56 100644
--- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py
@@ -836,7 +836,6 @@
"aws-appsync-graphqlschema.json",
"aws-appsync-resolver.json",
"aws-appsync-sourceapiassociation.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
"aws-athena-preparedstatement.json",
@@ -854,7 +853,6 @@
"aws-backup-restoretestingselection.json",
"aws-backupgateway-hypervisor.json",
"aws-batch-computeenvironment.json",
- "aws-batch-jobdefinition.json",
"aws-batch-jobqueue.json",
"aws-batch-schedulingpolicy.json",
"aws-ce-anomalymonitor.json",
@@ -1107,7 +1105,6 @@
"aws-eventschemas-registrypolicy.json",
"aws-eventschemas-schema.json",
"aws-fms-notificationchannel.json",
- "aws-fms-policy.json",
"aws-fms-resourceset.json",
"aws-fsx-datarepositoryassociation.json",
"aws-fsx-filesystem.json",
@@ -1131,7 +1128,6 @@
"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",
@@ -1173,7 +1169,6 @@
"aws-kinesis-stream.json",
"aws-kinesis-streamconsumer.json",
"aws-kinesisanalyticsv2-application.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kms-alias.json",
"aws-kms-key.json",
"aws-kms-replicakey.json",
@@ -1302,7 +1297,6 @@
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
"aws-rds-globalcluster.json",
- "aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
"aws-redshift-clusterparametergroup.json",
@@ -1360,11 +1354,9 @@
"aws-s3outposts-bucket.json",
"aws-s3outposts-bucketpolicy.json",
"aws-s3outposts-endpoint.json",
- "aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-coderepository.json",
"aws-sagemaker-dataqualityjobdefinition.json",
- "aws-sagemaker-domain.json",
"aws-sagemaker-endpoint.json",
"aws-sagemaker-endpointconfig.json",
"aws-sagemaker-featuregroup.json",
@@ -1372,7 +1364,6 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferenceexperiment.json",
"aws-sagemaker-mlflowtrackingserver.json",
- "aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelexplainabilityjobdefinition.json",
@@ -1384,8 +1375,6 @@
"aws-sagemaker-notebookinstancelifecycleconfig.json",
"aws-sagemaker-pipeline.json",
"aws-sagemaker-project.json",
- "aws-sagemaker-space.json",
- "aws-sagemaker-userprofile.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
"aws-sdb-domain.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-batch-jobdefinition.json
new file mode 100644
index 0000000000..2d82031cd0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-batch-jobdefinition.json
@@ -0,0 +1,992 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Tags",
+ "/properties/JobDefinitionName"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "Iam": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "FargatePlatformConfiguration": {
+ "$ref": "#/definitions/FargatePlatformConfiguration"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "items": {
+ "$ref": "#/definitions/EcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "EcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "PlatformVersion": {
+ "type": "string"
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EfsVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EksContainer": {
+ "additionalProperties": false,
+ "properties": {
+ "Args": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Env": {
+ "items": {
+ "$ref": "#/definitions/EksContainerEnvironmentVariable"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImagePullPolicy": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Resources": {
+ "$ref": "#/definitions/EksContainerResourceRequirements"
+ },
+ "SecurityContext": {
+ "$ref": "#/definitions/EksContainerSecurityContext"
+ },
+ "VolumeMounts": {
+ "items": {
+ "$ref": "#/definitions/EksContainerVolumeMount"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "EksContainerEnvironmentVariable": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "EksContainerResourceRequirements": {
+ "additionalProperties": false,
+ "properties": {
+ "Limits": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Requests": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerSecurityContext": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowPrivilegeEscalation": {
+ "type": "boolean"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadOnlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RunAsGroup": {
+ "type": "integer"
+ },
+ "RunAsNonRoot": {
+ "type": "boolean"
+ },
+ "RunAsUser": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerVolumeMount": {
+ "additionalProperties": false,
+ "properties": {
+ "MountPath": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "EksEmptyDir": {
+ "additionalProperties": false,
+ "properties": {
+ "Medium": {
+ "type": "string"
+ },
+ "SizeLimit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksHostPath": {
+ "additionalProperties": false,
+ "properties": {
+ "Path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "PodProperties": {
+ "$ref": "#/definitions/PodProperties"
+ }
+ },
+ "type": "object"
+ },
+ "EksSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Optional": {
+ "type": "boolean"
+ },
+ "SecretName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "SecretName"
+ ],
+ "type": "object"
+ },
+ "EksVolume": {
+ "additionalProperties": false,
+ "properties": {
+ "EmptyDir": {
+ "$ref": "#/definitions/EksEmptyDir"
+ },
+ "HostPath": {
+ "$ref": "#/definitions/EksHostPath"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Secret": {
+ "$ref": "#/definitions/EksSecret"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Environment": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SizeInGiB"
+ ],
+ "type": "object"
+ },
+ "EvaluateOnExit": {
+ "additionalProperties": false,
+ "properties": {
+ "Action": {
+ "type": "string"
+ },
+ "OnExitCode": {
+ "type": "string"
+ },
+ "OnReason": {
+ "type": "string"
+ },
+ "OnStatusReason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Action"
+ ],
+ "type": "object"
+ },
+ "FargatePlatformConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PlatformVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ImagePullSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Devices": {
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "type": "string"
+ },
+ "Options": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretOptions": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "Metadata": {
+ "additionalProperties": false,
+ "properties": {
+ "Labels": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "MountPoints": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AssignPublicIp": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NodeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "MainNode": {
+ "type": "integer"
+ },
+ "NodeRangeProperties": {
+ "items": {
+ "$ref": "#/definitions/NodeRangeProperty"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NumNodes": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "MainNode",
+ "NodeRangeProperties",
+ "NumNodes"
+ ],
+ "type": "object"
+ },
+ "NodeRangeProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "Container": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "InstanceTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TargetNodes": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetNodes"
+ ],
+ "type": "object"
+ },
+ "PodProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsPolicy": {
+ "type": "string"
+ },
+ "HostNetwork": {
+ "type": "boolean"
+ },
+ "ImagePullSecrets": {
+ "items": {
+ "$ref": "#/definitions/ImagePullSecret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitContainers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Metadata": {
+ "$ref": "#/definitions/Metadata"
+ },
+ "ServiceAccountName": {
+ "type": "string"
+ },
+ "ShareProcessNamespace": {
+ "type": "boolean"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/EksVolume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter"
+ ],
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RetryStrategy": {
+ "additionalProperties": false,
+ "properties": {
+ "Attempts": {
+ "type": "integer"
+ },
+ "EvaluateOnExit": {
+ "items": {
+ "$ref": "#/definitions/EvaluateOnExit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ValueFrom",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "TaskContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Condition",
+ "ContainerName"
+ ],
+ "type": "object"
+ },
+ "TaskContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DependsOn": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerDependency"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Timeout": {
+ "additionalProperties": false,
+ "properties": {
+ "AttemptDurationSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size",
+ "ContainerPath"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SoftLimit",
+ "HardLimit",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Volumes": {
+ "additionalProperties": false,
+ "properties": {
+ "EfsVolumeConfiguration": {
+ "$ref": "#/definitions/EfsVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/VolumesHost"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumesHost": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ContainerProperties": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "JobDefinitionName": {
+ "type": "string"
+ },
+ "NodeProperties": {
+ "$ref": "#/definitions/NodeProperties"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "PlatformCapabilities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PropagateTags": {
+ "type": "boolean"
+ },
+ "RetryStrategy": {
+ "$ref": "#/definitions/RetryStrategy"
+ },
+ "SchedulingPriority": {
+ "type": "integer"
+ },
+ "Tags": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Timeout": {
+ "$ref": "#/definitions/Timeout"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Type"
+ ],
+ "typeName": "AWS::Batch::JobDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-fms-policy.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-fms-policy.json
new file mode 100644
index 0000000000..8456d02fd6
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-fms-policy.json
@@ -0,0 +1,472 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "AccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^([0-9]*)$",
+ "type": "string"
+ },
+ "Base62Id": {
+ "maxLength": 22,
+ "minLength": 22,
+ "pattern": "^[a-z0-9A-Z]{22}$",
+ "type": "string"
+ },
+ "FirewallDeploymentModel": {
+ "enum": [
+ "DISTRIBUTED",
+ "CENTRALIZED"
+ ],
+ "type": "string"
+ },
+ "IEMap": {
+ "additionalProperties": false,
+ "properties": {
+ "ACCOUNT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/AccountId"
+ },
+ "type": "array"
+ },
+ "ORGUNIT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/OrganizationalUnitId"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedServiceData": {
+ "maxLength": 8192,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NetworkAclCommonPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkAclEntrySet": {
+ "$ref": "#/definitions/NetworkAclEntrySet"
+ }
+ },
+ "required": [
+ "NetworkAclEntrySet"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "CidrBlock": {
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
+ "type": "string"
+ },
+ "Egress": {
+ "type": "boolean"
+ },
+ "IcmpTypeCode": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Code",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Ipv6CidrBlock": {
+ "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(/(1[0-2]|[0-9]))?$",
+ "type": "string"
+ },
+ "PortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "From": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "To": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "From",
+ "To"
+ ],
+ "type": "object"
+ },
+ "Protocol": {
+ "pattern": "^(tcp|udp|icmp|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$",
+ "type": "string"
+ },
+ "RuleAction": {
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Egress",
+ "Protocol",
+ "RuleAction"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntryList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/NetworkAclEntry"
+ },
+ "type": "array"
+ },
+ "NetworkAclEntrySet": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "FirstEntries"
+ ]
+ },
+ {
+ "required": [
+ "LastEntries"
+ ]
+ }
+ ],
+ "properties": {
+ "FirstEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ },
+ "ForceRemediateForFirstEntries": {
+ "type": "boolean"
+ },
+ "ForceRemediateForLastEntries": {
+ "type": "boolean"
+ },
+ "LastEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ }
+ },
+ "required": [
+ "ForceRemediateForFirstEntries",
+ "ForceRemediateForLastEntries"
+ ],
+ "type": "object"
+ },
+ "NetworkFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ },
+ "OrganizationalUnitId": {
+ "maxLength": 68,
+ "minLength": 16,
+ "pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "PolicyOption": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "NetworkFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "ThirdPartyFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "NetworkAclCommonPolicy"
+ ]
+ }
+ ],
+ "properties": {
+ "NetworkAclCommonPolicy": {
+ "$ref": "#/definitions/NetworkAclCommonPolicy"
+ },
+ "NetworkFirewallPolicy": {
+ "$ref": "#/definitions/NetworkFirewallPolicy"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "$ref": "#/definitions/ThirdPartyFirewallPolicy"
+ }
+ },
+ "type": "object"
+ },
+ "PolicyTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "PolicyType": {
+ "enum": [
+ "WAF",
+ "WAFV2",
+ "SHIELD_ADVANCED",
+ "SECURITY_GROUPS_COMMON",
+ "SECURITY_GROUPS_CONTENT_AUDIT",
+ "SECURITY_GROUPS_USAGE_AUDIT",
+ "NETWORK_FIREWALL",
+ "THIRD_PARTY_FIREWALL",
+ "DNS_FIREWALL",
+ "IMPORT_NETWORK_FIREWALL",
+ "NETWORK_ACL_COMMON"
+ ],
+ "type": "string"
+ },
+ "ResourceArn": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "ResourceTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ResourceType": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "SecurityServicePolicyData": {
+ "additionalProperties": false,
+ "properties": {
+ "ManagedServiceData": {
+ "$ref": "#/definitions/ManagedServiceData"
+ },
+ "PolicyOption": {
+ "$ref": "#/definitions/PolicyOption"
+ },
+ "Type": {
+ "$ref": "#/definitions/PolicyType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:TagResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "fms:DeletePolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "fms:ListPolicies",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "fms:GetPolicy",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:GetPolicy",
+ "fms:TagResource",
+ "fms:UntagResource",
+ "fms:ListTagsForResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "$ref": "#/definitions/ResourceArn"
+ },
+ "DeleteAllPolicyResources": {
+ "type": "boolean"
+ },
+ "ExcludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "ExcludeResourceTags": {
+ "type": "boolean"
+ },
+ "Id": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "^[a-z0-9A-Z-]{36}$",
+ "type": "string"
+ },
+ "IncludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "PolicyDescription": {
+ "maxLength": 256,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "PolicyName": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "RemediationEnabled": {
+ "type": "boolean"
+ },
+ "ResourceSetIds": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Base62Id"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ResourceTags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceTag"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "ResourceType": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "ResourceTypeList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "type": "array"
+ },
+ "ResourcesCleanUp": {
+ "type": "boolean"
+ },
+ "SecurityServicePolicyData": {
+ "$ref": "#/definitions/SecurityServicePolicyData"
+ },
+ "Tags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/PolicyTag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Id"
+ ],
+ "required": [
+ "ExcludeResourceTags",
+ "PolicyName",
+ "RemediationEnabled",
+ "SecurityServicePolicyData"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fms.git",
+ "typeName": "AWS::FMS::Policy",
+ "writeOnlyProperties": [
+ "/properties/DeleteAllPolicyResources"
+ ]
+}
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
new file mode 100644
index 0000000000..974dd89b9f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-glue-trigger.json
@@ -0,0 +1,172 @@
+{
+ "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-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-integration.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-integration.json
new file mode 100644
index 0000000000..8bb00c0dfe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-integration.json
@@ -0,0 +1,154 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SourceArn",
+ "/properties/TargetArn",
+ "/properties/KMSKeyId",
+ "/properties/AdditionalEncryptionContext"
+ ],
+ "definitions": {
+ "EncryptionContextMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[\\s\\S]*$": {
+ "maxLength": 131072,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateIntegration",
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "redshift:CreateInboundIntegration"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DeleteIntegration",
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "rds:RemoveTagsFromResource",
+ "rds:ModifyIntegration"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IntegrationArn"
+ ],
+ "properties": {
+ "AdditionalEncryptionContext": {
+ "$ref": "#/definitions/EncryptionContextMap"
+ },
+ "CreateTime": {
+ "type": "string"
+ },
+ "DataFilter": {
+ "maxLength": 25600,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9_ \"\\\\\\-$,*.:?+\\/]*",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IntegrationArn": {
+ "type": "string"
+ },
+ "IntegrationName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KMSKeyId": {
+ "type": "string"
+ },
+ "SourceArn": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetArn": {
+ "type": "string"
+ }
+ },
+ "propertyTransform": {
+ "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])",
+ "/properties/SourceArn": "$lowercase(SourceArn)"
+ },
+ "readOnlyProperties": [
+ "/properties/IntegrationArn",
+ "/properties/CreateTime"
+ ],
+ "required": [
+ "SourceArn",
+ "TargetArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RDS::Integration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-app.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-app.json
new file mode 100644
index 0000000000..d565ffb835
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-app.json
@@ -0,0 +1,210 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/Tags",
+ "/properties/ResourceSpec"
+ ],
+ "definitions": {
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListApps"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeApp",
+ "sagemaker:DescribeApp"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName"
+ ],
+ "properties": {
+ "AppArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:app/.*",
+ "type": "string"
+ },
+ "AppName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/AppArn"
+ ],
+ "required": [
+ "AppName",
+ "AppType",
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::App",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-domain.json
new file mode 100644
index 0000000000..5cd4ea45fa
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-domain.json
@@ -0,0 +1,831 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AuthMode",
+ "/properties/DomainName",
+ "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
+ "/properties/KmsKeyId",
+ "/properties/VpcId",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableDockerAccess": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "VpcOnlyTrustedAccounts": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^\\d+$",
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "DomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DockerSettings": {
+ "$ref": "#/definitions/DockerSettings"
+ },
+ "RStudioServerProDomainSettings": {
+ "$ref": "#/definitions/RStudioServerProDomainSettings"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RSessionAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProDomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "DomainExecutionRoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "RStudioConnectUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ },
+ "RStudioPackageManagerUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DomainExecutionRoleArn"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "LifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RSessionAppSettings": {
+ "$ref": "#/definitions/RSessionAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:CreateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "efs:CreateFileSystem",
+ "kms:CreateGrant",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "kms:GenerateDataKeyWithoutPlainText"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DeleteDomain",
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListDomains"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:UpdateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "AppNetworkAccessType": {
+ "enum": [
+ "PublicInternetOnly",
+ "VpcOnly"
+ ],
+ "type": "string"
+ },
+ "AppSecurityGroupManagement": {
+ "enum": [
+ "Service",
+ "Customer"
+ ],
+ "type": "string"
+ },
+ "AuthMode": {
+ "enum": [
+ "SSO",
+ "IAM"
+ ],
+ "type": "string"
+ },
+ "DefaultSpaceSettings": {
+ "$ref": "#/definitions/DefaultSpaceSettings"
+ },
+ "DefaultUserSettings": {
+ "$ref": "#/definitions/UserSettings"
+ },
+ "DomainArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "pattern": "^d-(-*[a-z0-9])+",
+ "type": "string"
+ },
+ "DomainName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "DomainSettings": {
+ "$ref": "#/definitions/DomainSettings"
+ },
+ "HomeEfsFileSystemId": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "SecurityGroupIdForDomainBoundary": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "SingleSignOnApplicationArn": {
+ "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "SingleSignOnManagedApplicationInstanceId": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/DomainArn",
+ "/properties/Url",
+ "/properties/DomainId",
+ "/properties/HomeEfsFileSystemId",
+ "/properties/SecurityGroupIdForDomainBoundary",
+ "/properties/SingleSignOnManagedApplicationInstanceId",
+ "/properties/SingleSignOnApplicationArn"
+ ],
+ "required": [
+ "AuthMode",
+ "DefaultUserSettings",
+ "DomainName",
+ "SubnetIds",
+ "VpcId"
+ ],
+ "typeName": "AWS::SageMaker::Domain",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-model.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-model.json
new file mode 100644
index 0000000000..ef768bc0ed
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-model.json
@@ -0,0 +1,235 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ExecutionRoleArn",
+ "/properties/EnableNetworkIsolation",
+ "/properties/InferenceExecutionConfig",
+ "/properties/PrimaryContainer",
+ "/properties/ModelName",
+ "/properties/VpcConfig",
+ "/properties/Containers"
+ ],
+ "definitions": {
+ "ContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerHostname": {
+ "type": "string"
+ },
+ "Environment": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImageConfig": {
+ "$ref": "#/definitions/ImageConfig"
+ },
+ "InferenceSpecificationName": {
+ "type": "string"
+ },
+ "Mode": {
+ "type": "string"
+ },
+ "ModelDataSource": {
+ "$ref": "#/definitions/ModelDataSource"
+ },
+ "ModelDataUrl": {
+ "type": "string"
+ },
+ "ModelPackageName": {
+ "type": "string"
+ },
+ "MultiModelConfig": {
+ "$ref": "#/definitions/MultiModelConfig"
+ }
+ },
+ "type": "object"
+ },
+ "ImageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryAccessMode": {
+ "type": "string"
+ },
+ "RepositoryAuthConfig": {
+ "$ref": "#/definitions/RepositoryAuthConfig"
+ }
+ },
+ "required": [
+ "RepositoryAccessMode"
+ ],
+ "type": "object"
+ },
+ "InferenceExecutionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Mode": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Mode"
+ ],
+ "type": "object"
+ },
+ "ModelAccessConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AcceptEula": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "AcceptEula"
+ ],
+ "type": "object"
+ },
+ "ModelDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "S3DataSource": {
+ "$ref": "#/definitions/S3DataSource"
+ }
+ },
+ "required": [
+ "S3DataSource"
+ ],
+ "type": "object"
+ },
+ "MultiModelConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ModelCacheSetting": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryAuthConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryCredentialsProviderArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryCredentialsProviderArn"
+ ],
+ "type": "object"
+ },
+ "S3DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CompressionType": {
+ "type": "string"
+ },
+ "ModelAccessConfig": {
+ "$ref": "#/definitions/ModelAccessConfig"
+ },
+ "S3DataType": {
+ "type": "string"
+ },
+ "S3Uri": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Uri",
+ "S3DataType",
+ "CompressionType"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "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",
+ "uniqueItems": false
+ },
+ "Subnets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Subnets",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EnableNetworkIsolation": {
+ "type": "boolean"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "InferenceExecutionConfig": {
+ "$ref": "#/definitions/InferenceExecutionConfig"
+ },
+ "ModelName": {
+ "type": "string"
+ },
+ "PrimaryContainer": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "typeName": "AWS::SageMaker::Model"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-space.json
new file mode 100644
index 0000000000..1ad92e7aa4
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-space.json
@@ -0,0 +1,436 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/SpaceName",
+ "/properties/SpaceSharingSettings",
+ "/properties/OwnershipSettings"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "TensorBoard",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "JupyterLab",
+ "CodeEditor"
+ ],
+ "type": "string"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystem": {
+ "$ref": "#/definitions/EFSFileSystem"
+ }
+ },
+ "type": "object"
+ },
+ "CustomFileSystems": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystem"
+ },
+ "maxItems": 1,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "EFSFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "EbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "OwnershipSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "OwnerUserProfileName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "required": [
+ "OwnerUserProfileName"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceCodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "SpaceJupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AppType": {
+ "$ref": "#/definitions/AppType"
+ },
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/SpaceCodeEditorAppSettings"
+ },
+ "CustomFileSystems": {
+ "$ref": "#/definitions/CustomFileSystems"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/SpaceJupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/SpaceStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SharingType": {
+ "enum": [
+ "Private",
+ "Shared"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "SharingType"
+ ],
+ "type": "object"
+ },
+ "SpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsStorageSettings": {
+ "$ref": "#/definitions/EbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListSpaces"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId",
+ "/properties/SpaceName"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "OwnershipSettings": {
+ "$ref": "#/definitions/OwnershipSettings"
+ },
+ "SpaceArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*",
+ "type": "string"
+ },
+ "SpaceDisplayName": {
+ "maxLength": 64,
+ "pattern": "^(?!\\s*$).+",
+ "type": "string"
+ },
+ "SpaceName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SpaceSettings": {
+ "$ref": "#/definitions/SpaceSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ },
+ "SpaceSharingSettings": {
+ "$ref": "#/definitions/SpaceSharingSettings"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/SpaceArn",
+ "/properties/Url"
+ ],
+ "required": [
+ "DomainId",
+ "SpaceName"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::SageMaker::Space",
+ "writeOnlyProperties": [
+ "/properties/SpaceSettings",
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-userprofile.json
new file mode 100644
index 0000000000..c2c0daf9fe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-userprofile.json
@@ -0,0 +1,592 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/SingleSignOnUserIdentifier",
+ "/properties/SingleSignOnUserValue",
+ "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
+ "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteUserProfile",
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListUserProfiles"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/UserProfileName",
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SingleSignOnUserIdentifier": {
+ "pattern": "UserName",
+ "type": "string"
+ },
+ "SingleSignOnUserValue": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
+ "type": "string"
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "UserSettings": {
+ "$ref": "#/definitions/UserSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/UserProfileArn"
+ ],
+ "required": [
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::UserProfile",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py
index 13a3009f7b..19891e764e 100644
--- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py
@@ -131,9 +131,14 @@
"AWS::Bedrock::Agent",
"AWS::Bedrock::AgentAlias",
"AWS::Bedrock::DataSource",
+ "AWS::Bedrock::Flow",
+ "AWS::Bedrock::FlowAlias",
+ "AWS::Bedrock::FlowVersion",
"AWS::Bedrock::Guardrail",
"AWS::Bedrock::GuardrailVersion",
"AWS::Bedrock::KnowledgeBase",
+ "AWS::Bedrock::Prompt",
+ "AWS::Bedrock::PromptVersion",
"AWS::Budgets::Budget",
"AWS::Budgets::BudgetsAction",
"AWS::CDK::Metadata",
@@ -1217,7 +1222,6 @@
"aws-aps-rulegroupsnamespace.json",
"aws-aps-scraper.json",
"aws-aps-workspace.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
"aws-athena-preparedstatement.json",
@@ -1239,15 +1243,19 @@
"aws-backup-restoretestingselection.json",
"aws-backupgateway-hypervisor.json",
"aws-batch-computeenvironment.json",
- "aws-batch-jobdefinition.json",
"aws-batch-jobqueue.json",
"aws-batch-schedulingpolicy.json",
"aws-bedrock-agent.json",
"aws-bedrock-agentalias.json",
"aws-bedrock-datasource.json",
+ "aws-bedrock-flow.json",
+ "aws-bedrock-flowalias.json",
+ "aws-bedrock-flowversion.json",
"aws-bedrock-guardrail.json",
"aws-bedrock-guardrailversion.json",
"aws-bedrock-knowledgebase.json",
+ "aws-bedrock-prompt.json",
+ "aws-bedrock-promptversion.json",
"aws-budgets-budget.json",
"aws-budgets-budgetsaction.json",
"aws-cassandra-keyspace.json",
@@ -1575,7 +1583,6 @@
"aws-fis-experimenttemplate.json",
"aws-fis-targetaccountconfiguration.json",
"aws-fms-notificationchannel.json",
- "aws-fms-policy.json",
"aws-fms-resourceset.json",
"aws-forecast-dataset.json",
"aws-forecast-datasetgroup.json",
@@ -1615,7 +1622,6 @@
"aws-glue-securityconfiguration.json",
"aws-glue-table.json",
"aws-glue-tableoptimizer.json",
- "aws-glue-trigger.json",
"aws-glue-workflow.json",
"aws-greengrass-connectordefinition.json",
"aws-greengrass-connectordefinitionversion.json",
@@ -1746,7 +1752,6 @@
"aws-kinesisanalytics-applicationoutput.json",
"aws-kinesisanalyticsv2-application.json",
"aws-kinesisanalyticsv2-applicationoutput.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kinesisvideo-signalingchannel.json",
"aws-kinesisvideo-stream.json",
"aws-kms-alias.json",
@@ -1893,6 +1898,7 @@
"aws-opsworks-userprofile.json",
"aws-opsworks-volume.json",
"aws-organizations-account.json",
+ "aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
"aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
@@ -1953,7 +1959,6 @@
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
"aws-rds-globalcluster.json",
- "aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
"aws-redshift-clusterparametergroup.json",
@@ -2020,11 +2025,9 @@
"aws-s3outposts-bucket.json",
"aws-s3outposts-bucketpolicy.json",
"aws-s3outposts-endpoint.json",
- "aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-coderepository.json",
"aws-sagemaker-dataqualityjobdefinition.json",
- "aws-sagemaker-domain.json",
"aws-sagemaker-endpoint.json",
"aws-sagemaker-endpointconfig.json",
"aws-sagemaker-featuregroup.json",
@@ -2033,7 +2036,6 @@
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
"aws-sagemaker-mlflowtrackingserver.json",
- "aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelexplainabilityjobdefinition.json",
@@ -2045,8 +2047,6 @@
"aws-sagemaker-notebookinstancelifecycleconfig.json",
"aws-sagemaker-pipeline.json",
"aws-sagemaker-project.json",
- "aws-sagemaker-space.json",
- "aws-sagemaker-userprofile.json",
"aws-sagemaker-workteam.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
@@ -2135,6 +2135,8 @@
"aws-sso-instance.json",
"aws-sso-instanceaccesscontrolattributeconfiguration.json",
"aws-sso-permissionset.json",
+ "aws-stepfunctions-activity.json",
+ "aws-stepfunctions-statemachine.json",
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-batch-jobdefinition.json
new file mode 100644
index 0000000000..2d82031cd0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-batch-jobdefinition.json
@@ -0,0 +1,992 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Tags",
+ "/properties/JobDefinitionName"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "Iam": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "FargatePlatformConfiguration": {
+ "$ref": "#/definitions/FargatePlatformConfiguration"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "items": {
+ "$ref": "#/definitions/EcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "EcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "PlatformVersion": {
+ "type": "string"
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EfsVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EksContainer": {
+ "additionalProperties": false,
+ "properties": {
+ "Args": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Env": {
+ "items": {
+ "$ref": "#/definitions/EksContainerEnvironmentVariable"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImagePullPolicy": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Resources": {
+ "$ref": "#/definitions/EksContainerResourceRequirements"
+ },
+ "SecurityContext": {
+ "$ref": "#/definitions/EksContainerSecurityContext"
+ },
+ "VolumeMounts": {
+ "items": {
+ "$ref": "#/definitions/EksContainerVolumeMount"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "EksContainerEnvironmentVariable": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "EksContainerResourceRequirements": {
+ "additionalProperties": false,
+ "properties": {
+ "Limits": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Requests": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerSecurityContext": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowPrivilegeEscalation": {
+ "type": "boolean"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadOnlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RunAsGroup": {
+ "type": "integer"
+ },
+ "RunAsNonRoot": {
+ "type": "boolean"
+ },
+ "RunAsUser": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerVolumeMount": {
+ "additionalProperties": false,
+ "properties": {
+ "MountPath": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "EksEmptyDir": {
+ "additionalProperties": false,
+ "properties": {
+ "Medium": {
+ "type": "string"
+ },
+ "SizeLimit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksHostPath": {
+ "additionalProperties": false,
+ "properties": {
+ "Path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "PodProperties": {
+ "$ref": "#/definitions/PodProperties"
+ }
+ },
+ "type": "object"
+ },
+ "EksSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Optional": {
+ "type": "boolean"
+ },
+ "SecretName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "SecretName"
+ ],
+ "type": "object"
+ },
+ "EksVolume": {
+ "additionalProperties": false,
+ "properties": {
+ "EmptyDir": {
+ "$ref": "#/definitions/EksEmptyDir"
+ },
+ "HostPath": {
+ "$ref": "#/definitions/EksHostPath"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Secret": {
+ "$ref": "#/definitions/EksSecret"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Environment": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SizeInGiB"
+ ],
+ "type": "object"
+ },
+ "EvaluateOnExit": {
+ "additionalProperties": false,
+ "properties": {
+ "Action": {
+ "type": "string"
+ },
+ "OnExitCode": {
+ "type": "string"
+ },
+ "OnReason": {
+ "type": "string"
+ },
+ "OnStatusReason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Action"
+ ],
+ "type": "object"
+ },
+ "FargatePlatformConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PlatformVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ImagePullSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Devices": {
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "type": "string"
+ },
+ "Options": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretOptions": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "Metadata": {
+ "additionalProperties": false,
+ "properties": {
+ "Labels": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "MountPoints": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AssignPublicIp": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NodeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "MainNode": {
+ "type": "integer"
+ },
+ "NodeRangeProperties": {
+ "items": {
+ "$ref": "#/definitions/NodeRangeProperty"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NumNodes": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "MainNode",
+ "NodeRangeProperties",
+ "NumNodes"
+ ],
+ "type": "object"
+ },
+ "NodeRangeProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "Container": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "InstanceTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TargetNodes": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetNodes"
+ ],
+ "type": "object"
+ },
+ "PodProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsPolicy": {
+ "type": "string"
+ },
+ "HostNetwork": {
+ "type": "boolean"
+ },
+ "ImagePullSecrets": {
+ "items": {
+ "$ref": "#/definitions/ImagePullSecret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitContainers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Metadata": {
+ "$ref": "#/definitions/Metadata"
+ },
+ "ServiceAccountName": {
+ "type": "string"
+ },
+ "ShareProcessNamespace": {
+ "type": "boolean"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/EksVolume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter"
+ ],
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RetryStrategy": {
+ "additionalProperties": false,
+ "properties": {
+ "Attempts": {
+ "type": "integer"
+ },
+ "EvaluateOnExit": {
+ "items": {
+ "$ref": "#/definitions/EvaluateOnExit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ValueFrom",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "TaskContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Condition",
+ "ContainerName"
+ ],
+ "type": "object"
+ },
+ "TaskContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DependsOn": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerDependency"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Timeout": {
+ "additionalProperties": false,
+ "properties": {
+ "AttemptDurationSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size",
+ "ContainerPath"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SoftLimit",
+ "HardLimit",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Volumes": {
+ "additionalProperties": false,
+ "properties": {
+ "EfsVolumeConfiguration": {
+ "$ref": "#/definitions/EfsVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/VolumesHost"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumesHost": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ContainerProperties": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "JobDefinitionName": {
+ "type": "string"
+ },
+ "NodeProperties": {
+ "$ref": "#/definitions/NodeProperties"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "PlatformCapabilities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PropagateTags": {
+ "type": "boolean"
+ },
+ "RetryStrategy": {
+ "$ref": "#/definitions/RetryStrategy"
+ },
+ "SchedulingPriority": {
+ "type": "integer"
+ },
+ "Tags": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Timeout": {
+ "$ref": "#/definitions/Timeout"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Type"
+ ],
+ "typeName": "AWS::Batch::JobDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-fms-policy.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-fms-policy.json
new file mode 100644
index 0000000000..8456d02fd6
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-fms-policy.json
@@ -0,0 +1,472 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "AccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^([0-9]*)$",
+ "type": "string"
+ },
+ "Base62Id": {
+ "maxLength": 22,
+ "minLength": 22,
+ "pattern": "^[a-z0-9A-Z]{22}$",
+ "type": "string"
+ },
+ "FirewallDeploymentModel": {
+ "enum": [
+ "DISTRIBUTED",
+ "CENTRALIZED"
+ ],
+ "type": "string"
+ },
+ "IEMap": {
+ "additionalProperties": false,
+ "properties": {
+ "ACCOUNT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/AccountId"
+ },
+ "type": "array"
+ },
+ "ORGUNIT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/OrganizationalUnitId"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedServiceData": {
+ "maxLength": 8192,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NetworkAclCommonPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkAclEntrySet": {
+ "$ref": "#/definitions/NetworkAclEntrySet"
+ }
+ },
+ "required": [
+ "NetworkAclEntrySet"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "CidrBlock": {
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
+ "type": "string"
+ },
+ "Egress": {
+ "type": "boolean"
+ },
+ "IcmpTypeCode": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Code",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Ipv6CidrBlock": {
+ "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(/(1[0-2]|[0-9]))?$",
+ "type": "string"
+ },
+ "PortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "From": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "To": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "From",
+ "To"
+ ],
+ "type": "object"
+ },
+ "Protocol": {
+ "pattern": "^(tcp|udp|icmp|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$",
+ "type": "string"
+ },
+ "RuleAction": {
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Egress",
+ "Protocol",
+ "RuleAction"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntryList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/NetworkAclEntry"
+ },
+ "type": "array"
+ },
+ "NetworkAclEntrySet": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "FirstEntries"
+ ]
+ },
+ {
+ "required": [
+ "LastEntries"
+ ]
+ }
+ ],
+ "properties": {
+ "FirstEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ },
+ "ForceRemediateForFirstEntries": {
+ "type": "boolean"
+ },
+ "ForceRemediateForLastEntries": {
+ "type": "boolean"
+ },
+ "LastEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ }
+ },
+ "required": [
+ "ForceRemediateForFirstEntries",
+ "ForceRemediateForLastEntries"
+ ],
+ "type": "object"
+ },
+ "NetworkFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ },
+ "OrganizationalUnitId": {
+ "maxLength": 68,
+ "minLength": 16,
+ "pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "PolicyOption": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "NetworkFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "ThirdPartyFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "NetworkAclCommonPolicy"
+ ]
+ }
+ ],
+ "properties": {
+ "NetworkAclCommonPolicy": {
+ "$ref": "#/definitions/NetworkAclCommonPolicy"
+ },
+ "NetworkFirewallPolicy": {
+ "$ref": "#/definitions/NetworkFirewallPolicy"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "$ref": "#/definitions/ThirdPartyFirewallPolicy"
+ }
+ },
+ "type": "object"
+ },
+ "PolicyTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "PolicyType": {
+ "enum": [
+ "WAF",
+ "WAFV2",
+ "SHIELD_ADVANCED",
+ "SECURITY_GROUPS_COMMON",
+ "SECURITY_GROUPS_CONTENT_AUDIT",
+ "SECURITY_GROUPS_USAGE_AUDIT",
+ "NETWORK_FIREWALL",
+ "THIRD_PARTY_FIREWALL",
+ "DNS_FIREWALL",
+ "IMPORT_NETWORK_FIREWALL",
+ "NETWORK_ACL_COMMON"
+ ],
+ "type": "string"
+ },
+ "ResourceArn": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "ResourceTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ResourceType": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "SecurityServicePolicyData": {
+ "additionalProperties": false,
+ "properties": {
+ "ManagedServiceData": {
+ "$ref": "#/definitions/ManagedServiceData"
+ },
+ "PolicyOption": {
+ "$ref": "#/definitions/PolicyOption"
+ },
+ "Type": {
+ "$ref": "#/definitions/PolicyType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:TagResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "fms:DeletePolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "fms:ListPolicies",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "fms:GetPolicy",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:GetPolicy",
+ "fms:TagResource",
+ "fms:UntagResource",
+ "fms:ListTagsForResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "$ref": "#/definitions/ResourceArn"
+ },
+ "DeleteAllPolicyResources": {
+ "type": "boolean"
+ },
+ "ExcludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "ExcludeResourceTags": {
+ "type": "boolean"
+ },
+ "Id": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "^[a-z0-9A-Z-]{36}$",
+ "type": "string"
+ },
+ "IncludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "PolicyDescription": {
+ "maxLength": 256,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "PolicyName": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "RemediationEnabled": {
+ "type": "boolean"
+ },
+ "ResourceSetIds": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Base62Id"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ResourceTags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceTag"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "ResourceType": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "ResourceTypeList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "type": "array"
+ },
+ "ResourcesCleanUp": {
+ "type": "boolean"
+ },
+ "SecurityServicePolicyData": {
+ "$ref": "#/definitions/SecurityServicePolicyData"
+ },
+ "Tags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/PolicyTag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Id"
+ ],
+ "required": [
+ "ExcludeResourceTags",
+ "PolicyName",
+ "RemediationEnabled",
+ "SecurityServicePolicyData"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fms.git",
+ "typeName": "AWS::FMS::Policy",
+ "writeOnlyProperties": [
+ "/properties/DeleteAllPolicyResources"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-trigger.json
new file mode 100644
index 0000000000..974dd89b9f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-trigger.json
@@ -0,0 +1,172 @@
+{
+ "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_1/aws-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-organizations-organization.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-organizations-organization.json
deleted file mode 100644
index 844033a13a..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-organizations-organization.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "handlers": {
- "create": {
- "permissions": [
- "organizations:CreateOrganization",
- "organizations:DescribeOrganization",
- "iam:CreateServiceLinkedRole",
- "organizations:ListRoots"
- ]
- },
- "delete": {
- "permissions": [
- "organizations:DeleteOrganization",
- "organizations:DescribeOrganization"
- ]
- },
- "list": {
- "permissions": [
- "organizations:DescribeOrganization"
- ]
- },
- "read": {
- "permissions": [
- "organizations:DescribeOrganization",
- "organizations:ListRoots"
- ]
- },
- "update": {
- "permissions": [
- "organizations:DescribeOrganization"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "pattern": "^arn:aws.*:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}",
- "type": "string"
- },
- "FeatureSet": {
- "default": "ALL",
- "enum": [
- "ALL",
- "CONSOLIDATED_BILLING"
- ],
- "type": "string"
- },
- "Id": {
- "pattern": "^o-[a-z0-9]{10,32}$",
- "type": "string"
- },
- "ManagementAccountArn": {
- "pattern": "^arn:aws.*:organizations::\\d{12}:account\\/o-[a-z0-9]{10,32}\\/\\d{12}",
- "type": "string"
- },
- "ManagementAccountEmail": {
- "maxLength": 64,
- "minLength": 6,
- "pattern": "[^\\s@]+@[^\\s@]+\\.[^\\s@]+",
- "type": "string"
- },
- "ManagementAccountId": {
- "pattern": "^\\d{12}$",
- "type": "string"
- },
- "RootId": {
- "maxLength": 64,
- "pattern": "^r-[0-9a-z]{4,32}$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn",
- "/properties/ManagementAccountArn",
- "/properties/ManagementAccountId",
- "/properties/ManagementAccountEmail",
- "/properties/RootId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations.git",
- "tagging": {
- "taggable": false
- },
- "typeName": "AWS::Organizations::Organization"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-rds-integration.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-rds-integration.json
new file mode 100644
index 0000000000..8bb00c0dfe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-rds-integration.json
@@ -0,0 +1,154 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SourceArn",
+ "/properties/TargetArn",
+ "/properties/KMSKeyId",
+ "/properties/AdditionalEncryptionContext"
+ ],
+ "definitions": {
+ "EncryptionContextMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[\\s\\S]*$": {
+ "maxLength": 131072,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateIntegration",
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "redshift:CreateInboundIntegration"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DeleteIntegration",
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "rds:RemoveTagsFromResource",
+ "rds:ModifyIntegration"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IntegrationArn"
+ ],
+ "properties": {
+ "AdditionalEncryptionContext": {
+ "$ref": "#/definitions/EncryptionContextMap"
+ },
+ "CreateTime": {
+ "type": "string"
+ },
+ "DataFilter": {
+ "maxLength": 25600,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9_ \"\\\\\\-$,*.:?+\\/]*",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IntegrationArn": {
+ "type": "string"
+ },
+ "IntegrationName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KMSKeyId": {
+ "type": "string"
+ },
+ "SourceArn": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetArn": {
+ "type": "string"
+ }
+ },
+ "propertyTransform": {
+ "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])",
+ "/properties/SourceArn": "$lowercase(SourceArn)"
+ },
+ "readOnlyProperties": [
+ "/properties/IntegrationArn",
+ "/properties/CreateTime"
+ ],
+ "required": [
+ "SourceArn",
+ "TargetArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RDS::Integration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-app.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-app.json
new file mode 100644
index 0000000000..d565ffb835
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-app.json
@@ -0,0 +1,210 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/Tags",
+ "/properties/ResourceSpec"
+ ],
+ "definitions": {
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListApps"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeApp",
+ "sagemaker:DescribeApp"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName"
+ ],
+ "properties": {
+ "AppArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:app/.*",
+ "type": "string"
+ },
+ "AppName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/AppArn"
+ ],
+ "required": [
+ "AppName",
+ "AppType",
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::App",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-domain.json
new file mode 100644
index 0000000000..5cd4ea45fa
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-domain.json
@@ -0,0 +1,831 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AuthMode",
+ "/properties/DomainName",
+ "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
+ "/properties/KmsKeyId",
+ "/properties/VpcId",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableDockerAccess": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "VpcOnlyTrustedAccounts": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^\\d+$",
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "DomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DockerSettings": {
+ "$ref": "#/definitions/DockerSettings"
+ },
+ "RStudioServerProDomainSettings": {
+ "$ref": "#/definitions/RStudioServerProDomainSettings"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RSessionAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProDomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "DomainExecutionRoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "RStudioConnectUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ },
+ "RStudioPackageManagerUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DomainExecutionRoleArn"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "LifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RSessionAppSettings": {
+ "$ref": "#/definitions/RSessionAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:CreateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "efs:CreateFileSystem",
+ "kms:CreateGrant",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "kms:GenerateDataKeyWithoutPlainText"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DeleteDomain",
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListDomains"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:UpdateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "AppNetworkAccessType": {
+ "enum": [
+ "PublicInternetOnly",
+ "VpcOnly"
+ ],
+ "type": "string"
+ },
+ "AppSecurityGroupManagement": {
+ "enum": [
+ "Service",
+ "Customer"
+ ],
+ "type": "string"
+ },
+ "AuthMode": {
+ "enum": [
+ "SSO",
+ "IAM"
+ ],
+ "type": "string"
+ },
+ "DefaultSpaceSettings": {
+ "$ref": "#/definitions/DefaultSpaceSettings"
+ },
+ "DefaultUserSettings": {
+ "$ref": "#/definitions/UserSettings"
+ },
+ "DomainArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "pattern": "^d-(-*[a-z0-9])+",
+ "type": "string"
+ },
+ "DomainName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "DomainSettings": {
+ "$ref": "#/definitions/DomainSettings"
+ },
+ "HomeEfsFileSystemId": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "SecurityGroupIdForDomainBoundary": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "SingleSignOnApplicationArn": {
+ "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "SingleSignOnManagedApplicationInstanceId": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/DomainArn",
+ "/properties/Url",
+ "/properties/DomainId",
+ "/properties/HomeEfsFileSystemId",
+ "/properties/SecurityGroupIdForDomainBoundary",
+ "/properties/SingleSignOnManagedApplicationInstanceId",
+ "/properties/SingleSignOnApplicationArn"
+ ],
+ "required": [
+ "AuthMode",
+ "DefaultUserSettings",
+ "DomainName",
+ "SubnetIds",
+ "VpcId"
+ ],
+ "typeName": "AWS::SageMaker::Domain",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-model.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-model.json
new file mode 100644
index 0000000000..ef768bc0ed
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-model.json
@@ -0,0 +1,235 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ExecutionRoleArn",
+ "/properties/EnableNetworkIsolation",
+ "/properties/InferenceExecutionConfig",
+ "/properties/PrimaryContainer",
+ "/properties/ModelName",
+ "/properties/VpcConfig",
+ "/properties/Containers"
+ ],
+ "definitions": {
+ "ContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerHostname": {
+ "type": "string"
+ },
+ "Environment": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImageConfig": {
+ "$ref": "#/definitions/ImageConfig"
+ },
+ "InferenceSpecificationName": {
+ "type": "string"
+ },
+ "Mode": {
+ "type": "string"
+ },
+ "ModelDataSource": {
+ "$ref": "#/definitions/ModelDataSource"
+ },
+ "ModelDataUrl": {
+ "type": "string"
+ },
+ "ModelPackageName": {
+ "type": "string"
+ },
+ "MultiModelConfig": {
+ "$ref": "#/definitions/MultiModelConfig"
+ }
+ },
+ "type": "object"
+ },
+ "ImageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryAccessMode": {
+ "type": "string"
+ },
+ "RepositoryAuthConfig": {
+ "$ref": "#/definitions/RepositoryAuthConfig"
+ }
+ },
+ "required": [
+ "RepositoryAccessMode"
+ ],
+ "type": "object"
+ },
+ "InferenceExecutionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Mode": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Mode"
+ ],
+ "type": "object"
+ },
+ "ModelAccessConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AcceptEula": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "AcceptEula"
+ ],
+ "type": "object"
+ },
+ "ModelDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "S3DataSource": {
+ "$ref": "#/definitions/S3DataSource"
+ }
+ },
+ "required": [
+ "S3DataSource"
+ ],
+ "type": "object"
+ },
+ "MultiModelConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ModelCacheSetting": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryAuthConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryCredentialsProviderArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryCredentialsProviderArn"
+ ],
+ "type": "object"
+ },
+ "S3DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CompressionType": {
+ "type": "string"
+ },
+ "ModelAccessConfig": {
+ "$ref": "#/definitions/ModelAccessConfig"
+ },
+ "S3DataType": {
+ "type": "string"
+ },
+ "S3Uri": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Uri",
+ "S3DataType",
+ "CompressionType"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "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",
+ "uniqueItems": false
+ },
+ "Subnets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Subnets",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EnableNetworkIsolation": {
+ "type": "boolean"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "InferenceExecutionConfig": {
+ "$ref": "#/definitions/InferenceExecutionConfig"
+ },
+ "ModelName": {
+ "type": "string"
+ },
+ "PrimaryContainer": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "typeName": "AWS::SageMaker::Model"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-space.json
new file mode 100644
index 0000000000..1ad92e7aa4
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-space.json
@@ -0,0 +1,436 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/SpaceName",
+ "/properties/SpaceSharingSettings",
+ "/properties/OwnershipSettings"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "TensorBoard",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "JupyterLab",
+ "CodeEditor"
+ ],
+ "type": "string"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystem": {
+ "$ref": "#/definitions/EFSFileSystem"
+ }
+ },
+ "type": "object"
+ },
+ "CustomFileSystems": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystem"
+ },
+ "maxItems": 1,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "EFSFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "EbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "OwnershipSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "OwnerUserProfileName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "required": [
+ "OwnerUserProfileName"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceCodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "SpaceJupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AppType": {
+ "$ref": "#/definitions/AppType"
+ },
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/SpaceCodeEditorAppSettings"
+ },
+ "CustomFileSystems": {
+ "$ref": "#/definitions/CustomFileSystems"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/SpaceJupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/SpaceStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SharingType": {
+ "enum": [
+ "Private",
+ "Shared"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "SharingType"
+ ],
+ "type": "object"
+ },
+ "SpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsStorageSettings": {
+ "$ref": "#/definitions/EbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListSpaces"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId",
+ "/properties/SpaceName"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "OwnershipSettings": {
+ "$ref": "#/definitions/OwnershipSettings"
+ },
+ "SpaceArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*",
+ "type": "string"
+ },
+ "SpaceDisplayName": {
+ "maxLength": 64,
+ "pattern": "^(?!\\s*$).+",
+ "type": "string"
+ },
+ "SpaceName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SpaceSettings": {
+ "$ref": "#/definitions/SpaceSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ },
+ "SpaceSharingSettings": {
+ "$ref": "#/definitions/SpaceSharingSettings"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/SpaceArn",
+ "/properties/Url"
+ ],
+ "required": [
+ "DomainId",
+ "SpaceName"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::SageMaker::Space",
+ "writeOnlyProperties": [
+ "/properties/SpaceSettings",
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-userprofile.json
new file mode 100644
index 0000000000..c2c0daf9fe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-sagemaker-userprofile.json
@@ -0,0 +1,592 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/SingleSignOnUserIdentifier",
+ "/properties/SingleSignOnUserValue",
+ "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
+ "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteUserProfile",
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListUserProfiles"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/UserProfileName",
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SingleSignOnUserIdentifier": {
+ "pattern": "UserName",
+ "type": "string"
+ },
+ "SingleSignOnUserValue": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
+ "type": "string"
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "UserSettings": {
+ "$ref": "#/definitions/UserSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/UserProfileArn"
+ ],
+ "required": [
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::UserProfile",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-stepfunctions-activity.json
deleted file mode 100644
index 7aaf191ed1..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-stepfunctions-activity.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateActivity",
- "states:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "states:DescribeActivity",
- "states:DeleteActivity"
- ]
- },
- "list": {
- "permissions": [
- "states:ListActivities"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeActivity",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:ListTagsForResource",
- "states:TagResource",
- "states:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::Activity"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-stepfunctions-statemachine.json
deleted file mode 100644
index c8a1b0f42e..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-stepfunctions-statemachine.json
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/StateMachineName"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/StateMachineName",
- "/properties/StateMachineType"
- ],
- "definitions": {
- "CloudWatchLogsLogGroup": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- },
- "Definition": {
- "minProperties": 1,
- "type": "object"
- },
- "DefinitionSubstitutions": {
- "additionalProperties": false,
- "minProperties": 1,
- "patternProperties": {
- ".*": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- },
- {
- "type": "boolean"
- }
- ]
- }
- },
- "type": "object"
- },
- "LogDestination": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsLogGroup": {
- "$ref": "#/definitions/CloudWatchLogsLogGroup"
- }
- },
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destinations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LogDestination"
- },
- "minItems": 1,
- "type": "array"
- },
- "IncludeExecutionData": {
- "type": "boolean"
- },
- "Level": {
- "enum": [
- "ALL",
- "ERROR",
- "FATAL",
- "OFF"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "S3Location": {
- "additionalProperties": false,
- "properties": {
- "Bucket": {
- "type": "string"
- },
- "Key": {
- "type": "string"
- },
- "Version": {
- "type": "string"
- }
- },
- "required": [
- "Bucket",
- "Key"
- ],
- "type": "object"
- },
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TracingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Enabled": {
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateStateMachine",
- "states:DescribeStateMachine",
- "states:TagResource",
- "iam:PassRole",
- "s3:GetObject"
- ]
- },
- "delete": {
- "permissions": [
- "states:DeleteStateMachine",
- "states:DescribeStateMachine"
- ]
- },
- "list": {
- "permissions": [
- "states:ListStateMachines"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeStateMachine",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:UpdateStateMachine",
- "states:TagResource",
- "states:UntagResource",
- "states:ListTagsForResource",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/Definition"
- },
- "DefinitionS3Location": {
- "$ref": "#/definitions/S3Location"
- },
- "DefinitionString": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "DefinitionSubstitutions": {
- "$ref": "#/definitions/DefinitionSubstitutions"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineName": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineRevisionId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineType": {
- "enum": [
- "STANDARD",
- "EXPRESS"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TracingConfiguration": {
- "$ref": "#/definitions/TracingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/Name",
- "/properties/StateMachineRevisionId"
- ],
- "required": [
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::StateMachine",
- "writeOnlyProperties": [
- "/properties/Definition",
- "/properties/DefinitionS3Location",
- "/properties/DefinitionSubstitutions"
- ]
-}
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 d4eecdc54e..f0200c759f 100644
--- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py
@@ -540,6 +540,7 @@
"AWS::SSO::Instance",
"AWS::SSO::InstanceAccessControlAttributeConfiguration",
"AWS::SSO::PermissionSet",
+ "AWS::SageMaker::MlflowTrackingServer",
"AWS::SageMaker::ModelCard",
"AWS::Scheduler::Schedule",
"AWS::Scheduler::ScheduleGroup",
@@ -662,7 +663,6 @@
"aws-appsync-graphqlschema.json",
"aws-appsync-resolver.json",
"aws-appsync-sourceapiassociation.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
"aws-athena-preparedstatement.json",
@@ -679,7 +679,6 @@
"aws-backup-restoretestingplan.json",
"aws-backup-restoretestingselection.json",
"aws-batch-computeenvironment.json",
- "aws-batch-jobdefinition.json",
"aws-batch-jobqueue.json",
"aws-batch-schedulingpolicy.json",
"aws-ce-anomalymonitor.json",
@@ -886,7 +885,6 @@
"aws-events-eventbuspolicy.json",
"aws-events-rule.json",
"aws-fms-notificationchannel.json",
- "aws-fms-policy.json",
"aws-fms-resourceset.json",
"aws-fsx-datarepositoryassociation.json",
"aws-fsx-filesystem.json",
@@ -894,7 +892,6 @@
"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",
@@ -910,7 +907,6 @@
"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",
@@ -945,7 +941,6 @@
"aws-internetmonitor-monitor.json",
"aws-kinesis-stream.json",
"aws-kinesisanalyticsv2-application.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kms-key.json",
"aws-kms-replicakey.json",
"aws-lakeformation-datacellsfilter.json",
@@ -955,6 +950,7 @@
"aws-lakeformation-resource.json",
"aws-lakeformation-tag.json",
"aws-lakeformation-tagassociation.json",
+ "aws-lambda-alias.json",
"aws-lambda-eventinvokeconfig.json",
"aws-lambda-eventsourcemapping.json",
"aws-lambda-function.json",
@@ -1073,11 +1069,11 @@
"aws-s3-bucketpolicy.json",
"aws-s3objectlambda-accesspoint.json",
"aws-s3objectlambda-accesspointpolicy.json",
+ "aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-modelcard.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
"aws-sdb-domain.json",
- "aws-secretsmanager-resourcepolicy.json",
"aws-secretsmanager-rotationschedule.json",
"aws-secretsmanager-secret.json",
"aws-securityhub-automationrule.json",
@@ -1132,6 +1128,8 @@
"aws-sso-instance.json",
"aws-sso-instanceaccesscontrolattributeconfiguration.json",
"aws-sso-permissionset.json",
+ "aws-stepfunctions-activity.json",
+ "aws-stepfunctions-statemachine.json",
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json
new file mode 100644
index 0000000000..2d82031cd0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json
@@ -0,0 +1,992 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Tags",
+ "/properties/JobDefinitionName"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "Iam": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "FargatePlatformConfiguration": {
+ "$ref": "#/definitions/FargatePlatformConfiguration"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "items": {
+ "$ref": "#/definitions/EcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "EcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "PlatformVersion": {
+ "type": "string"
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EfsVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EksContainer": {
+ "additionalProperties": false,
+ "properties": {
+ "Args": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Env": {
+ "items": {
+ "$ref": "#/definitions/EksContainerEnvironmentVariable"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImagePullPolicy": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Resources": {
+ "$ref": "#/definitions/EksContainerResourceRequirements"
+ },
+ "SecurityContext": {
+ "$ref": "#/definitions/EksContainerSecurityContext"
+ },
+ "VolumeMounts": {
+ "items": {
+ "$ref": "#/definitions/EksContainerVolumeMount"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "EksContainerEnvironmentVariable": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "EksContainerResourceRequirements": {
+ "additionalProperties": false,
+ "properties": {
+ "Limits": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Requests": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerSecurityContext": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowPrivilegeEscalation": {
+ "type": "boolean"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadOnlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RunAsGroup": {
+ "type": "integer"
+ },
+ "RunAsNonRoot": {
+ "type": "boolean"
+ },
+ "RunAsUser": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerVolumeMount": {
+ "additionalProperties": false,
+ "properties": {
+ "MountPath": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "EksEmptyDir": {
+ "additionalProperties": false,
+ "properties": {
+ "Medium": {
+ "type": "string"
+ },
+ "SizeLimit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksHostPath": {
+ "additionalProperties": false,
+ "properties": {
+ "Path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "PodProperties": {
+ "$ref": "#/definitions/PodProperties"
+ }
+ },
+ "type": "object"
+ },
+ "EksSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Optional": {
+ "type": "boolean"
+ },
+ "SecretName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "SecretName"
+ ],
+ "type": "object"
+ },
+ "EksVolume": {
+ "additionalProperties": false,
+ "properties": {
+ "EmptyDir": {
+ "$ref": "#/definitions/EksEmptyDir"
+ },
+ "HostPath": {
+ "$ref": "#/definitions/EksHostPath"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Secret": {
+ "$ref": "#/definitions/EksSecret"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Environment": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SizeInGiB"
+ ],
+ "type": "object"
+ },
+ "EvaluateOnExit": {
+ "additionalProperties": false,
+ "properties": {
+ "Action": {
+ "type": "string"
+ },
+ "OnExitCode": {
+ "type": "string"
+ },
+ "OnReason": {
+ "type": "string"
+ },
+ "OnStatusReason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Action"
+ ],
+ "type": "object"
+ },
+ "FargatePlatformConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PlatformVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ImagePullSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Devices": {
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "type": "string"
+ },
+ "Options": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretOptions": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "Metadata": {
+ "additionalProperties": false,
+ "properties": {
+ "Labels": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "MountPoints": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AssignPublicIp": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NodeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "MainNode": {
+ "type": "integer"
+ },
+ "NodeRangeProperties": {
+ "items": {
+ "$ref": "#/definitions/NodeRangeProperty"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NumNodes": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "MainNode",
+ "NodeRangeProperties",
+ "NumNodes"
+ ],
+ "type": "object"
+ },
+ "NodeRangeProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "Container": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "InstanceTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TargetNodes": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetNodes"
+ ],
+ "type": "object"
+ },
+ "PodProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsPolicy": {
+ "type": "string"
+ },
+ "HostNetwork": {
+ "type": "boolean"
+ },
+ "ImagePullSecrets": {
+ "items": {
+ "$ref": "#/definitions/ImagePullSecret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitContainers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Metadata": {
+ "$ref": "#/definitions/Metadata"
+ },
+ "ServiceAccountName": {
+ "type": "string"
+ },
+ "ShareProcessNamespace": {
+ "type": "boolean"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/EksVolume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter"
+ ],
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RetryStrategy": {
+ "additionalProperties": false,
+ "properties": {
+ "Attempts": {
+ "type": "integer"
+ },
+ "EvaluateOnExit": {
+ "items": {
+ "$ref": "#/definitions/EvaluateOnExit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ValueFrom",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "TaskContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Condition",
+ "ContainerName"
+ ],
+ "type": "object"
+ },
+ "TaskContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DependsOn": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerDependency"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Timeout": {
+ "additionalProperties": false,
+ "properties": {
+ "AttemptDurationSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size",
+ "ContainerPath"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SoftLimit",
+ "HardLimit",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Volumes": {
+ "additionalProperties": false,
+ "properties": {
+ "EfsVolumeConfiguration": {
+ "$ref": "#/definitions/EfsVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/VolumesHost"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumesHost": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ContainerProperties": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "JobDefinitionName": {
+ "type": "string"
+ },
+ "NodeProperties": {
+ "$ref": "#/definitions/NodeProperties"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "PlatformCapabilities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PropagateTags": {
+ "type": "boolean"
+ },
+ "RetryStrategy": {
+ "$ref": "#/definitions/RetryStrategy"
+ },
+ "SchedulingPriority": {
+ "type": "integer"
+ },
+ "Tags": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Timeout": {
+ "$ref": "#/definitions/Timeout"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Type"
+ ],
+ "typeName": "AWS::Batch::JobDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-fms-policy.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-fms-policy.json
new file mode 100644
index 0000000000..8456d02fd6
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-fms-policy.json
@@ -0,0 +1,472 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "AccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^([0-9]*)$",
+ "type": "string"
+ },
+ "Base62Id": {
+ "maxLength": 22,
+ "minLength": 22,
+ "pattern": "^[a-z0-9A-Z]{22}$",
+ "type": "string"
+ },
+ "FirewallDeploymentModel": {
+ "enum": [
+ "DISTRIBUTED",
+ "CENTRALIZED"
+ ],
+ "type": "string"
+ },
+ "IEMap": {
+ "additionalProperties": false,
+ "properties": {
+ "ACCOUNT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/AccountId"
+ },
+ "type": "array"
+ },
+ "ORGUNIT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/OrganizationalUnitId"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedServiceData": {
+ "maxLength": 8192,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NetworkAclCommonPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkAclEntrySet": {
+ "$ref": "#/definitions/NetworkAclEntrySet"
+ }
+ },
+ "required": [
+ "NetworkAclEntrySet"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "CidrBlock": {
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
+ "type": "string"
+ },
+ "Egress": {
+ "type": "boolean"
+ },
+ "IcmpTypeCode": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Code",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Ipv6CidrBlock": {
+ "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(/(1[0-2]|[0-9]))?$",
+ "type": "string"
+ },
+ "PortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "From": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "To": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "From",
+ "To"
+ ],
+ "type": "object"
+ },
+ "Protocol": {
+ "pattern": "^(tcp|udp|icmp|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$",
+ "type": "string"
+ },
+ "RuleAction": {
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Egress",
+ "Protocol",
+ "RuleAction"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntryList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/NetworkAclEntry"
+ },
+ "type": "array"
+ },
+ "NetworkAclEntrySet": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "FirstEntries"
+ ]
+ },
+ {
+ "required": [
+ "LastEntries"
+ ]
+ }
+ ],
+ "properties": {
+ "FirstEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ },
+ "ForceRemediateForFirstEntries": {
+ "type": "boolean"
+ },
+ "ForceRemediateForLastEntries": {
+ "type": "boolean"
+ },
+ "LastEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ }
+ },
+ "required": [
+ "ForceRemediateForFirstEntries",
+ "ForceRemediateForLastEntries"
+ ],
+ "type": "object"
+ },
+ "NetworkFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ },
+ "OrganizationalUnitId": {
+ "maxLength": 68,
+ "minLength": 16,
+ "pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "PolicyOption": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "NetworkFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "ThirdPartyFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "NetworkAclCommonPolicy"
+ ]
+ }
+ ],
+ "properties": {
+ "NetworkAclCommonPolicy": {
+ "$ref": "#/definitions/NetworkAclCommonPolicy"
+ },
+ "NetworkFirewallPolicy": {
+ "$ref": "#/definitions/NetworkFirewallPolicy"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "$ref": "#/definitions/ThirdPartyFirewallPolicy"
+ }
+ },
+ "type": "object"
+ },
+ "PolicyTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "PolicyType": {
+ "enum": [
+ "WAF",
+ "WAFV2",
+ "SHIELD_ADVANCED",
+ "SECURITY_GROUPS_COMMON",
+ "SECURITY_GROUPS_CONTENT_AUDIT",
+ "SECURITY_GROUPS_USAGE_AUDIT",
+ "NETWORK_FIREWALL",
+ "THIRD_PARTY_FIREWALL",
+ "DNS_FIREWALL",
+ "IMPORT_NETWORK_FIREWALL",
+ "NETWORK_ACL_COMMON"
+ ],
+ "type": "string"
+ },
+ "ResourceArn": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "ResourceTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ResourceType": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "SecurityServicePolicyData": {
+ "additionalProperties": false,
+ "properties": {
+ "ManagedServiceData": {
+ "$ref": "#/definitions/ManagedServiceData"
+ },
+ "PolicyOption": {
+ "$ref": "#/definitions/PolicyOption"
+ },
+ "Type": {
+ "$ref": "#/definitions/PolicyType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:TagResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "fms:DeletePolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "fms:ListPolicies",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "fms:GetPolicy",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:GetPolicy",
+ "fms:TagResource",
+ "fms:UntagResource",
+ "fms:ListTagsForResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "$ref": "#/definitions/ResourceArn"
+ },
+ "DeleteAllPolicyResources": {
+ "type": "boolean"
+ },
+ "ExcludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "ExcludeResourceTags": {
+ "type": "boolean"
+ },
+ "Id": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "^[a-z0-9A-Z-]{36}$",
+ "type": "string"
+ },
+ "IncludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "PolicyDescription": {
+ "maxLength": 256,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "PolicyName": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "RemediationEnabled": {
+ "type": "boolean"
+ },
+ "ResourceSetIds": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Base62Id"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ResourceTags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceTag"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "ResourceType": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "ResourceTypeList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "type": "array"
+ },
+ "ResourcesCleanUp": {
+ "type": "boolean"
+ },
+ "SecurityServicePolicyData": {
+ "$ref": "#/definitions/SecurityServicePolicyData"
+ },
+ "Tags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/PolicyTag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Id"
+ ],
+ "required": [
+ "ExcludeResourceTags",
+ "PolicyName",
+ "RemediationEnabled",
+ "SecurityServicePolicyData"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fms.git",
+ "typeName": "AWS::FMS::Policy",
+ "writeOnlyProperties": [
+ "/properties/DeleteAllPolicyResources"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-globalaccelerator-crossaccountattachment.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-globalaccelerator-crossaccountattachment.json
new file mode 100644
index 0000000000..31881ad480
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-globalaccelerator-crossaccountattachment.json
@@ -0,0 +1,123 @@
+{
+ "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/ap_south_2/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-glue-trigger.json
new file mode 100644
index 0000000000..974dd89b9f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-glue-trigger.json
@@ -0,0 +1,172 @@
+{
+ "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-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-lambda-alias.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-lambda-alias.json
deleted file mode 100644
index 4a291518b6..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-lambda-alias.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/FunctionName"
- ],
- "definitions": {
- "AliasRoutingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "AdditionalVersionWeights": {
- "items": {
- "$ref": "#/definitions/VersionWeight"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "AdditionalVersionWeights"
- ],
- "type": "object"
- },
- "ProvisionedConcurrencyConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ProvisionedConcurrentExecutions": {
- "type": "integer"
- }
- },
- "required": [
- "ProvisionedConcurrentExecutions"
- ],
- "type": "object"
- },
- "VersionWeight": {
- "additionalProperties": false,
- "properties": {
- "FunctionVersion": {
- "type": "string"
- },
- "FunctionWeight": {
- "type": "number"
- }
- },
- "required": [
- "FunctionVersion",
- "FunctionWeight"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Description": {
- "type": "string"
- },
- "FunctionName": {
- "type": "string"
- },
- "FunctionVersion": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "ProvisionedConcurrencyConfig": {
- "$ref": "#/definitions/ProvisionedConcurrencyConfiguration"
- },
- "RoutingConfig": {
- "$ref": "#/definitions/AliasRoutingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "FunctionName",
- "FunctionVersion",
- "Name"
- ],
- "typeName": "AWS::Lambda::Alias"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-secretsmanager-resourcepolicy.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-secretsmanager-resourcepolicy.json
new file mode 100644
index 0000000000..92fc7be26c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-secretsmanager-resourcepolicy.json
@@ -0,0 +1,35 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SecretId"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "BlockPublicPolicy": {
+ "type": "boolean"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "ResourcePolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "SecretId",
+ "ResourcePolicy"
+ ],
+ "typeName": "AWS::SecretsManager::ResourcePolicy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-stepfunctions-activity.json
deleted file mode 100644
index 7aaf191ed1..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-stepfunctions-activity.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateActivity",
- "states:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "states:DescribeActivity",
- "states:DeleteActivity"
- ]
- },
- "list": {
- "permissions": [
- "states:ListActivities"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeActivity",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:ListTagsForResource",
- "states:TagResource",
- "states:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::Activity"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-stepfunctions-statemachine.json
deleted file mode 100644
index c8a1b0f42e..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-stepfunctions-statemachine.json
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/StateMachineName"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/StateMachineName",
- "/properties/StateMachineType"
- ],
- "definitions": {
- "CloudWatchLogsLogGroup": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- },
- "Definition": {
- "minProperties": 1,
- "type": "object"
- },
- "DefinitionSubstitutions": {
- "additionalProperties": false,
- "minProperties": 1,
- "patternProperties": {
- ".*": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- },
- {
- "type": "boolean"
- }
- ]
- }
- },
- "type": "object"
- },
- "LogDestination": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsLogGroup": {
- "$ref": "#/definitions/CloudWatchLogsLogGroup"
- }
- },
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destinations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LogDestination"
- },
- "minItems": 1,
- "type": "array"
- },
- "IncludeExecutionData": {
- "type": "boolean"
- },
- "Level": {
- "enum": [
- "ALL",
- "ERROR",
- "FATAL",
- "OFF"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "S3Location": {
- "additionalProperties": false,
- "properties": {
- "Bucket": {
- "type": "string"
- },
- "Key": {
- "type": "string"
- },
- "Version": {
- "type": "string"
- }
- },
- "required": [
- "Bucket",
- "Key"
- ],
- "type": "object"
- },
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TracingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Enabled": {
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateStateMachine",
- "states:DescribeStateMachine",
- "states:TagResource",
- "iam:PassRole",
- "s3:GetObject"
- ]
- },
- "delete": {
- "permissions": [
- "states:DeleteStateMachine",
- "states:DescribeStateMachine"
- ]
- },
- "list": {
- "permissions": [
- "states:ListStateMachines"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeStateMachine",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:UpdateStateMachine",
- "states:TagResource",
- "states:UntagResource",
- "states:ListTagsForResource",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/Definition"
- },
- "DefinitionS3Location": {
- "$ref": "#/definitions/S3Location"
- },
- "DefinitionString": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "DefinitionSubstitutions": {
- "$ref": "#/definitions/DefinitionSubstitutions"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineName": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineRevisionId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineType": {
- "enum": [
- "STANDARD",
- "EXPRESS"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TracingConfiguration": {
- "$ref": "#/definitions/TracingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/Name",
- "/properties/StateMachineRevisionId"
- ],
- "required": [
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::StateMachine",
- "writeOnlyProperties": [
- "/properties/Definition",
- "/properties/DefinitionS3Location",
- "/properties/DefinitionSubstitutions"
- ]
-}
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 9e5cf9623a..ccbea6b894 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py
@@ -133,9 +133,14 @@
"AWS::Bedrock::Agent",
"AWS::Bedrock::AgentAlias",
"AWS::Bedrock::DataSource",
+ "AWS::Bedrock::Flow",
+ "AWS::Bedrock::FlowAlias",
+ "AWS::Bedrock::FlowVersion",
"AWS::Bedrock::Guardrail",
"AWS::Bedrock::GuardrailVersion",
"AWS::Bedrock::KnowledgeBase",
+ "AWS::Bedrock::Prompt",
+ "AWS::Bedrock::PromptVersion",
"AWS::Budgets::Budget",
"AWS::Budgets::BudgetsAction",
"AWS::CDK::Metadata",
@@ -1291,7 +1296,6 @@
"aws-aps-rulegroupsnamespace.json",
"aws-aps-scraper.json",
"aws-aps-workspace.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-capacityreservation.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
@@ -1314,15 +1318,19 @@
"aws-backup-restoretestingselection.json",
"aws-backupgateway-hypervisor.json",
"aws-batch-computeenvironment.json",
- "aws-batch-jobdefinition.json",
"aws-batch-jobqueue.json",
"aws-batch-schedulingpolicy.json",
"aws-bedrock-agent.json",
"aws-bedrock-agentalias.json",
"aws-bedrock-datasource.json",
+ "aws-bedrock-flow.json",
+ "aws-bedrock-flowalias.json",
+ "aws-bedrock-flowversion.json",
"aws-bedrock-guardrail.json",
"aws-bedrock-guardrailversion.json",
"aws-bedrock-knowledgebase.json",
+ "aws-bedrock-prompt.json",
+ "aws-bedrock-promptversion.json",
"aws-budgets-budget.json",
"aws-budgets-budgetsaction.json",
"aws-cassandra-keyspace.json",
@@ -1340,7 +1348,6 @@
"aws-cleanrooms-configuredtableassociation.json",
"aws-cleanrooms-membership.json",
"aws-cleanrooms-privacybudgettemplate.json",
- "aws-cleanroomsml-trainingdataset.json",
"aws-cloud9-environmentec2.json",
"aws-cloudformation-customresource.json",
"aws-cloudformation-hookdefaultversion.json",
@@ -1383,7 +1390,6 @@
"aws-cloudwatch-insightrule.json",
"aws-cloudwatch-metricstream.json",
"aws-codeartifact-domain.json",
- "aws-codeartifact-packagegroup.json",
"aws-codeartifact-repository.json",
"aws-codebuild-fleet.json",
"aws-codebuild-project.json",
@@ -1693,7 +1699,6 @@
"aws-fis-experimenttemplate.json",
"aws-fis-targetaccountconfiguration.json",
"aws-fms-notificationchannel.json",
- "aws-fms-policy.json",
"aws-fms-resourceset.json",
"aws-forecast-dataset.json",
"aws-forecast-datasetgroup.json",
@@ -1739,7 +1744,6 @@
"aws-glue-schemaversionmetadata.json",
"aws-glue-securityconfiguration.json",
"aws-glue-table.json",
- "aws-glue-trigger.json",
"aws-glue-workflow.json",
"aws-grafana-workspace.json",
"aws-greengrass-connectordefinition.json",
@@ -1860,7 +1864,6 @@
"aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.json",
"aws-kinesisanalyticsv2-applicationoutput.json",
"aws-kinesisanalyticsv2-applicationreferencedatasource.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kinesisvideo-signalingchannel.json",
"aws-kinesisvideo-stream.json",
"aws-kms-alias.json",
@@ -2023,6 +2026,7 @@
"aws-opsworks-volume.json",
"aws-opsworkscm-server.json",
"aws-organizations-account.json",
+ "aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
"aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
@@ -2083,7 +2087,6 @@
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
"aws-rds-globalcluster.json",
- "aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
"aws-redshift-clusterparametergroup.json",
@@ -2155,11 +2158,9 @@
"aws-s3outposts-bucket.json",
"aws-s3outposts-bucketpolicy.json",
"aws-s3outposts-endpoint.json",
- "aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-coderepository.json",
"aws-sagemaker-dataqualityjobdefinition.json",
- "aws-sagemaker-domain.json",
"aws-sagemaker-endpoint.json",
"aws-sagemaker-endpointconfig.json",
"aws-sagemaker-featuregroup.json",
@@ -2168,7 +2169,6 @@
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
"aws-sagemaker-mlflowtrackingserver.json",
- "aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelexplainabilityjobdefinition.json",
@@ -2180,8 +2180,6 @@
"aws-sagemaker-notebookinstancelifecycleconfig.json",
"aws-sagemaker-pipeline.json",
"aws-sagemaker-project.json",
- "aws-sagemaker-space.json",
- "aws-sagemaker-userprofile.json",
"aws-sagemaker-workteam.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
@@ -2274,6 +2272,8 @@
"aws-sso-instance.json",
"aws-sso-instanceaccesscontrolattributeconfiguration.json",
"aws-sso-permissionset.json",
+ "aws-stepfunctions-activity.json",
+ "aws-stepfunctions-statemachine.json",
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-supportapp-accountalias.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-batch-jobdefinition.json
new file mode 100644
index 0000000000..2d82031cd0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-batch-jobdefinition.json
@@ -0,0 +1,992 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Tags",
+ "/properties/JobDefinitionName"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "Iam": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "FargatePlatformConfiguration": {
+ "$ref": "#/definitions/FargatePlatformConfiguration"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "items": {
+ "$ref": "#/definitions/EcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "EcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "PlatformVersion": {
+ "type": "string"
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EfsVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EksContainer": {
+ "additionalProperties": false,
+ "properties": {
+ "Args": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Env": {
+ "items": {
+ "$ref": "#/definitions/EksContainerEnvironmentVariable"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImagePullPolicy": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Resources": {
+ "$ref": "#/definitions/EksContainerResourceRequirements"
+ },
+ "SecurityContext": {
+ "$ref": "#/definitions/EksContainerSecurityContext"
+ },
+ "VolumeMounts": {
+ "items": {
+ "$ref": "#/definitions/EksContainerVolumeMount"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "EksContainerEnvironmentVariable": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "EksContainerResourceRequirements": {
+ "additionalProperties": false,
+ "properties": {
+ "Limits": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Requests": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerSecurityContext": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowPrivilegeEscalation": {
+ "type": "boolean"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadOnlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RunAsGroup": {
+ "type": "integer"
+ },
+ "RunAsNonRoot": {
+ "type": "boolean"
+ },
+ "RunAsUser": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerVolumeMount": {
+ "additionalProperties": false,
+ "properties": {
+ "MountPath": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "EksEmptyDir": {
+ "additionalProperties": false,
+ "properties": {
+ "Medium": {
+ "type": "string"
+ },
+ "SizeLimit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksHostPath": {
+ "additionalProperties": false,
+ "properties": {
+ "Path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "PodProperties": {
+ "$ref": "#/definitions/PodProperties"
+ }
+ },
+ "type": "object"
+ },
+ "EksSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Optional": {
+ "type": "boolean"
+ },
+ "SecretName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "SecretName"
+ ],
+ "type": "object"
+ },
+ "EksVolume": {
+ "additionalProperties": false,
+ "properties": {
+ "EmptyDir": {
+ "$ref": "#/definitions/EksEmptyDir"
+ },
+ "HostPath": {
+ "$ref": "#/definitions/EksHostPath"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Secret": {
+ "$ref": "#/definitions/EksSecret"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Environment": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SizeInGiB"
+ ],
+ "type": "object"
+ },
+ "EvaluateOnExit": {
+ "additionalProperties": false,
+ "properties": {
+ "Action": {
+ "type": "string"
+ },
+ "OnExitCode": {
+ "type": "string"
+ },
+ "OnReason": {
+ "type": "string"
+ },
+ "OnStatusReason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Action"
+ ],
+ "type": "object"
+ },
+ "FargatePlatformConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PlatformVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ImagePullSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Devices": {
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "type": "string"
+ },
+ "Options": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretOptions": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "Metadata": {
+ "additionalProperties": false,
+ "properties": {
+ "Labels": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "MountPoints": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AssignPublicIp": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NodeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "MainNode": {
+ "type": "integer"
+ },
+ "NodeRangeProperties": {
+ "items": {
+ "$ref": "#/definitions/NodeRangeProperty"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NumNodes": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "MainNode",
+ "NodeRangeProperties",
+ "NumNodes"
+ ],
+ "type": "object"
+ },
+ "NodeRangeProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "Container": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "InstanceTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TargetNodes": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetNodes"
+ ],
+ "type": "object"
+ },
+ "PodProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsPolicy": {
+ "type": "string"
+ },
+ "HostNetwork": {
+ "type": "boolean"
+ },
+ "ImagePullSecrets": {
+ "items": {
+ "$ref": "#/definitions/ImagePullSecret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitContainers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Metadata": {
+ "$ref": "#/definitions/Metadata"
+ },
+ "ServiceAccountName": {
+ "type": "string"
+ },
+ "ShareProcessNamespace": {
+ "type": "boolean"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/EksVolume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter"
+ ],
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RetryStrategy": {
+ "additionalProperties": false,
+ "properties": {
+ "Attempts": {
+ "type": "integer"
+ },
+ "EvaluateOnExit": {
+ "items": {
+ "$ref": "#/definitions/EvaluateOnExit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ValueFrom",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "TaskContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Condition",
+ "ContainerName"
+ ],
+ "type": "object"
+ },
+ "TaskContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DependsOn": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerDependency"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Timeout": {
+ "additionalProperties": false,
+ "properties": {
+ "AttemptDurationSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size",
+ "ContainerPath"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SoftLimit",
+ "HardLimit",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Volumes": {
+ "additionalProperties": false,
+ "properties": {
+ "EfsVolumeConfiguration": {
+ "$ref": "#/definitions/EfsVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/VolumesHost"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumesHost": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ContainerProperties": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "JobDefinitionName": {
+ "type": "string"
+ },
+ "NodeProperties": {
+ "$ref": "#/definitions/NodeProperties"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "PlatformCapabilities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PropagateTags": {
+ "type": "boolean"
+ },
+ "RetryStrategy": {
+ "$ref": "#/definitions/RetryStrategy"
+ },
+ "SchedulingPriority": {
+ "type": "integer"
+ },
+ "Tags": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Timeout": {
+ "$ref": "#/definitions/Timeout"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Type"
+ ],
+ "typeName": "AWS::Batch::JobDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-cleanroomsml-trainingdataset.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-cleanroomsml-trainingdataset.json
new file mode 100644
index 0000000000..bdb81299cb
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-cleanroomsml-trainingdataset.json
@@ -0,0 +1,249 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/Name",
+ "/properties/RoleArn",
+ "/properties/TrainingData"
+ ],
+ "definitions": {
+ "ColumnSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ },
+ "ColumnTypes": {
+ "items": {
+ "$ref": "#/definitions/ColumnType"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "ColumnTypes"
+ ],
+ "type": "object"
+ },
+ "ColumnType": {
+ "enum": [
+ "USER_ID",
+ "ITEM_ID",
+ "TIMESTAMP",
+ "CATEGORICAL_FEATURE",
+ "NUMERICAL_FEATURE"
+ ],
+ "type": "string"
+ },
+ "DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "GlueDataSource": {
+ "$ref": "#/definitions/GlueDataSource"
+ }
+ },
+ "required": [
+ "GlueDataSource"
+ ],
+ "type": "object"
+ },
+ "Dataset": {
+ "additionalProperties": false,
+ "properties": {
+ "InputConfig": {
+ "$ref": "#/definitions/DatasetInputConfig"
+ },
+ "Type": {
+ "$ref": "#/definitions/DatasetType"
+ }
+ },
+ "required": [
+ "InputConfig",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "DatasetInputConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DataSource": {
+ "$ref": "#/definitions/DataSource"
+ },
+ "Schema": {
+ "items": {
+ "$ref": "#/definitions/ColumnSchema"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "DataSource",
+ "Schema"
+ ],
+ "type": "object"
+ },
+ "DatasetType": {
+ "enum": [
+ "INTERACTIONS"
+ ],
+ "type": "string"
+ },
+ "GlueDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^[0-9]{12}$",
+ "type": "string"
+ },
+ "DatabaseName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_]+-)*([a-zA-Z0-9_]+))?$",
+ "type": "string"
+ },
+ "TableName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DatabaseName",
+ "TableName"
+ ],
+ "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"
+ },
+ "TrainingDatasetStatus": {
+ "enum": [
+ "ACTIVE"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "cleanrooms-ml:CreateTrainingDataset",
+ "cleanrooms-ml:GetTrainingDataset",
+ "cleanrooms-ml:TagResource",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "cleanrooms-ml:DeleteTrainingDataset"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "cleanrooms-ml:ListTrainingDatasets"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "cleanrooms-ml:GetTrainingDataset"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "cleanrooms-ml:TagResource",
+ "cleanrooms-ml:UntagResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/TrainingDatasetArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 255,
+ "pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$",
+ "type": "string"
+ },
+ "RoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[-a-z]*:iam::[0-9]{12}:role/.+$",
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/TrainingDatasetStatus"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TrainingData": {
+ "items": {
+ "$ref": "#/definitions/Dataset"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "TrainingDatasetArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:training-dataset/[-a-zA-Z0-9_/.]+$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Status",
+ "/properties/TrainingDatasetArn"
+ ],
+ "required": [
+ "Name",
+ "RoleArn",
+ "TrainingData"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CleanRoomsML::TrainingDataset"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-codeartifact-packagegroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-codeartifact-packagegroup.json
new file mode 100644
index 0000000000..e562f240ae
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-codeartifact-packagegroup.json
@@ -0,0 +1,195 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainName",
+ "/properties/Pattern"
+ ],
+ "definitions": {
+ "OriginConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "type": "object"
+ }
+ },
+ "required": [
+ "Restrictions"
+ ],
+ "type": "object"
+ },
+ "RestrictionType": {
+ "additionalProperties": false,
+ "properties": {
+ "Repositories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "RestrictionMode": {
+ "enum": [
+ "ALLOW",
+ "BLOCK",
+ "ALLOW_SPECIFIC_REPOSITORIES",
+ "INHERIT"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionMode"
+ ],
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "ExternalUpstream": {
+ "$ref": "#/definitions/RestrictionType",
+ "type": "object"
+ },
+ "InternalUpstream": {
+ "$ref": "#/definitions/RestrictionType",
+ "type": "object"
+ },
+ "Publish": {
+ "$ref": "#/definitions/RestrictionType",
+ "type": "object"
+ }
+ },
+ "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": [
+ "codeartifact:CreatePackageGroup",
+ "codeartifact:DescribePackageGroup",
+ "codeartifact:UpdatePackageGroup",
+ "codeartifact:UpdatePackageGroupOriginConfiguration",
+ "codeartifact:ListAllowedRepositoriesForGroup",
+ "codeartifact:ListTagsForResource",
+ "codeartifact:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "codeartifact:DeletePackageGroup",
+ "codeartifact:DescribePackageGroup"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "DomainName": {
+ "$ref": "resource-schema.json#/properties/DomainName"
+ }
+ },
+ "required": [
+ "DomainName"
+ ]
+ },
+ "permissions": [
+ "codeartifact:ListPackageGroups"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "codeartifact:DescribePackageGroup",
+ "codeartifact:ListAllowedRepositoriesForGroup",
+ "codeartifact:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "codeartifact:UpdatePackageGroup",
+ "codeartifact:UpdatePackageGroupOriginConfiguration",
+ "codeartifact:DescribePackageGroup",
+ "codeartifact:ListAllowedRepositoriesForGroup",
+ "codeartifact:ListTagsForResource",
+ "codeartifact:TagResource",
+ "codeartifact:UntagResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ContactInfo": {
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "DomainName": {
+ "maxLength": 50,
+ "minLength": 2,
+ "pattern": "^([a-z][a-z0-9\\-]{0,48}[a-z0-9])$",
+ "type": "string"
+ },
+ "DomainOwner": {
+ "pattern": "[0-9]{12}",
+ "type": "string"
+ },
+ "OriginConfiguration": {
+ "$ref": "#/definitions/OriginConfiguration",
+ "type": "object"
+ },
+ "Pattern": {
+ "maxLength": 520,
+ "minLength": 2,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "required": [
+ "Pattern",
+ "DomainName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-codeartifact",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CodeArtifact::PackageGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-fms-policy.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-fms-policy.json
new file mode 100644
index 0000000000..8456d02fd6
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-fms-policy.json
@@ -0,0 +1,472 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "AccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^([0-9]*)$",
+ "type": "string"
+ },
+ "Base62Id": {
+ "maxLength": 22,
+ "minLength": 22,
+ "pattern": "^[a-z0-9A-Z]{22}$",
+ "type": "string"
+ },
+ "FirewallDeploymentModel": {
+ "enum": [
+ "DISTRIBUTED",
+ "CENTRALIZED"
+ ],
+ "type": "string"
+ },
+ "IEMap": {
+ "additionalProperties": false,
+ "properties": {
+ "ACCOUNT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/AccountId"
+ },
+ "type": "array"
+ },
+ "ORGUNIT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/OrganizationalUnitId"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedServiceData": {
+ "maxLength": 8192,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NetworkAclCommonPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkAclEntrySet": {
+ "$ref": "#/definitions/NetworkAclEntrySet"
+ }
+ },
+ "required": [
+ "NetworkAclEntrySet"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "CidrBlock": {
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
+ "type": "string"
+ },
+ "Egress": {
+ "type": "boolean"
+ },
+ "IcmpTypeCode": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Code",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Ipv6CidrBlock": {
+ "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(/(1[0-2]|[0-9]))?$",
+ "type": "string"
+ },
+ "PortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "From": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "To": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "From",
+ "To"
+ ],
+ "type": "object"
+ },
+ "Protocol": {
+ "pattern": "^(tcp|udp|icmp|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$",
+ "type": "string"
+ },
+ "RuleAction": {
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Egress",
+ "Protocol",
+ "RuleAction"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntryList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/NetworkAclEntry"
+ },
+ "type": "array"
+ },
+ "NetworkAclEntrySet": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "FirstEntries"
+ ]
+ },
+ {
+ "required": [
+ "LastEntries"
+ ]
+ }
+ ],
+ "properties": {
+ "FirstEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ },
+ "ForceRemediateForFirstEntries": {
+ "type": "boolean"
+ },
+ "ForceRemediateForLastEntries": {
+ "type": "boolean"
+ },
+ "LastEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ }
+ },
+ "required": [
+ "ForceRemediateForFirstEntries",
+ "ForceRemediateForLastEntries"
+ ],
+ "type": "object"
+ },
+ "NetworkFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ },
+ "OrganizationalUnitId": {
+ "maxLength": 68,
+ "minLength": 16,
+ "pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "PolicyOption": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "NetworkFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "ThirdPartyFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "NetworkAclCommonPolicy"
+ ]
+ }
+ ],
+ "properties": {
+ "NetworkAclCommonPolicy": {
+ "$ref": "#/definitions/NetworkAclCommonPolicy"
+ },
+ "NetworkFirewallPolicy": {
+ "$ref": "#/definitions/NetworkFirewallPolicy"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "$ref": "#/definitions/ThirdPartyFirewallPolicy"
+ }
+ },
+ "type": "object"
+ },
+ "PolicyTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "PolicyType": {
+ "enum": [
+ "WAF",
+ "WAFV2",
+ "SHIELD_ADVANCED",
+ "SECURITY_GROUPS_COMMON",
+ "SECURITY_GROUPS_CONTENT_AUDIT",
+ "SECURITY_GROUPS_USAGE_AUDIT",
+ "NETWORK_FIREWALL",
+ "THIRD_PARTY_FIREWALL",
+ "DNS_FIREWALL",
+ "IMPORT_NETWORK_FIREWALL",
+ "NETWORK_ACL_COMMON"
+ ],
+ "type": "string"
+ },
+ "ResourceArn": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "ResourceTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ResourceType": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "SecurityServicePolicyData": {
+ "additionalProperties": false,
+ "properties": {
+ "ManagedServiceData": {
+ "$ref": "#/definitions/ManagedServiceData"
+ },
+ "PolicyOption": {
+ "$ref": "#/definitions/PolicyOption"
+ },
+ "Type": {
+ "$ref": "#/definitions/PolicyType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:TagResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "fms:DeletePolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "fms:ListPolicies",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "fms:GetPolicy",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:GetPolicy",
+ "fms:TagResource",
+ "fms:UntagResource",
+ "fms:ListTagsForResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "$ref": "#/definitions/ResourceArn"
+ },
+ "DeleteAllPolicyResources": {
+ "type": "boolean"
+ },
+ "ExcludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "ExcludeResourceTags": {
+ "type": "boolean"
+ },
+ "Id": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "^[a-z0-9A-Z-]{36}$",
+ "type": "string"
+ },
+ "IncludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "PolicyDescription": {
+ "maxLength": 256,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "PolicyName": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "RemediationEnabled": {
+ "type": "boolean"
+ },
+ "ResourceSetIds": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Base62Id"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ResourceTags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceTag"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "ResourceType": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "ResourceTypeList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "type": "array"
+ },
+ "ResourcesCleanUp": {
+ "type": "boolean"
+ },
+ "SecurityServicePolicyData": {
+ "$ref": "#/definitions/SecurityServicePolicyData"
+ },
+ "Tags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/PolicyTag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Id"
+ ],
+ "required": [
+ "ExcludeResourceTags",
+ "PolicyName",
+ "RemediationEnabled",
+ "SecurityServicePolicyData"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fms.git",
+ "typeName": "AWS::FMS::Policy",
+ "writeOnlyProperties": [
+ "/properties/DeleteAllPolicyResources"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-glue-trigger.json
new file mode 100644
index 0000000000..974dd89b9f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-glue-trigger.json
@@ -0,0 +1,172 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/WorkflowName",
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Action": {
+ "additionalProperties": false,
+ "properties": {
+ "Arguments": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "CrawlerName": {
+ "type": "string"
+ },
+ "JobName": {
+ "type": "string"
+ },
+ "NotificationProperty": {
+ "$ref": "#/definitions/NotificationProperty"
+ },
+ "SecurityConfiguration": {
+ "type": "string"
+ },
+ "Timeout": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Condition": {
+ "additionalProperties": false,
+ "properties": {
+ "CrawlState": {
+ "type": "string"
+ },
+ "CrawlerName": {
+ "type": "string"
+ },
+ "JobName": {
+ "type": "string"
+ },
+ "LogicalOperator": {
+ "enum": [
+ "EQUALS"
+ ],
+ "type": "string"
+ },
+ "State": {
+ "enum": [
+ "SUCCEEDED",
+ "STOPPED",
+ "TIMEOUT",
+ "FAILED"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EventBatchingCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "BatchSize": {
+ "type": "integer"
+ },
+ "BatchWindow": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "BatchSize"
+ ],
+ "type": "object"
+ },
+ "NotificationProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "NotifyDelayAfter": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Predicate": {
+ "additionalProperties": false,
+ "properties": {
+ "Conditions": {
+ "items": {
+ "$ref": "#/definitions/Condition"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Logical": {
+ "enum": [
+ "AND",
+ "ANY"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Actions": {
+ "items": {
+ "$ref": "#/definitions/Action"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "EventBatchingCondition": {
+ "$ref": "#/definitions/EventBatchingCondition"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Predicate": {
+ "$ref": "#/definitions/Predicate"
+ },
+ "Schedule": {
+ "type": "string"
+ },
+ "StartOnCreation": {
+ "type": "boolean"
+ },
+ "Tags": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Type": {
+ "enum": [
+ "CONDITIONAL",
+ "EVENT",
+ "ON_DEMAND",
+ "SCHEDULED"
+ ],
+ "type": "string"
+ },
+ "WorkflowName": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Type",
+ "Actions"
+ ],
+ "typeName": "AWS::Glue::Trigger"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-organizations-organization.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-organizations-organization.json
deleted file mode 100644
index 844033a13a..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-organizations-organization.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "handlers": {
- "create": {
- "permissions": [
- "organizations:CreateOrganization",
- "organizations:DescribeOrganization",
- "iam:CreateServiceLinkedRole",
- "organizations:ListRoots"
- ]
- },
- "delete": {
- "permissions": [
- "organizations:DeleteOrganization",
- "organizations:DescribeOrganization"
- ]
- },
- "list": {
- "permissions": [
- "organizations:DescribeOrganization"
- ]
- },
- "read": {
- "permissions": [
- "organizations:DescribeOrganization",
- "organizations:ListRoots"
- ]
- },
- "update": {
- "permissions": [
- "organizations:DescribeOrganization"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "pattern": "^arn:aws.*:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}",
- "type": "string"
- },
- "FeatureSet": {
- "default": "ALL",
- "enum": [
- "ALL",
- "CONSOLIDATED_BILLING"
- ],
- "type": "string"
- },
- "Id": {
- "pattern": "^o-[a-z0-9]{10,32}$",
- "type": "string"
- },
- "ManagementAccountArn": {
- "pattern": "^arn:aws.*:organizations::\\d{12}:account\\/o-[a-z0-9]{10,32}\\/\\d{12}",
- "type": "string"
- },
- "ManagementAccountEmail": {
- "maxLength": 64,
- "minLength": 6,
- "pattern": "[^\\s@]+@[^\\s@]+\\.[^\\s@]+",
- "type": "string"
- },
- "ManagementAccountId": {
- "pattern": "^\\d{12}$",
- "type": "string"
- },
- "RootId": {
- "maxLength": 64,
- "pattern": "^r-[0-9a-z]{4,32}$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn",
- "/properties/ManagementAccountArn",
- "/properties/ManagementAccountId",
- "/properties/ManagementAccountEmail",
- "/properties/RootId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations.git",
- "tagging": {
- "taggable": false
- },
- "typeName": "AWS::Organizations::Organization"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-integration.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-integration.json
new file mode 100644
index 0000000000..8bb00c0dfe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-integration.json
@@ -0,0 +1,154 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SourceArn",
+ "/properties/TargetArn",
+ "/properties/KMSKeyId",
+ "/properties/AdditionalEncryptionContext"
+ ],
+ "definitions": {
+ "EncryptionContextMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[\\s\\S]*$": {
+ "maxLength": 131072,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateIntegration",
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "redshift:CreateInboundIntegration"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DeleteIntegration",
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "rds:RemoveTagsFromResource",
+ "rds:ModifyIntegration"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IntegrationArn"
+ ],
+ "properties": {
+ "AdditionalEncryptionContext": {
+ "$ref": "#/definitions/EncryptionContextMap"
+ },
+ "CreateTime": {
+ "type": "string"
+ },
+ "DataFilter": {
+ "maxLength": 25600,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9_ \"\\\\\\-$,*.:?+\\/]*",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IntegrationArn": {
+ "type": "string"
+ },
+ "IntegrationName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KMSKeyId": {
+ "type": "string"
+ },
+ "SourceArn": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetArn": {
+ "type": "string"
+ }
+ },
+ "propertyTransform": {
+ "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])",
+ "/properties/SourceArn": "$lowercase(SourceArn)"
+ },
+ "readOnlyProperties": [
+ "/properties/IntegrationArn",
+ "/properties/CreateTime"
+ ],
+ "required": [
+ "SourceArn",
+ "TargetArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RDS::Integration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-app.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-app.json
new file mode 100644
index 0000000000..d565ffb835
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-app.json
@@ -0,0 +1,210 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/Tags",
+ "/properties/ResourceSpec"
+ ],
+ "definitions": {
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListApps"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeApp",
+ "sagemaker:DescribeApp"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName"
+ ],
+ "properties": {
+ "AppArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:app/.*",
+ "type": "string"
+ },
+ "AppName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/AppArn"
+ ],
+ "required": [
+ "AppName",
+ "AppType",
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::App",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-domain.json
new file mode 100644
index 0000000000..5cd4ea45fa
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-domain.json
@@ -0,0 +1,831 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AuthMode",
+ "/properties/DomainName",
+ "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
+ "/properties/KmsKeyId",
+ "/properties/VpcId",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableDockerAccess": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "VpcOnlyTrustedAccounts": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^\\d+$",
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "DomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DockerSettings": {
+ "$ref": "#/definitions/DockerSettings"
+ },
+ "RStudioServerProDomainSettings": {
+ "$ref": "#/definitions/RStudioServerProDomainSettings"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RSessionAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProDomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "DomainExecutionRoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "RStudioConnectUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ },
+ "RStudioPackageManagerUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DomainExecutionRoleArn"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "LifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RSessionAppSettings": {
+ "$ref": "#/definitions/RSessionAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:CreateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "efs:CreateFileSystem",
+ "kms:CreateGrant",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "kms:GenerateDataKeyWithoutPlainText"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DeleteDomain",
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListDomains"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:UpdateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "AppNetworkAccessType": {
+ "enum": [
+ "PublicInternetOnly",
+ "VpcOnly"
+ ],
+ "type": "string"
+ },
+ "AppSecurityGroupManagement": {
+ "enum": [
+ "Service",
+ "Customer"
+ ],
+ "type": "string"
+ },
+ "AuthMode": {
+ "enum": [
+ "SSO",
+ "IAM"
+ ],
+ "type": "string"
+ },
+ "DefaultSpaceSettings": {
+ "$ref": "#/definitions/DefaultSpaceSettings"
+ },
+ "DefaultUserSettings": {
+ "$ref": "#/definitions/UserSettings"
+ },
+ "DomainArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "pattern": "^d-(-*[a-z0-9])+",
+ "type": "string"
+ },
+ "DomainName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "DomainSettings": {
+ "$ref": "#/definitions/DomainSettings"
+ },
+ "HomeEfsFileSystemId": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "SecurityGroupIdForDomainBoundary": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "SingleSignOnApplicationArn": {
+ "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "SingleSignOnManagedApplicationInstanceId": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/DomainArn",
+ "/properties/Url",
+ "/properties/DomainId",
+ "/properties/HomeEfsFileSystemId",
+ "/properties/SecurityGroupIdForDomainBoundary",
+ "/properties/SingleSignOnManagedApplicationInstanceId",
+ "/properties/SingleSignOnApplicationArn"
+ ],
+ "required": [
+ "AuthMode",
+ "DefaultUserSettings",
+ "DomainName",
+ "SubnetIds",
+ "VpcId"
+ ],
+ "typeName": "AWS::SageMaker::Domain",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-model.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-model.json
new file mode 100644
index 0000000000..ef768bc0ed
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-model.json
@@ -0,0 +1,235 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ExecutionRoleArn",
+ "/properties/EnableNetworkIsolation",
+ "/properties/InferenceExecutionConfig",
+ "/properties/PrimaryContainer",
+ "/properties/ModelName",
+ "/properties/VpcConfig",
+ "/properties/Containers"
+ ],
+ "definitions": {
+ "ContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerHostname": {
+ "type": "string"
+ },
+ "Environment": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImageConfig": {
+ "$ref": "#/definitions/ImageConfig"
+ },
+ "InferenceSpecificationName": {
+ "type": "string"
+ },
+ "Mode": {
+ "type": "string"
+ },
+ "ModelDataSource": {
+ "$ref": "#/definitions/ModelDataSource"
+ },
+ "ModelDataUrl": {
+ "type": "string"
+ },
+ "ModelPackageName": {
+ "type": "string"
+ },
+ "MultiModelConfig": {
+ "$ref": "#/definitions/MultiModelConfig"
+ }
+ },
+ "type": "object"
+ },
+ "ImageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryAccessMode": {
+ "type": "string"
+ },
+ "RepositoryAuthConfig": {
+ "$ref": "#/definitions/RepositoryAuthConfig"
+ }
+ },
+ "required": [
+ "RepositoryAccessMode"
+ ],
+ "type": "object"
+ },
+ "InferenceExecutionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Mode": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Mode"
+ ],
+ "type": "object"
+ },
+ "ModelAccessConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AcceptEula": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "AcceptEula"
+ ],
+ "type": "object"
+ },
+ "ModelDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "S3DataSource": {
+ "$ref": "#/definitions/S3DataSource"
+ }
+ },
+ "required": [
+ "S3DataSource"
+ ],
+ "type": "object"
+ },
+ "MultiModelConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ModelCacheSetting": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryAuthConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryCredentialsProviderArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryCredentialsProviderArn"
+ ],
+ "type": "object"
+ },
+ "S3DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CompressionType": {
+ "type": "string"
+ },
+ "ModelAccessConfig": {
+ "$ref": "#/definitions/ModelAccessConfig"
+ },
+ "S3DataType": {
+ "type": "string"
+ },
+ "S3Uri": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Uri",
+ "S3DataType",
+ "CompressionType"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "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",
+ "uniqueItems": false
+ },
+ "Subnets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Subnets",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EnableNetworkIsolation": {
+ "type": "boolean"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "InferenceExecutionConfig": {
+ "$ref": "#/definitions/InferenceExecutionConfig"
+ },
+ "ModelName": {
+ "type": "string"
+ },
+ "PrimaryContainer": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "typeName": "AWS::SageMaker::Model"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-space.json
new file mode 100644
index 0000000000..1ad92e7aa4
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-space.json
@@ -0,0 +1,436 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/SpaceName",
+ "/properties/SpaceSharingSettings",
+ "/properties/OwnershipSettings"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "TensorBoard",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "JupyterLab",
+ "CodeEditor"
+ ],
+ "type": "string"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystem": {
+ "$ref": "#/definitions/EFSFileSystem"
+ }
+ },
+ "type": "object"
+ },
+ "CustomFileSystems": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystem"
+ },
+ "maxItems": 1,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "EFSFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "EbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "OwnershipSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "OwnerUserProfileName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "required": [
+ "OwnerUserProfileName"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceCodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "SpaceJupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AppType": {
+ "$ref": "#/definitions/AppType"
+ },
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/SpaceCodeEditorAppSettings"
+ },
+ "CustomFileSystems": {
+ "$ref": "#/definitions/CustomFileSystems"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/SpaceJupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/SpaceStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SharingType": {
+ "enum": [
+ "Private",
+ "Shared"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "SharingType"
+ ],
+ "type": "object"
+ },
+ "SpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsStorageSettings": {
+ "$ref": "#/definitions/EbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListSpaces"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId",
+ "/properties/SpaceName"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "OwnershipSettings": {
+ "$ref": "#/definitions/OwnershipSettings"
+ },
+ "SpaceArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*",
+ "type": "string"
+ },
+ "SpaceDisplayName": {
+ "maxLength": 64,
+ "pattern": "^(?!\\s*$).+",
+ "type": "string"
+ },
+ "SpaceName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SpaceSettings": {
+ "$ref": "#/definitions/SpaceSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ },
+ "SpaceSharingSettings": {
+ "$ref": "#/definitions/SpaceSharingSettings"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/SpaceArn",
+ "/properties/Url"
+ ],
+ "required": [
+ "DomainId",
+ "SpaceName"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::SageMaker::Space",
+ "writeOnlyProperties": [
+ "/properties/SpaceSettings",
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-userprofile.json
new file mode 100644
index 0000000000..c2c0daf9fe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-userprofile.json
@@ -0,0 +1,592 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/SingleSignOnUserIdentifier",
+ "/properties/SingleSignOnUserValue",
+ "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
+ "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteUserProfile",
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListUserProfiles"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/UserProfileName",
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SingleSignOnUserIdentifier": {
+ "pattern": "UserName",
+ "type": "string"
+ },
+ "SingleSignOnUserValue": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
+ "type": "string"
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "UserSettings": {
+ "$ref": "#/definitions/UserSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/UserProfileArn"
+ ],
+ "required": [
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::UserProfile",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-stepfunctions-activity.json
deleted file mode 100644
index 7aaf191ed1..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-stepfunctions-activity.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateActivity",
- "states:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "states:DescribeActivity",
- "states:DeleteActivity"
- ]
- },
- "list": {
- "permissions": [
- "states:ListActivities"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeActivity",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:ListTagsForResource",
- "states:TagResource",
- "states:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::Activity"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-stepfunctions-statemachine.json
deleted file mode 100644
index c8a1b0f42e..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-stepfunctions-statemachine.json
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/StateMachineName"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/StateMachineName",
- "/properties/StateMachineType"
- ],
- "definitions": {
- "CloudWatchLogsLogGroup": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- },
- "Definition": {
- "minProperties": 1,
- "type": "object"
- },
- "DefinitionSubstitutions": {
- "additionalProperties": false,
- "minProperties": 1,
- "patternProperties": {
- ".*": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- },
- {
- "type": "boolean"
- }
- ]
- }
- },
- "type": "object"
- },
- "LogDestination": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsLogGroup": {
- "$ref": "#/definitions/CloudWatchLogsLogGroup"
- }
- },
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destinations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LogDestination"
- },
- "minItems": 1,
- "type": "array"
- },
- "IncludeExecutionData": {
- "type": "boolean"
- },
- "Level": {
- "enum": [
- "ALL",
- "ERROR",
- "FATAL",
- "OFF"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "S3Location": {
- "additionalProperties": false,
- "properties": {
- "Bucket": {
- "type": "string"
- },
- "Key": {
- "type": "string"
- },
- "Version": {
- "type": "string"
- }
- },
- "required": [
- "Bucket",
- "Key"
- ],
- "type": "object"
- },
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TracingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Enabled": {
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateStateMachine",
- "states:DescribeStateMachine",
- "states:TagResource",
- "iam:PassRole",
- "s3:GetObject"
- ]
- },
- "delete": {
- "permissions": [
- "states:DeleteStateMachine",
- "states:DescribeStateMachine"
- ]
- },
- "list": {
- "permissions": [
- "states:ListStateMachines"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeStateMachine",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:UpdateStateMachine",
- "states:TagResource",
- "states:UntagResource",
- "states:ListTagsForResource",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/Definition"
- },
- "DefinitionS3Location": {
- "$ref": "#/definitions/S3Location"
- },
- "DefinitionString": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "DefinitionSubstitutions": {
- "$ref": "#/definitions/DefinitionSubstitutions"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineName": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineRevisionId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineType": {
- "enum": [
- "STANDARD",
- "EXPRESS"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TracingConfiguration": {
- "$ref": "#/definitions/TracingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/Name",
- "/properties/StateMachineRevisionId"
- ],
- "required": [
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::StateMachine",
- "writeOnlyProperties": [
- "/properties/Definition",
- "/properties/DefinitionS3Location",
- "/properties/DefinitionSubstitutions"
- ]
-}
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 8043862667..9c7276cf11 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py
@@ -134,9 +134,14 @@
"AWS::Bedrock::Agent",
"AWS::Bedrock::AgentAlias",
"AWS::Bedrock::DataSource",
+ "AWS::Bedrock::Flow",
+ "AWS::Bedrock::FlowAlias",
+ "AWS::Bedrock::FlowVersion",
"AWS::Bedrock::Guardrail",
"AWS::Bedrock::GuardrailVersion",
"AWS::Bedrock::KnowledgeBase",
+ "AWS::Bedrock::Prompt",
+ "AWS::Bedrock::PromptVersion",
"AWS::Budgets::Budget",
"AWS::Budgets::BudgetsAction",
"AWS::CDK::Metadata",
@@ -1318,7 +1323,6 @@
"aws-aps-rulegroupsnamespace.json",
"aws-aps-scraper.json",
"aws-aps-workspace.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-capacityreservation.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
@@ -1341,15 +1345,19 @@
"aws-backup-restoretestingselection.json",
"aws-backupgateway-hypervisor.json",
"aws-batch-computeenvironment.json",
- "aws-batch-jobdefinition.json",
"aws-batch-jobqueue.json",
"aws-batch-schedulingpolicy.json",
"aws-bedrock-agent.json",
"aws-bedrock-agentalias.json",
"aws-bedrock-datasource.json",
+ "aws-bedrock-flow.json",
+ "aws-bedrock-flowalias.json",
+ "aws-bedrock-flowversion.json",
"aws-bedrock-guardrail.json",
"aws-bedrock-guardrailversion.json",
"aws-bedrock-knowledgebase.json",
+ "aws-bedrock-prompt.json",
+ "aws-bedrock-promptversion.json",
"aws-budgets-budget.json",
"aws-budgets-budgetsaction.json",
"aws-cassandra-keyspace.json",
@@ -1367,7 +1375,6 @@
"aws-cleanrooms-configuredtableassociation.json",
"aws-cleanrooms-membership.json",
"aws-cleanrooms-privacybudgettemplate.json",
- "aws-cleanroomsml-trainingdataset.json",
"aws-cloud9-environmentec2.json",
"aws-cloudformation-customresource.json",
"aws-cloudformation-hookdefaultversion.json",
@@ -1410,7 +1417,6 @@
"aws-cloudwatch-insightrule.json",
"aws-cloudwatch-metricstream.json",
"aws-codeartifact-domain.json",
- "aws-codeartifact-packagegroup.json",
"aws-codeartifact-repository.json",
"aws-codebuild-fleet.json",
"aws-codebuild-project.json",
@@ -1723,7 +1729,6 @@
"aws-fis-experimenttemplate.json",
"aws-fis-targetaccountconfiguration.json",
"aws-fms-notificationchannel.json",
- "aws-fms-policy.json",
"aws-fms-resourceset.json",
"aws-forecast-dataset.json",
"aws-forecast-datasetgroup.json",
@@ -1770,7 +1775,6 @@
"aws-glue-schemaversionmetadata.json",
"aws-glue-securityconfiguration.json",
"aws-glue-table.json",
- "aws-glue-trigger.json",
"aws-glue-workflow.json",
"aws-grafana-workspace.json",
"aws-greengrass-connectordefinition.json",
@@ -1906,7 +1910,6 @@
"aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.json",
"aws-kinesisanalyticsv2-applicationoutput.json",
"aws-kinesisanalyticsv2-applicationreferencedatasource.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kinesisvideo-signalingchannel.json",
"aws-kinesisvideo-stream.json",
"aws-kms-alias.json",
@@ -2064,6 +2067,7 @@
"aws-opsworks-volume.json",
"aws-opsworkscm-server.json",
"aws-organizations-account.json",
+ "aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
"aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
@@ -2132,7 +2136,6 @@
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
"aws-rds-globalcluster.json",
- "aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
"aws-redshift-clusterparametergroup.json",
@@ -2198,11 +2201,9 @@
"aws-s3outposts-bucket.json",
"aws-s3outposts-bucketpolicy.json",
"aws-s3outposts-endpoint.json",
- "aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-coderepository.json",
"aws-sagemaker-dataqualityjobdefinition.json",
- "aws-sagemaker-domain.json",
"aws-sagemaker-endpoint.json",
"aws-sagemaker-endpointconfig.json",
"aws-sagemaker-featuregroup.json",
@@ -2211,7 +2212,6 @@
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
"aws-sagemaker-mlflowtrackingserver.json",
- "aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelexplainabilityjobdefinition.json",
@@ -2223,8 +2223,6 @@
"aws-sagemaker-notebookinstancelifecycleconfig.json",
"aws-sagemaker-pipeline.json",
"aws-sagemaker-project.json",
- "aws-sagemaker-space.json",
- "aws-sagemaker-userprofile.json",
"aws-sagemaker-workteam.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
@@ -2324,6 +2322,8 @@
"aws-sso-instance.json",
"aws-sso-instanceaccesscontrolattributeconfiguration.json",
"aws-sso-permissionset.json",
+ "aws-stepfunctions-activity.json",
+ "aws-stepfunctions-statemachine.json",
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-batch-jobdefinition.json
new file mode 100644
index 0000000000..2d82031cd0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-batch-jobdefinition.json
@@ -0,0 +1,992 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Tags",
+ "/properties/JobDefinitionName"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "Iam": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "FargatePlatformConfiguration": {
+ "$ref": "#/definitions/FargatePlatformConfiguration"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "items": {
+ "$ref": "#/definitions/EcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "EcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "PlatformVersion": {
+ "type": "string"
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EfsVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EksContainer": {
+ "additionalProperties": false,
+ "properties": {
+ "Args": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Env": {
+ "items": {
+ "$ref": "#/definitions/EksContainerEnvironmentVariable"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImagePullPolicy": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Resources": {
+ "$ref": "#/definitions/EksContainerResourceRequirements"
+ },
+ "SecurityContext": {
+ "$ref": "#/definitions/EksContainerSecurityContext"
+ },
+ "VolumeMounts": {
+ "items": {
+ "$ref": "#/definitions/EksContainerVolumeMount"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "EksContainerEnvironmentVariable": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "EksContainerResourceRequirements": {
+ "additionalProperties": false,
+ "properties": {
+ "Limits": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Requests": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerSecurityContext": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowPrivilegeEscalation": {
+ "type": "boolean"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadOnlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RunAsGroup": {
+ "type": "integer"
+ },
+ "RunAsNonRoot": {
+ "type": "boolean"
+ },
+ "RunAsUser": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerVolumeMount": {
+ "additionalProperties": false,
+ "properties": {
+ "MountPath": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "EksEmptyDir": {
+ "additionalProperties": false,
+ "properties": {
+ "Medium": {
+ "type": "string"
+ },
+ "SizeLimit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksHostPath": {
+ "additionalProperties": false,
+ "properties": {
+ "Path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "PodProperties": {
+ "$ref": "#/definitions/PodProperties"
+ }
+ },
+ "type": "object"
+ },
+ "EksSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Optional": {
+ "type": "boolean"
+ },
+ "SecretName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "SecretName"
+ ],
+ "type": "object"
+ },
+ "EksVolume": {
+ "additionalProperties": false,
+ "properties": {
+ "EmptyDir": {
+ "$ref": "#/definitions/EksEmptyDir"
+ },
+ "HostPath": {
+ "$ref": "#/definitions/EksHostPath"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Secret": {
+ "$ref": "#/definitions/EksSecret"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Environment": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SizeInGiB"
+ ],
+ "type": "object"
+ },
+ "EvaluateOnExit": {
+ "additionalProperties": false,
+ "properties": {
+ "Action": {
+ "type": "string"
+ },
+ "OnExitCode": {
+ "type": "string"
+ },
+ "OnReason": {
+ "type": "string"
+ },
+ "OnStatusReason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Action"
+ ],
+ "type": "object"
+ },
+ "FargatePlatformConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PlatformVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ImagePullSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Devices": {
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "type": "string"
+ },
+ "Options": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretOptions": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "Metadata": {
+ "additionalProperties": false,
+ "properties": {
+ "Labels": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "MountPoints": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AssignPublicIp": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NodeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "MainNode": {
+ "type": "integer"
+ },
+ "NodeRangeProperties": {
+ "items": {
+ "$ref": "#/definitions/NodeRangeProperty"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NumNodes": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "MainNode",
+ "NodeRangeProperties",
+ "NumNodes"
+ ],
+ "type": "object"
+ },
+ "NodeRangeProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "Container": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "InstanceTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TargetNodes": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetNodes"
+ ],
+ "type": "object"
+ },
+ "PodProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsPolicy": {
+ "type": "string"
+ },
+ "HostNetwork": {
+ "type": "boolean"
+ },
+ "ImagePullSecrets": {
+ "items": {
+ "$ref": "#/definitions/ImagePullSecret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitContainers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Metadata": {
+ "$ref": "#/definitions/Metadata"
+ },
+ "ServiceAccountName": {
+ "type": "string"
+ },
+ "ShareProcessNamespace": {
+ "type": "boolean"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/EksVolume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter"
+ ],
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RetryStrategy": {
+ "additionalProperties": false,
+ "properties": {
+ "Attempts": {
+ "type": "integer"
+ },
+ "EvaluateOnExit": {
+ "items": {
+ "$ref": "#/definitions/EvaluateOnExit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ValueFrom",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "TaskContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Condition",
+ "ContainerName"
+ ],
+ "type": "object"
+ },
+ "TaskContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DependsOn": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerDependency"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Timeout": {
+ "additionalProperties": false,
+ "properties": {
+ "AttemptDurationSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size",
+ "ContainerPath"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SoftLimit",
+ "HardLimit",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Volumes": {
+ "additionalProperties": false,
+ "properties": {
+ "EfsVolumeConfiguration": {
+ "$ref": "#/definitions/EfsVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/VolumesHost"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumesHost": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ContainerProperties": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "JobDefinitionName": {
+ "type": "string"
+ },
+ "NodeProperties": {
+ "$ref": "#/definitions/NodeProperties"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "PlatformCapabilities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PropagateTags": {
+ "type": "boolean"
+ },
+ "RetryStrategy": {
+ "$ref": "#/definitions/RetryStrategy"
+ },
+ "SchedulingPriority": {
+ "type": "integer"
+ },
+ "Tags": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Timeout": {
+ "$ref": "#/definitions/Timeout"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Type"
+ ],
+ "typeName": "AWS::Batch::JobDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cleanroomsml-trainingdataset.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cleanroomsml-trainingdataset.json
new file mode 100644
index 0000000000..bdb81299cb
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cleanroomsml-trainingdataset.json
@@ -0,0 +1,249 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/Name",
+ "/properties/RoleArn",
+ "/properties/TrainingData"
+ ],
+ "definitions": {
+ "ColumnSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ },
+ "ColumnTypes": {
+ "items": {
+ "$ref": "#/definitions/ColumnType"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "ColumnTypes"
+ ],
+ "type": "object"
+ },
+ "ColumnType": {
+ "enum": [
+ "USER_ID",
+ "ITEM_ID",
+ "TIMESTAMP",
+ "CATEGORICAL_FEATURE",
+ "NUMERICAL_FEATURE"
+ ],
+ "type": "string"
+ },
+ "DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "GlueDataSource": {
+ "$ref": "#/definitions/GlueDataSource"
+ }
+ },
+ "required": [
+ "GlueDataSource"
+ ],
+ "type": "object"
+ },
+ "Dataset": {
+ "additionalProperties": false,
+ "properties": {
+ "InputConfig": {
+ "$ref": "#/definitions/DatasetInputConfig"
+ },
+ "Type": {
+ "$ref": "#/definitions/DatasetType"
+ }
+ },
+ "required": [
+ "InputConfig",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "DatasetInputConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DataSource": {
+ "$ref": "#/definitions/DataSource"
+ },
+ "Schema": {
+ "items": {
+ "$ref": "#/definitions/ColumnSchema"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "DataSource",
+ "Schema"
+ ],
+ "type": "object"
+ },
+ "DatasetType": {
+ "enum": [
+ "INTERACTIONS"
+ ],
+ "type": "string"
+ },
+ "GlueDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^[0-9]{12}$",
+ "type": "string"
+ },
+ "DatabaseName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_]+-)*([a-zA-Z0-9_]+))?$",
+ "type": "string"
+ },
+ "TableName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DatabaseName",
+ "TableName"
+ ],
+ "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"
+ },
+ "TrainingDatasetStatus": {
+ "enum": [
+ "ACTIVE"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "cleanrooms-ml:CreateTrainingDataset",
+ "cleanrooms-ml:GetTrainingDataset",
+ "cleanrooms-ml:TagResource",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "cleanrooms-ml:DeleteTrainingDataset"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "cleanrooms-ml:ListTrainingDatasets"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "cleanrooms-ml:GetTrainingDataset"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "cleanrooms-ml:TagResource",
+ "cleanrooms-ml:UntagResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/TrainingDatasetArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 255,
+ "pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$",
+ "type": "string"
+ },
+ "RoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[-a-z]*:iam::[0-9]{12}:role/.+$",
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/TrainingDatasetStatus"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TrainingData": {
+ "items": {
+ "$ref": "#/definitions/Dataset"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "TrainingDatasetArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:training-dataset/[-a-zA-Z0-9_/.]+$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Status",
+ "/properties/TrainingDatasetArn"
+ ],
+ "required": [
+ "Name",
+ "RoleArn",
+ "TrainingData"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CleanRoomsML::TrainingDataset"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-codeartifact-packagegroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-codeartifact-packagegroup.json
new file mode 100644
index 0000000000..e562f240ae
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-codeartifact-packagegroup.json
@@ -0,0 +1,195 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainName",
+ "/properties/Pattern"
+ ],
+ "definitions": {
+ "OriginConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Restrictions": {
+ "$ref": "#/definitions/Restrictions",
+ "type": "object"
+ }
+ },
+ "required": [
+ "Restrictions"
+ ],
+ "type": "object"
+ },
+ "RestrictionType": {
+ "additionalProperties": false,
+ "properties": {
+ "Repositories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "RestrictionMode": {
+ "enum": [
+ "ALLOW",
+ "BLOCK",
+ "ALLOW_SPECIFIC_REPOSITORIES",
+ "INHERIT"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "RestrictionMode"
+ ],
+ "type": "object"
+ },
+ "Restrictions": {
+ "additionalProperties": false,
+ "properties": {
+ "ExternalUpstream": {
+ "$ref": "#/definitions/RestrictionType",
+ "type": "object"
+ },
+ "InternalUpstream": {
+ "$ref": "#/definitions/RestrictionType",
+ "type": "object"
+ },
+ "Publish": {
+ "$ref": "#/definitions/RestrictionType",
+ "type": "object"
+ }
+ },
+ "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": [
+ "codeartifact:CreatePackageGroup",
+ "codeartifact:DescribePackageGroup",
+ "codeartifact:UpdatePackageGroup",
+ "codeartifact:UpdatePackageGroupOriginConfiguration",
+ "codeartifact:ListAllowedRepositoriesForGroup",
+ "codeartifact:ListTagsForResource",
+ "codeartifact:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "codeartifact:DeletePackageGroup",
+ "codeartifact:DescribePackageGroup"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "DomainName": {
+ "$ref": "resource-schema.json#/properties/DomainName"
+ }
+ },
+ "required": [
+ "DomainName"
+ ]
+ },
+ "permissions": [
+ "codeartifact:ListPackageGroups"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "codeartifact:DescribePackageGroup",
+ "codeartifact:ListAllowedRepositoriesForGroup",
+ "codeartifact:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "codeartifact:UpdatePackageGroup",
+ "codeartifact:UpdatePackageGroupOriginConfiguration",
+ "codeartifact:DescribePackageGroup",
+ "codeartifact:ListAllowedRepositoriesForGroup",
+ "codeartifact:ListTagsForResource",
+ "codeartifact:TagResource",
+ "codeartifact:UntagResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ContactInfo": {
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "DomainName": {
+ "maxLength": 50,
+ "minLength": 2,
+ "pattern": "^([a-z][a-z0-9\\-]{0,48}[a-z0-9])$",
+ "type": "string"
+ },
+ "DomainOwner": {
+ "pattern": "[0-9]{12}",
+ "type": "string"
+ },
+ "OriginConfiguration": {
+ "$ref": "#/definitions/OriginConfiguration",
+ "type": "object"
+ },
+ "Pattern": {
+ "maxLength": 520,
+ "minLength": 2,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "required": [
+ "Pattern",
+ "DomainName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-codeartifact",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CodeArtifact::PackageGroup"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-fms-policy.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-fms-policy.json
new file mode 100644
index 0000000000..8456d02fd6
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-fms-policy.json
@@ -0,0 +1,472 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "AccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^([0-9]*)$",
+ "type": "string"
+ },
+ "Base62Id": {
+ "maxLength": 22,
+ "minLength": 22,
+ "pattern": "^[a-z0-9A-Z]{22}$",
+ "type": "string"
+ },
+ "FirewallDeploymentModel": {
+ "enum": [
+ "DISTRIBUTED",
+ "CENTRALIZED"
+ ],
+ "type": "string"
+ },
+ "IEMap": {
+ "additionalProperties": false,
+ "properties": {
+ "ACCOUNT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/AccountId"
+ },
+ "type": "array"
+ },
+ "ORGUNIT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/OrganizationalUnitId"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedServiceData": {
+ "maxLength": 8192,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NetworkAclCommonPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkAclEntrySet": {
+ "$ref": "#/definitions/NetworkAclEntrySet"
+ }
+ },
+ "required": [
+ "NetworkAclEntrySet"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "CidrBlock": {
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
+ "type": "string"
+ },
+ "Egress": {
+ "type": "boolean"
+ },
+ "IcmpTypeCode": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Code",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Ipv6CidrBlock": {
+ "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(/(1[0-2]|[0-9]))?$",
+ "type": "string"
+ },
+ "PortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "From": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "To": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "From",
+ "To"
+ ],
+ "type": "object"
+ },
+ "Protocol": {
+ "pattern": "^(tcp|udp|icmp|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$",
+ "type": "string"
+ },
+ "RuleAction": {
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Egress",
+ "Protocol",
+ "RuleAction"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntryList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/NetworkAclEntry"
+ },
+ "type": "array"
+ },
+ "NetworkAclEntrySet": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "FirstEntries"
+ ]
+ },
+ {
+ "required": [
+ "LastEntries"
+ ]
+ }
+ ],
+ "properties": {
+ "FirstEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ },
+ "ForceRemediateForFirstEntries": {
+ "type": "boolean"
+ },
+ "ForceRemediateForLastEntries": {
+ "type": "boolean"
+ },
+ "LastEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ }
+ },
+ "required": [
+ "ForceRemediateForFirstEntries",
+ "ForceRemediateForLastEntries"
+ ],
+ "type": "object"
+ },
+ "NetworkFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ },
+ "OrganizationalUnitId": {
+ "maxLength": 68,
+ "minLength": 16,
+ "pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "PolicyOption": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "NetworkFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "ThirdPartyFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "NetworkAclCommonPolicy"
+ ]
+ }
+ ],
+ "properties": {
+ "NetworkAclCommonPolicy": {
+ "$ref": "#/definitions/NetworkAclCommonPolicy"
+ },
+ "NetworkFirewallPolicy": {
+ "$ref": "#/definitions/NetworkFirewallPolicy"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "$ref": "#/definitions/ThirdPartyFirewallPolicy"
+ }
+ },
+ "type": "object"
+ },
+ "PolicyTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "PolicyType": {
+ "enum": [
+ "WAF",
+ "WAFV2",
+ "SHIELD_ADVANCED",
+ "SECURITY_GROUPS_COMMON",
+ "SECURITY_GROUPS_CONTENT_AUDIT",
+ "SECURITY_GROUPS_USAGE_AUDIT",
+ "NETWORK_FIREWALL",
+ "THIRD_PARTY_FIREWALL",
+ "DNS_FIREWALL",
+ "IMPORT_NETWORK_FIREWALL",
+ "NETWORK_ACL_COMMON"
+ ],
+ "type": "string"
+ },
+ "ResourceArn": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "ResourceTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ResourceType": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "SecurityServicePolicyData": {
+ "additionalProperties": false,
+ "properties": {
+ "ManagedServiceData": {
+ "$ref": "#/definitions/ManagedServiceData"
+ },
+ "PolicyOption": {
+ "$ref": "#/definitions/PolicyOption"
+ },
+ "Type": {
+ "$ref": "#/definitions/PolicyType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:TagResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "fms:DeletePolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "fms:ListPolicies",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "fms:GetPolicy",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:GetPolicy",
+ "fms:TagResource",
+ "fms:UntagResource",
+ "fms:ListTagsForResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "$ref": "#/definitions/ResourceArn"
+ },
+ "DeleteAllPolicyResources": {
+ "type": "boolean"
+ },
+ "ExcludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "ExcludeResourceTags": {
+ "type": "boolean"
+ },
+ "Id": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "^[a-z0-9A-Z-]{36}$",
+ "type": "string"
+ },
+ "IncludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "PolicyDescription": {
+ "maxLength": 256,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "PolicyName": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "RemediationEnabled": {
+ "type": "boolean"
+ },
+ "ResourceSetIds": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Base62Id"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ResourceTags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceTag"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "ResourceType": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "ResourceTypeList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "type": "array"
+ },
+ "ResourcesCleanUp": {
+ "type": "boolean"
+ },
+ "SecurityServicePolicyData": {
+ "$ref": "#/definitions/SecurityServicePolicyData"
+ },
+ "Tags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/PolicyTag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Id"
+ ],
+ "required": [
+ "ExcludeResourceTags",
+ "PolicyName",
+ "RemediationEnabled",
+ "SecurityServicePolicyData"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fms.git",
+ "typeName": "AWS::FMS::Policy",
+ "writeOnlyProperties": [
+ "/properties/DeleteAllPolicyResources"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-trigger.json
new file mode 100644
index 0000000000..974dd89b9f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-glue-trigger.json
@@ -0,0 +1,172 @@
+{
+ "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_2/aws-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-organizations-organization.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-organizations-organization.json
deleted file mode 100644
index 844033a13a..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-organizations-organization.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "handlers": {
- "create": {
- "permissions": [
- "organizations:CreateOrganization",
- "organizations:DescribeOrganization",
- "iam:CreateServiceLinkedRole",
- "organizations:ListRoots"
- ]
- },
- "delete": {
- "permissions": [
- "organizations:DeleteOrganization",
- "organizations:DescribeOrganization"
- ]
- },
- "list": {
- "permissions": [
- "organizations:DescribeOrganization"
- ]
- },
- "read": {
- "permissions": [
- "organizations:DescribeOrganization",
- "organizations:ListRoots"
- ]
- },
- "update": {
- "permissions": [
- "organizations:DescribeOrganization"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "pattern": "^arn:aws.*:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}",
- "type": "string"
- },
- "FeatureSet": {
- "default": "ALL",
- "enum": [
- "ALL",
- "CONSOLIDATED_BILLING"
- ],
- "type": "string"
- },
- "Id": {
- "pattern": "^o-[a-z0-9]{10,32}$",
- "type": "string"
- },
- "ManagementAccountArn": {
- "pattern": "^arn:aws.*:organizations::\\d{12}:account\\/o-[a-z0-9]{10,32}\\/\\d{12}",
- "type": "string"
- },
- "ManagementAccountEmail": {
- "maxLength": 64,
- "minLength": 6,
- "pattern": "[^\\s@]+@[^\\s@]+\\.[^\\s@]+",
- "type": "string"
- },
- "ManagementAccountId": {
- "pattern": "^\\d{12}$",
- "type": "string"
- },
- "RootId": {
- "maxLength": 64,
- "pattern": "^r-[0-9a-z]{4,32}$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn",
- "/properties/ManagementAccountArn",
- "/properties/ManagementAccountId",
- "/properties/ManagementAccountEmail",
- "/properties/RootId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations.git",
- "tagging": {
- "taggable": false
- },
- "typeName": "AWS::Organizations::Organization"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-integration.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-integration.json
new file mode 100644
index 0000000000..8bb00c0dfe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-integration.json
@@ -0,0 +1,154 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SourceArn",
+ "/properties/TargetArn",
+ "/properties/KMSKeyId",
+ "/properties/AdditionalEncryptionContext"
+ ],
+ "definitions": {
+ "EncryptionContextMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[\\s\\S]*$": {
+ "maxLength": 131072,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateIntegration",
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "redshift:CreateInboundIntegration"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DeleteIntegration",
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "rds:RemoveTagsFromResource",
+ "rds:ModifyIntegration"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IntegrationArn"
+ ],
+ "properties": {
+ "AdditionalEncryptionContext": {
+ "$ref": "#/definitions/EncryptionContextMap"
+ },
+ "CreateTime": {
+ "type": "string"
+ },
+ "DataFilter": {
+ "maxLength": 25600,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9_ \"\\\\\\-$,*.:?+\\/]*",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IntegrationArn": {
+ "type": "string"
+ },
+ "IntegrationName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KMSKeyId": {
+ "type": "string"
+ },
+ "SourceArn": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetArn": {
+ "type": "string"
+ }
+ },
+ "propertyTransform": {
+ "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])",
+ "/properties/SourceArn": "$lowercase(SourceArn)"
+ },
+ "readOnlyProperties": [
+ "/properties/IntegrationArn",
+ "/properties/CreateTime"
+ ],
+ "required": [
+ "SourceArn",
+ "TargetArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RDS::Integration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-app.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-app.json
new file mode 100644
index 0000000000..d565ffb835
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-app.json
@@ -0,0 +1,210 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/Tags",
+ "/properties/ResourceSpec"
+ ],
+ "definitions": {
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListApps"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeApp",
+ "sagemaker:DescribeApp"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName"
+ ],
+ "properties": {
+ "AppArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:app/.*",
+ "type": "string"
+ },
+ "AppName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/AppArn"
+ ],
+ "required": [
+ "AppName",
+ "AppType",
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::App",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-domain.json
new file mode 100644
index 0000000000..5cd4ea45fa
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-domain.json
@@ -0,0 +1,831 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AuthMode",
+ "/properties/DomainName",
+ "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
+ "/properties/KmsKeyId",
+ "/properties/VpcId",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableDockerAccess": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "VpcOnlyTrustedAccounts": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^\\d+$",
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "DomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DockerSettings": {
+ "$ref": "#/definitions/DockerSettings"
+ },
+ "RStudioServerProDomainSettings": {
+ "$ref": "#/definitions/RStudioServerProDomainSettings"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RSessionAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProDomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "DomainExecutionRoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "RStudioConnectUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ },
+ "RStudioPackageManagerUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DomainExecutionRoleArn"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "LifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RSessionAppSettings": {
+ "$ref": "#/definitions/RSessionAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:CreateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "efs:CreateFileSystem",
+ "kms:CreateGrant",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "kms:GenerateDataKeyWithoutPlainText"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DeleteDomain",
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListDomains"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:UpdateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "AppNetworkAccessType": {
+ "enum": [
+ "PublicInternetOnly",
+ "VpcOnly"
+ ],
+ "type": "string"
+ },
+ "AppSecurityGroupManagement": {
+ "enum": [
+ "Service",
+ "Customer"
+ ],
+ "type": "string"
+ },
+ "AuthMode": {
+ "enum": [
+ "SSO",
+ "IAM"
+ ],
+ "type": "string"
+ },
+ "DefaultSpaceSettings": {
+ "$ref": "#/definitions/DefaultSpaceSettings"
+ },
+ "DefaultUserSettings": {
+ "$ref": "#/definitions/UserSettings"
+ },
+ "DomainArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "pattern": "^d-(-*[a-z0-9])+",
+ "type": "string"
+ },
+ "DomainName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "DomainSettings": {
+ "$ref": "#/definitions/DomainSettings"
+ },
+ "HomeEfsFileSystemId": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "SecurityGroupIdForDomainBoundary": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "SingleSignOnApplicationArn": {
+ "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "SingleSignOnManagedApplicationInstanceId": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/DomainArn",
+ "/properties/Url",
+ "/properties/DomainId",
+ "/properties/HomeEfsFileSystemId",
+ "/properties/SecurityGroupIdForDomainBoundary",
+ "/properties/SingleSignOnManagedApplicationInstanceId",
+ "/properties/SingleSignOnApplicationArn"
+ ],
+ "required": [
+ "AuthMode",
+ "DefaultUserSettings",
+ "DomainName",
+ "SubnetIds",
+ "VpcId"
+ ],
+ "typeName": "AWS::SageMaker::Domain",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-model.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-model.json
new file mode 100644
index 0000000000..ef768bc0ed
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-model.json
@@ -0,0 +1,235 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ExecutionRoleArn",
+ "/properties/EnableNetworkIsolation",
+ "/properties/InferenceExecutionConfig",
+ "/properties/PrimaryContainer",
+ "/properties/ModelName",
+ "/properties/VpcConfig",
+ "/properties/Containers"
+ ],
+ "definitions": {
+ "ContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerHostname": {
+ "type": "string"
+ },
+ "Environment": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImageConfig": {
+ "$ref": "#/definitions/ImageConfig"
+ },
+ "InferenceSpecificationName": {
+ "type": "string"
+ },
+ "Mode": {
+ "type": "string"
+ },
+ "ModelDataSource": {
+ "$ref": "#/definitions/ModelDataSource"
+ },
+ "ModelDataUrl": {
+ "type": "string"
+ },
+ "ModelPackageName": {
+ "type": "string"
+ },
+ "MultiModelConfig": {
+ "$ref": "#/definitions/MultiModelConfig"
+ }
+ },
+ "type": "object"
+ },
+ "ImageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryAccessMode": {
+ "type": "string"
+ },
+ "RepositoryAuthConfig": {
+ "$ref": "#/definitions/RepositoryAuthConfig"
+ }
+ },
+ "required": [
+ "RepositoryAccessMode"
+ ],
+ "type": "object"
+ },
+ "InferenceExecutionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Mode": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Mode"
+ ],
+ "type": "object"
+ },
+ "ModelAccessConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AcceptEula": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "AcceptEula"
+ ],
+ "type": "object"
+ },
+ "ModelDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "S3DataSource": {
+ "$ref": "#/definitions/S3DataSource"
+ }
+ },
+ "required": [
+ "S3DataSource"
+ ],
+ "type": "object"
+ },
+ "MultiModelConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ModelCacheSetting": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryAuthConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryCredentialsProviderArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryCredentialsProviderArn"
+ ],
+ "type": "object"
+ },
+ "S3DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CompressionType": {
+ "type": "string"
+ },
+ "ModelAccessConfig": {
+ "$ref": "#/definitions/ModelAccessConfig"
+ },
+ "S3DataType": {
+ "type": "string"
+ },
+ "S3Uri": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Uri",
+ "S3DataType",
+ "CompressionType"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "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",
+ "uniqueItems": false
+ },
+ "Subnets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Subnets",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EnableNetworkIsolation": {
+ "type": "boolean"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "InferenceExecutionConfig": {
+ "$ref": "#/definitions/InferenceExecutionConfig"
+ },
+ "ModelName": {
+ "type": "string"
+ },
+ "PrimaryContainer": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "typeName": "AWS::SageMaker::Model"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-space.json
new file mode 100644
index 0000000000..1ad92e7aa4
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-space.json
@@ -0,0 +1,436 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/SpaceName",
+ "/properties/SpaceSharingSettings",
+ "/properties/OwnershipSettings"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "TensorBoard",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "JupyterLab",
+ "CodeEditor"
+ ],
+ "type": "string"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystem": {
+ "$ref": "#/definitions/EFSFileSystem"
+ }
+ },
+ "type": "object"
+ },
+ "CustomFileSystems": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystem"
+ },
+ "maxItems": 1,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "EFSFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "EbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "OwnershipSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "OwnerUserProfileName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "required": [
+ "OwnerUserProfileName"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceCodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "SpaceJupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AppType": {
+ "$ref": "#/definitions/AppType"
+ },
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/SpaceCodeEditorAppSettings"
+ },
+ "CustomFileSystems": {
+ "$ref": "#/definitions/CustomFileSystems"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/SpaceJupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/SpaceStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SharingType": {
+ "enum": [
+ "Private",
+ "Shared"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "SharingType"
+ ],
+ "type": "object"
+ },
+ "SpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsStorageSettings": {
+ "$ref": "#/definitions/EbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListSpaces"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId",
+ "/properties/SpaceName"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "OwnershipSettings": {
+ "$ref": "#/definitions/OwnershipSettings"
+ },
+ "SpaceArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*",
+ "type": "string"
+ },
+ "SpaceDisplayName": {
+ "maxLength": 64,
+ "pattern": "^(?!\\s*$).+",
+ "type": "string"
+ },
+ "SpaceName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SpaceSettings": {
+ "$ref": "#/definitions/SpaceSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ },
+ "SpaceSharingSettings": {
+ "$ref": "#/definitions/SpaceSharingSettings"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/SpaceArn",
+ "/properties/Url"
+ ],
+ "required": [
+ "DomainId",
+ "SpaceName"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::SageMaker::Space",
+ "writeOnlyProperties": [
+ "/properties/SpaceSettings",
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-userprofile.json
new file mode 100644
index 0000000000..c2c0daf9fe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-sagemaker-userprofile.json
@@ -0,0 +1,592 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/SingleSignOnUserIdentifier",
+ "/properties/SingleSignOnUserValue",
+ "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
+ "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteUserProfile",
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListUserProfiles"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/UserProfileName",
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SingleSignOnUserIdentifier": {
+ "pattern": "UserName",
+ "type": "string"
+ },
+ "SingleSignOnUserValue": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
+ "type": "string"
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "UserSettings": {
+ "$ref": "#/definitions/UserSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/UserProfileArn"
+ ],
+ "required": [
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::UserProfile",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-stepfunctions-activity.json
deleted file mode 100644
index 7aaf191ed1..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-stepfunctions-activity.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateActivity",
- "states:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "states:DescribeActivity",
- "states:DeleteActivity"
- ]
- },
- "list": {
- "permissions": [
- "states:ListActivities"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeActivity",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:ListTagsForResource",
- "states:TagResource",
- "states:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::Activity"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-stepfunctions-statemachine.json
deleted file mode 100644
index c8a1b0f42e..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-stepfunctions-statemachine.json
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/StateMachineName"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/StateMachineName",
- "/properties/StateMachineType"
- ],
- "definitions": {
- "CloudWatchLogsLogGroup": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- },
- "Definition": {
- "minProperties": 1,
- "type": "object"
- },
- "DefinitionSubstitutions": {
- "additionalProperties": false,
- "minProperties": 1,
- "patternProperties": {
- ".*": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- },
- {
- "type": "boolean"
- }
- ]
- }
- },
- "type": "object"
- },
- "LogDestination": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsLogGroup": {
- "$ref": "#/definitions/CloudWatchLogsLogGroup"
- }
- },
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destinations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LogDestination"
- },
- "minItems": 1,
- "type": "array"
- },
- "IncludeExecutionData": {
- "type": "boolean"
- },
- "Level": {
- "enum": [
- "ALL",
- "ERROR",
- "FATAL",
- "OFF"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "S3Location": {
- "additionalProperties": false,
- "properties": {
- "Bucket": {
- "type": "string"
- },
- "Key": {
- "type": "string"
- },
- "Version": {
- "type": "string"
- }
- },
- "required": [
- "Bucket",
- "Key"
- ],
- "type": "object"
- },
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TracingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Enabled": {
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateStateMachine",
- "states:DescribeStateMachine",
- "states:TagResource",
- "iam:PassRole",
- "s3:GetObject"
- ]
- },
- "delete": {
- "permissions": [
- "states:DeleteStateMachine",
- "states:DescribeStateMachine"
- ]
- },
- "list": {
- "permissions": [
- "states:ListStateMachines"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeStateMachine",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:UpdateStateMachine",
- "states:TagResource",
- "states:UntagResource",
- "states:ListTagsForResource",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/Definition"
- },
- "DefinitionS3Location": {
- "$ref": "#/definitions/S3Location"
- },
- "DefinitionString": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "DefinitionSubstitutions": {
- "$ref": "#/definitions/DefinitionSubstitutions"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineName": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineRevisionId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineType": {
- "enum": [
- "STANDARD",
- "EXPRESS"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TracingConfiguration": {
- "$ref": "#/definitions/TracingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/Name",
- "/properties/StateMachineRevisionId"
- ],
- "required": [
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::StateMachine",
- "writeOnlyProperties": [
- "/properties/Definition",
- "/properties/DefinitionS3Location",
- "/properties/DefinitionSubstitutions"
- ]
-}
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 0fbb899196..6f44fe9896 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py
@@ -751,7 +751,6 @@
"aws-appsync-graphqlschema.json",
"aws-appsync-resolver.json",
"aws-appsync-sourceapiassociation.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
"aws-athena-preparedstatement.json",
@@ -999,7 +998,6 @@
"aws-eventschemas-registrypolicy.json",
"aws-eventschemas-schema.json",
"aws-fms-notificationchannel.json",
- "aws-fms-policy.json",
"aws-fms-resourceset.json",
"aws-fsx-datarepositoryassociation.json",
"aws-fsx-filesystem.json",
@@ -1007,7 +1005,6 @@
"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",
@@ -1023,7 +1020,6 @@
"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",
@@ -1067,7 +1063,6 @@
"aws-iotwireless-wirelessdevice.json",
"aws-kinesis-stream.json",
"aws-kinesisanalyticsv2-application.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kms-alias.json",
"aws-kms-key.json",
"aws-kms-replicakey.json",
@@ -1078,6 +1073,7 @@
"aws-lakeformation-resource.json",
"aws-lakeformation-tag.json",
"aws-lakeformation-tagassociation.json",
+ "aws-lambda-alias.json",
"aws-lambda-eventinvokeconfig.json",
"aws-lambda-eventsourcemapping.json",
"aws-lambda-layerversion.json",
@@ -1151,9 +1147,7 @@
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
- "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
- "aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
"aws-rds-dbproxy.json",
"aws-rds-dbproxyendpoint.json",
@@ -1210,10 +1204,8 @@
"aws-s3outposts-bucket.json",
"aws-s3outposts-bucketpolicy.json",
"aws-s3outposts-endpoint.json",
- "aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-coderepository.json",
- "aws-sagemaker-domain.json",
"aws-sagemaker-endpoint.json",
"aws-sagemaker-endpointconfig.json",
"aws-sagemaker-featuregroup.json",
@@ -1221,20 +1213,16 @@
"aws-sagemaker-imageversion.json",
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-mlflowtrackingserver.json",
- "aws-sagemaker-model.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelpackage.json",
"aws-sagemaker-modelpackagegroup.json",
"aws-sagemaker-notebookinstance.json",
"aws-sagemaker-pipeline.json",
"aws-sagemaker-project.json",
- "aws-sagemaker-space.json",
- "aws-sagemaker-userprofile.json",
"aws-sagemaker-workteam.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
"aws-sdb-domain.json",
- "aws-secretsmanager-resourcepolicy.json",
"aws-secretsmanager-rotationschedule.json",
"aws-secretsmanager-secret.json",
"aws-securityhub-automationrule.json",
@@ -1298,6 +1286,8 @@
"aws-sso-instance.json",
"aws-sso-instanceaccesscontrolattributeconfiguration.json",
"aws-sso-permissionset.json",
+ "aws-stepfunctions-activity.json",
+ "aws-stepfunctions-statemachine.json",
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-fms-policy.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-fms-policy.json
new file mode 100644
index 0000000000..8456d02fd6
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-fms-policy.json
@@ -0,0 +1,472 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "AccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^([0-9]*)$",
+ "type": "string"
+ },
+ "Base62Id": {
+ "maxLength": 22,
+ "minLength": 22,
+ "pattern": "^[a-z0-9A-Z]{22}$",
+ "type": "string"
+ },
+ "FirewallDeploymentModel": {
+ "enum": [
+ "DISTRIBUTED",
+ "CENTRALIZED"
+ ],
+ "type": "string"
+ },
+ "IEMap": {
+ "additionalProperties": false,
+ "properties": {
+ "ACCOUNT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/AccountId"
+ },
+ "type": "array"
+ },
+ "ORGUNIT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/OrganizationalUnitId"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedServiceData": {
+ "maxLength": 8192,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NetworkAclCommonPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkAclEntrySet": {
+ "$ref": "#/definitions/NetworkAclEntrySet"
+ }
+ },
+ "required": [
+ "NetworkAclEntrySet"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "CidrBlock": {
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
+ "type": "string"
+ },
+ "Egress": {
+ "type": "boolean"
+ },
+ "IcmpTypeCode": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Code",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Ipv6CidrBlock": {
+ "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(/(1[0-2]|[0-9]))?$",
+ "type": "string"
+ },
+ "PortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "From": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "To": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "From",
+ "To"
+ ],
+ "type": "object"
+ },
+ "Protocol": {
+ "pattern": "^(tcp|udp|icmp|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$",
+ "type": "string"
+ },
+ "RuleAction": {
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Egress",
+ "Protocol",
+ "RuleAction"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntryList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/NetworkAclEntry"
+ },
+ "type": "array"
+ },
+ "NetworkAclEntrySet": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "FirstEntries"
+ ]
+ },
+ {
+ "required": [
+ "LastEntries"
+ ]
+ }
+ ],
+ "properties": {
+ "FirstEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ },
+ "ForceRemediateForFirstEntries": {
+ "type": "boolean"
+ },
+ "ForceRemediateForLastEntries": {
+ "type": "boolean"
+ },
+ "LastEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ }
+ },
+ "required": [
+ "ForceRemediateForFirstEntries",
+ "ForceRemediateForLastEntries"
+ ],
+ "type": "object"
+ },
+ "NetworkFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ },
+ "OrganizationalUnitId": {
+ "maxLength": 68,
+ "minLength": 16,
+ "pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "PolicyOption": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "NetworkFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "ThirdPartyFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "NetworkAclCommonPolicy"
+ ]
+ }
+ ],
+ "properties": {
+ "NetworkAclCommonPolicy": {
+ "$ref": "#/definitions/NetworkAclCommonPolicy"
+ },
+ "NetworkFirewallPolicy": {
+ "$ref": "#/definitions/NetworkFirewallPolicy"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "$ref": "#/definitions/ThirdPartyFirewallPolicy"
+ }
+ },
+ "type": "object"
+ },
+ "PolicyTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "PolicyType": {
+ "enum": [
+ "WAF",
+ "WAFV2",
+ "SHIELD_ADVANCED",
+ "SECURITY_GROUPS_COMMON",
+ "SECURITY_GROUPS_CONTENT_AUDIT",
+ "SECURITY_GROUPS_USAGE_AUDIT",
+ "NETWORK_FIREWALL",
+ "THIRD_PARTY_FIREWALL",
+ "DNS_FIREWALL",
+ "IMPORT_NETWORK_FIREWALL",
+ "NETWORK_ACL_COMMON"
+ ],
+ "type": "string"
+ },
+ "ResourceArn": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "ResourceTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ResourceType": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "SecurityServicePolicyData": {
+ "additionalProperties": false,
+ "properties": {
+ "ManagedServiceData": {
+ "$ref": "#/definitions/ManagedServiceData"
+ },
+ "PolicyOption": {
+ "$ref": "#/definitions/PolicyOption"
+ },
+ "Type": {
+ "$ref": "#/definitions/PolicyType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:TagResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "fms:DeletePolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "fms:ListPolicies",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "fms:GetPolicy",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:GetPolicy",
+ "fms:TagResource",
+ "fms:UntagResource",
+ "fms:ListTagsForResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "$ref": "#/definitions/ResourceArn"
+ },
+ "DeleteAllPolicyResources": {
+ "type": "boolean"
+ },
+ "ExcludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "ExcludeResourceTags": {
+ "type": "boolean"
+ },
+ "Id": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "^[a-z0-9A-Z-]{36}$",
+ "type": "string"
+ },
+ "IncludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "PolicyDescription": {
+ "maxLength": 256,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "PolicyName": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "RemediationEnabled": {
+ "type": "boolean"
+ },
+ "ResourceSetIds": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Base62Id"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ResourceTags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceTag"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "ResourceType": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "ResourceTypeList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "type": "array"
+ },
+ "ResourcesCleanUp": {
+ "type": "boolean"
+ },
+ "SecurityServicePolicyData": {
+ "$ref": "#/definitions/SecurityServicePolicyData"
+ },
+ "Tags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/PolicyTag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Id"
+ ],
+ "required": [
+ "ExcludeResourceTags",
+ "PolicyName",
+ "RemediationEnabled",
+ "SecurityServicePolicyData"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fms.git",
+ "typeName": "AWS::FMS::Policy",
+ "writeOnlyProperties": [
+ "/properties/DeleteAllPolicyResources"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-globalaccelerator-crossaccountattachment.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-globalaccelerator-crossaccountattachment.json
new file mode 100644
index 0000000000..31881ad480
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-globalaccelerator-crossaccountattachment.json
@@ -0,0 +1,123 @@
+{
+ "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/ap_southeast_3/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-glue-trigger.json
new file mode 100644
index 0000000000..974dd89b9f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-glue-trigger.json
@@ -0,0 +1,172 @@
+{
+ "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-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-lambda-alias.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-lambda-alias.json
deleted file mode 100644
index 4a291518b6..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-lambda-alias.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/FunctionName"
- ],
- "definitions": {
- "AliasRoutingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "AdditionalVersionWeights": {
- "items": {
- "$ref": "#/definitions/VersionWeight"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "AdditionalVersionWeights"
- ],
- "type": "object"
- },
- "ProvisionedConcurrencyConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ProvisionedConcurrentExecutions": {
- "type": "integer"
- }
- },
- "required": [
- "ProvisionedConcurrentExecutions"
- ],
- "type": "object"
- },
- "VersionWeight": {
- "additionalProperties": false,
- "properties": {
- "FunctionVersion": {
- "type": "string"
- },
- "FunctionWeight": {
- "type": "number"
- }
- },
- "required": [
- "FunctionVersion",
- "FunctionWeight"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Description": {
- "type": "string"
- },
- "FunctionName": {
- "type": "string"
- },
- "FunctionVersion": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "ProvisionedConcurrencyConfig": {
- "$ref": "#/definitions/ProvisionedConcurrencyConfiguration"
- },
- "RoutingConfig": {
- "$ref": "#/definitions/AliasRoutingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "FunctionName",
- "FunctionVersion",
- "Name"
- ],
- "typeName": "AWS::Lambda::Alias"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json
similarity index 99%
rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json
rename to src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json
index 6dee021f39..fc8608c49b 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json
@@ -151,7 +151,6 @@
},
"delete": {
"permissions": [
- "rds:AddTagsToResource",
"rds:CreateDBClusterSnapshot",
"rds:DeleteDBCluster",
"rds:DeleteDBInstance",
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbinstance.json
similarity index 99%
rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbinstance.json
rename to src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbinstance.json
index 94f443dbfb..3263d77fb7 100644
--- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbinstance.json
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbinstance.json
@@ -193,7 +193,6 @@
},
"delete": {
"permissions": [
- "rds:AddTagsToResource",
"rds:CreateDBSnapshot",
"rds:DeleteDBInstance",
"rds:DescribeDBInstances"
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-app.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-app.json
new file mode 100644
index 0000000000..d565ffb835
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-app.json
@@ -0,0 +1,210 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/Tags",
+ "/properties/ResourceSpec"
+ ],
+ "definitions": {
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListApps"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeApp",
+ "sagemaker:DescribeApp"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName"
+ ],
+ "properties": {
+ "AppArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:app/.*",
+ "type": "string"
+ },
+ "AppName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/AppArn"
+ ],
+ "required": [
+ "AppName",
+ "AppType",
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::App",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-domain.json
new file mode 100644
index 0000000000..5cd4ea45fa
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-domain.json
@@ -0,0 +1,831 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AuthMode",
+ "/properties/DomainName",
+ "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
+ "/properties/KmsKeyId",
+ "/properties/VpcId",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableDockerAccess": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "VpcOnlyTrustedAccounts": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^\\d+$",
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "DomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DockerSettings": {
+ "$ref": "#/definitions/DockerSettings"
+ },
+ "RStudioServerProDomainSettings": {
+ "$ref": "#/definitions/RStudioServerProDomainSettings"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RSessionAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProDomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "DomainExecutionRoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "RStudioConnectUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ },
+ "RStudioPackageManagerUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DomainExecutionRoleArn"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "LifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RSessionAppSettings": {
+ "$ref": "#/definitions/RSessionAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:CreateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "efs:CreateFileSystem",
+ "kms:CreateGrant",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "kms:GenerateDataKeyWithoutPlainText"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DeleteDomain",
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListDomains"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:UpdateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "AppNetworkAccessType": {
+ "enum": [
+ "PublicInternetOnly",
+ "VpcOnly"
+ ],
+ "type": "string"
+ },
+ "AppSecurityGroupManagement": {
+ "enum": [
+ "Service",
+ "Customer"
+ ],
+ "type": "string"
+ },
+ "AuthMode": {
+ "enum": [
+ "SSO",
+ "IAM"
+ ],
+ "type": "string"
+ },
+ "DefaultSpaceSettings": {
+ "$ref": "#/definitions/DefaultSpaceSettings"
+ },
+ "DefaultUserSettings": {
+ "$ref": "#/definitions/UserSettings"
+ },
+ "DomainArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "pattern": "^d-(-*[a-z0-9])+",
+ "type": "string"
+ },
+ "DomainName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "DomainSettings": {
+ "$ref": "#/definitions/DomainSettings"
+ },
+ "HomeEfsFileSystemId": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "SecurityGroupIdForDomainBoundary": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "SingleSignOnApplicationArn": {
+ "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "SingleSignOnManagedApplicationInstanceId": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/DomainArn",
+ "/properties/Url",
+ "/properties/DomainId",
+ "/properties/HomeEfsFileSystemId",
+ "/properties/SecurityGroupIdForDomainBoundary",
+ "/properties/SingleSignOnManagedApplicationInstanceId",
+ "/properties/SingleSignOnApplicationArn"
+ ],
+ "required": [
+ "AuthMode",
+ "DefaultUserSettings",
+ "DomainName",
+ "SubnetIds",
+ "VpcId"
+ ],
+ "typeName": "AWS::SageMaker::Domain",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-model.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-model.json
new file mode 100644
index 0000000000..ef768bc0ed
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-model.json
@@ -0,0 +1,235 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ExecutionRoleArn",
+ "/properties/EnableNetworkIsolation",
+ "/properties/InferenceExecutionConfig",
+ "/properties/PrimaryContainer",
+ "/properties/ModelName",
+ "/properties/VpcConfig",
+ "/properties/Containers"
+ ],
+ "definitions": {
+ "ContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerHostname": {
+ "type": "string"
+ },
+ "Environment": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImageConfig": {
+ "$ref": "#/definitions/ImageConfig"
+ },
+ "InferenceSpecificationName": {
+ "type": "string"
+ },
+ "Mode": {
+ "type": "string"
+ },
+ "ModelDataSource": {
+ "$ref": "#/definitions/ModelDataSource"
+ },
+ "ModelDataUrl": {
+ "type": "string"
+ },
+ "ModelPackageName": {
+ "type": "string"
+ },
+ "MultiModelConfig": {
+ "$ref": "#/definitions/MultiModelConfig"
+ }
+ },
+ "type": "object"
+ },
+ "ImageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryAccessMode": {
+ "type": "string"
+ },
+ "RepositoryAuthConfig": {
+ "$ref": "#/definitions/RepositoryAuthConfig"
+ }
+ },
+ "required": [
+ "RepositoryAccessMode"
+ ],
+ "type": "object"
+ },
+ "InferenceExecutionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Mode": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Mode"
+ ],
+ "type": "object"
+ },
+ "ModelAccessConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AcceptEula": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "AcceptEula"
+ ],
+ "type": "object"
+ },
+ "ModelDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "S3DataSource": {
+ "$ref": "#/definitions/S3DataSource"
+ }
+ },
+ "required": [
+ "S3DataSource"
+ ],
+ "type": "object"
+ },
+ "MultiModelConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ModelCacheSetting": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryAuthConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryCredentialsProviderArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryCredentialsProviderArn"
+ ],
+ "type": "object"
+ },
+ "S3DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CompressionType": {
+ "type": "string"
+ },
+ "ModelAccessConfig": {
+ "$ref": "#/definitions/ModelAccessConfig"
+ },
+ "S3DataType": {
+ "type": "string"
+ },
+ "S3Uri": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Uri",
+ "S3DataType",
+ "CompressionType"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "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",
+ "uniqueItems": false
+ },
+ "Subnets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Subnets",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EnableNetworkIsolation": {
+ "type": "boolean"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "InferenceExecutionConfig": {
+ "$ref": "#/definitions/InferenceExecutionConfig"
+ },
+ "ModelName": {
+ "type": "string"
+ },
+ "PrimaryContainer": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "typeName": "AWS::SageMaker::Model"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-space.json
new file mode 100644
index 0000000000..1ad92e7aa4
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-space.json
@@ -0,0 +1,436 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/SpaceName",
+ "/properties/SpaceSharingSettings",
+ "/properties/OwnershipSettings"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "TensorBoard",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "JupyterLab",
+ "CodeEditor"
+ ],
+ "type": "string"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystem": {
+ "$ref": "#/definitions/EFSFileSystem"
+ }
+ },
+ "type": "object"
+ },
+ "CustomFileSystems": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystem"
+ },
+ "maxItems": 1,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "EFSFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "EbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "OwnershipSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "OwnerUserProfileName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "required": [
+ "OwnerUserProfileName"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceCodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "SpaceJupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AppType": {
+ "$ref": "#/definitions/AppType"
+ },
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/SpaceCodeEditorAppSettings"
+ },
+ "CustomFileSystems": {
+ "$ref": "#/definitions/CustomFileSystems"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/SpaceJupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/SpaceStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SharingType": {
+ "enum": [
+ "Private",
+ "Shared"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "SharingType"
+ ],
+ "type": "object"
+ },
+ "SpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsStorageSettings": {
+ "$ref": "#/definitions/EbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListSpaces"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId",
+ "/properties/SpaceName"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "OwnershipSettings": {
+ "$ref": "#/definitions/OwnershipSettings"
+ },
+ "SpaceArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*",
+ "type": "string"
+ },
+ "SpaceDisplayName": {
+ "maxLength": 64,
+ "pattern": "^(?!\\s*$).+",
+ "type": "string"
+ },
+ "SpaceName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SpaceSettings": {
+ "$ref": "#/definitions/SpaceSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ },
+ "SpaceSharingSettings": {
+ "$ref": "#/definitions/SpaceSharingSettings"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/SpaceArn",
+ "/properties/Url"
+ ],
+ "required": [
+ "DomainId",
+ "SpaceName"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::SageMaker::Space",
+ "writeOnlyProperties": [
+ "/properties/SpaceSettings",
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-userprofile.json
new file mode 100644
index 0000000000..c2c0daf9fe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-sagemaker-userprofile.json
@@ -0,0 +1,592 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/SingleSignOnUserIdentifier",
+ "/properties/SingleSignOnUserValue",
+ "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
+ "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteUserProfile",
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListUserProfiles"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/UserProfileName",
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SingleSignOnUserIdentifier": {
+ "pattern": "UserName",
+ "type": "string"
+ },
+ "SingleSignOnUserValue": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
+ "type": "string"
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "UserSettings": {
+ "$ref": "#/definitions/UserSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/UserProfileArn"
+ ],
+ "required": [
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::UserProfile",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-secretsmanager-resourcepolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-secretsmanager-resourcepolicy.json
new file mode 100644
index 0000000000..92fc7be26c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-secretsmanager-resourcepolicy.json
@@ -0,0 +1,35 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SecretId"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "BlockPublicPolicy": {
+ "type": "boolean"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "ResourcePolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "SecretId",
+ "ResourcePolicy"
+ ],
+ "typeName": "AWS::SecretsManager::ResourcePolicy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-stepfunctions-activity.json
deleted file mode 100644
index 7aaf191ed1..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-stepfunctions-activity.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateActivity",
- "states:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "states:DescribeActivity",
- "states:DeleteActivity"
- ]
- },
- "list": {
- "permissions": [
- "states:ListActivities"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeActivity",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:ListTagsForResource",
- "states:TagResource",
- "states:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::Activity"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-stepfunctions-statemachine.json
deleted file mode 100644
index c8a1b0f42e..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-stepfunctions-statemachine.json
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/StateMachineName"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/StateMachineName",
- "/properties/StateMachineType"
- ],
- "definitions": {
- "CloudWatchLogsLogGroup": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- },
- "Definition": {
- "minProperties": 1,
- "type": "object"
- },
- "DefinitionSubstitutions": {
- "additionalProperties": false,
- "minProperties": 1,
- "patternProperties": {
- ".*": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- },
- {
- "type": "boolean"
- }
- ]
- }
- },
- "type": "object"
- },
- "LogDestination": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsLogGroup": {
- "$ref": "#/definitions/CloudWatchLogsLogGroup"
- }
- },
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destinations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LogDestination"
- },
- "minItems": 1,
- "type": "array"
- },
- "IncludeExecutionData": {
- "type": "boolean"
- },
- "Level": {
- "enum": [
- "ALL",
- "ERROR",
- "FATAL",
- "OFF"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "S3Location": {
- "additionalProperties": false,
- "properties": {
- "Bucket": {
- "type": "string"
- },
- "Key": {
- "type": "string"
- },
- "Version": {
- "type": "string"
- }
- },
- "required": [
- "Bucket",
- "Key"
- ],
- "type": "object"
- },
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TracingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Enabled": {
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateStateMachine",
- "states:DescribeStateMachine",
- "states:TagResource",
- "iam:PassRole",
- "s3:GetObject"
- ]
- },
- "delete": {
- "permissions": [
- "states:DeleteStateMachine",
- "states:DescribeStateMachine"
- ]
- },
- "list": {
- "permissions": [
- "states:ListStateMachines"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeStateMachine",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:UpdateStateMachine",
- "states:TagResource",
- "states:UntagResource",
- "states:ListTagsForResource",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/Definition"
- },
- "DefinitionS3Location": {
- "$ref": "#/definitions/S3Location"
- },
- "DefinitionString": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "DefinitionSubstitutions": {
- "$ref": "#/definitions/DefinitionSubstitutions"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineName": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineRevisionId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineType": {
- "enum": [
- "STANDARD",
- "EXPRESS"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TracingConfiguration": {
- "$ref": "#/definitions/TracingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/Name",
- "/properties/StateMachineRevisionId"
- ],
- "required": [
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::StateMachine",
- "writeOnlyProperties": [
- "/properties/Definition",
- "/properties/DefinitionS3Location",
- "/properties/DefinitionSubstitutions"
- ]
-}
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 77e757984e..1b0d763699 100644
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py
@@ -663,7 +663,6 @@
"aws-appsync-graphqlschema.json",
"aws-appsync-resolver.json",
"aws-appsync-sourceapiassociation.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
"aws-athena-preparedstatement.json",
@@ -806,6 +805,7 @@
"aws-ec2-subnetnetworkaclassociation.json",
"aws-ec2-subnetroutetableassociation.json",
"aws-ec2-trafficmirrorfilter.json",
+ "aws-ec2-trafficmirrorfilterrule.json",
"aws-ec2-trafficmirrortarget.json",
"aws-ec2-transitgatewayconnect.json",
"aws-ec2-transitgatewaymulticastdomain.json",
@@ -875,7 +875,6 @@
"aws-events-eventbuspolicy.json",
"aws-events-rule.json",
"aws-fms-notificationchannel.json",
- "aws-fms-policy.json",
"aws-fsx-datarepositoryassociation.json",
"aws-fsx-filesystem.json",
"aws-fsx-snapshot.json",
@@ -898,7 +897,6 @@
"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",
@@ -933,7 +931,6 @@
"aws-internetmonitor-monitor.json",
"aws-kinesis-stream.json",
"aws-kinesisanalyticsv2-application.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kms-alias.json",
"aws-kms-key.json",
"aws-kms-replicakey.json",
@@ -944,6 +941,7 @@
"aws-lakeformation-resource.json",
"aws-lakeformation-tag.json",
"aws-lakeformation-tagassociation.json",
+ "aws-lambda-alias.json",
"aws-lambda-eventinvokeconfig.json",
"aws-lambda-eventsourcemapping.json",
"aws-lambda-function.json",
@@ -976,10 +974,8 @@
"aws-mediapackage-originendpoint.json",
"aws-mediapackage-packagingconfiguration.json",
"aws-mediapackage-packaginggroup.json",
- "aws-mediapackagev2-channel.json",
"aws-mediapackagev2-channelgroup.json",
"aws-mediapackagev2-channelpolicy.json",
- "aws-mediapackagev2-originendpoint.json",
"aws-mediapackagev2-originendpointpolicy.json",
"aws-mediatailor-channel.json",
"aws-mediatailor-channelpolicy.json",
@@ -1076,7 +1072,6 @@
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
"aws-sdb-domain.json",
- "aws-secretsmanager-resourcepolicy.json",
"aws-secretsmanager-rotationschedule.json",
"aws-secretsmanager-secret.json",
"aws-securityhub-automationrule.json",
@@ -1130,6 +1125,8 @@
"aws-sso-instance.json",
"aws-sso-instanceaccesscontrolattributeconfiguration.json",
"aws-sso-permissionset.json",
+ "aws-stepfunctions-activity.json",
+ "aws-stepfunctions-statemachine.json",
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-trafficmirrorfilterrule.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-trafficmirrorfilterrule.json
deleted file mode 100644
index 95028d4c8a..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-trafficmirrorfilterrule.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TrafficMirrorFilterId"
- ],
- "definitions": {
- "TrafficMirrorPortRange": {
- "additionalProperties": false,
- "properties": {
- "FromPort": {
- "type": "integer"
- },
- "ToPort": {
- "type": "integer"
- }
- },
- "required": [
- "FromPort",
- "ToPort"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Description": {
- "type": "string"
- },
- "DestinationCidrBlock": {
- "type": "string"
- },
- "DestinationPortRange": {
- "$ref": "#/definitions/TrafficMirrorPortRange"
- },
- "Id": {
- "type": "string"
- },
- "Protocol": {
- "type": "integer"
- },
- "RuleAction": {
- "type": "string"
- },
- "RuleNumber": {
- "type": "integer"
- },
- "SourceCidrBlock": {
- "type": "string"
- },
- "SourcePortRange": {
- "$ref": "#/definitions/TrafficMirrorPortRange"
- },
- "TrafficDirection": {
- "type": "string"
- },
- "TrafficMirrorFilterId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "RuleAction",
- "SourceCidrBlock",
- "RuleNumber",
- "DestinationCidrBlock",
- "TrafficMirrorFilterId",
- "TrafficDirection"
- ],
- "typeName": "AWS::EC2::TrafficMirrorFilterRule"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-fms-policy.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-fms-policy.json
new file mode 100644
index 0000000000..8456d02fd6
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-fms-policy.json
@@ -0,0 +1,472 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "AccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^([0-9]*)$",
+ "type": "string"
+ },
+ "Base62Id": {
+ "maxLength": 22,
+ "minLength": 22,
+ "pattern": "^[a-z0-9A-Z]{22}$",
+ "type": "string"
+ },
+ "FirewallDeploymentModel": {
+ "enum": [
+ "DISTRIBUTED",
+ "CENTRALIZED"
+ ],
+ "type": "string"
+ },
+ "IEMap": {
+ "additionalProperties": false,
+ "properties": {
+ "ACCOUNT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/AccountId"
+ },
+ "type": "array"
+ },
+ "ORGUNIT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/OrganizationalUnitId"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedServiceData": {
+ "maxLength": 8192,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NetworkAclCommonPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkAclEntrySet": {
+ "$ref": "#/definitions/NetworkAclEntrySet"
+ }
+ },
+ "required": [
+ "NetworkAclEntrySet"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "CidrBlock": {
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
+ "type": "string"
+ },
+ "Egress": {
+ "type": "boolean"
+ },
+ "IcmpTypeCode": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Code",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Ipv6CidrBlock": {
+ "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(/(1[0-2]|[0-9]))?$",
+ "type": "string"
+ },
+ "PortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "From": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "To": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "From",
+ "To"
+ ],
+ "type": "object"
+ },
+ "Protocol": {
+ "pattern": "^(tcp|udp|icmp|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$",
+ "type": "string"
+ },
+ "RuleAction": {
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Egress",
+ "Protocol",
+ "RuleAction"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntryList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/NetworkAclEntry"
+ },
+ "type": "array"
+ },
+ "NetworkAclEntrySet": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "FirstEntries"
+ ]
+ },
+ {
+ "required": [
+ "LastEntries"
+ ]
+ }
+ ],
+ "properties": {
+ "FirstEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ },
+ "ForceRemediateForFirstEntries": {
+ "type": "boolean"
+ },
+ "ForceRemediateForLastEntries": {
+ "type": "boolean"
+ },
+ "LastEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ }
+ },
+ "required": [
+ "ForceRemediateForFirstEntries",
+ "ForceRemediateForLastEntries"
+ ],
+ "type": "object"
+ },
+ "NetworkFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ },
+ "OrganizationalUnitId": {
+ "maxLength": 68,
+ "minLength": 16,
+ "pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "PolicyOption": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "NetworkFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "ThirdPartyFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "NetworkAclCommonPolicy"
+ ]
+ }
+ ],
+ "properties": {
+ "NetworkAclCommonPolicy": {
+ "$ref": "#/definitions/NetworkAclCommonPolicy"
+ },
+ "NetworkFirewallPolicy": {
+ "$ref": "#/definitions/NetworkFirewallPolicy"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "$ref": "#/definitions/ThirdPartyFirewallPolicy"
+ }
+ },
+ "type": "object"
+ },
+ "PolicyTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "PolicyType": {
+ "enum": [
+ "WAF",
+ "WAFV2",
+ "SHIELD_ADVANCED",
+ "SECURITY_GROUPS_COMMON",
+ "SECURITY_GROUPS_CONTENT_AUDIT",
+ "SECURITY_GROUPS_USAGE_AUDIT",
+ "NETWORK_FIREWALL",
+ "THIRD_PARTY_FIREWALL",
+ "DNS_FIREWALL",
+ "IMPORT_NETWORK_FIREWALL",
+ "NETWORK_ACL_COMMON"
+ ],
+ "type": "string"
+ },
+ "ResourceArn": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "ResourceTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ResourceType": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "SecurityServicePolicyData": {
+ "additionalProperties": false,
+ "properties": {
+ "ManagedServiceData": {
+ "$ref": "#/definitions/ManagedServiceData"
+ },
+ "PolicyOption": {
+ "$ref": "#/definitions/PolicyOption"
+ },
+ "Type": {
+ "$ref": "#/definitions/PolicyType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:TagResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "fms:DeletePolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "fms:ListPolicies",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "fms:GetPolicy",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:GetPolicy",
+ "fms:TagResource",
+ "fms:UntagResource",
+ "fms:ListTagsForResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "$ref": "#/definitions/ResourceArn"
+ },
+ "DeleteAllPolicyResources": {
+ "type": "boolean"
+ },
+ "ExcludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "ExcludeResourceTags": {
+ "type": "boolean"
+ },
+ "Id": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "^[a-z0-9A-Z-]{36}$",
+ "type": "string"
+ },
+ "IncludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "PolicyDescription": {
+ "maxLength": 256,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "PolicyName": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "RemediationEnabled": {
+ "type": "boolean"
+ },
+ "ResourceSetIds": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Base62Id"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ResourceTags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceTag"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "ResourceType": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "ResourceTypeList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "type": "array"
+ },
+ "ResourcesCleanUp": {
+ "type": "boolean"
+ },
+ "SecurityServicePolicyData": {
+ "$ref": "#/definitions/SecurityServicePolicyData"
+ },
+ "Tags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/PolicyTag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Id"
+ ],
+ "required": [
+ "ExcludeResourceTags",
+ "PolicyName",
+ "RemediationEnabled",
+ "SecurityServicePolicyData"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fms.git",
+ "typeName": "AWS::FMS::Policy",
+ "writeOnlyProperties": [
+ "/properties/DeleteAllPolicyResources"
+ ]
+}
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
new file mode 100644
index 0000000000..974dd89b9f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-glue-trigger.json
@@ -0,0 +1,172 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name",
+ "/properties/WorkflowName",
+ "/properties/Type"
+ ],
+ "definitions": {
+ "Action": {
+ "additionalProperties": false,
+ "properties": {
+ "Arguments": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "CrawlerName": {
+ "type": "string"
+ },
+ "JobName": {
+ "type": "string"
+ },
+ "NotificationProperty": {
+ "$ref": "#/definitions/NotificationProperty"
+ },
+ "SecurityConfiguration": {
+ "type": "string"
+ },
+ "Timeout": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Condition": {
+ "additionalProperties": false,
+ "properties": {
+ "CrawlState": {
+ "type": "string"
+ },
+ "CrawlerName": {
+ "type": "string"
+ },
+ "JobName": {
+ "type": "string"
+ },
+ "LogicalOperator": {
+ "enum": [
+ "EQUALS"
+ ],
+ "type": "string"
+ },
+ "State": {
+ "enum": [
+ "SUCCEEDED",
+ "STOPPED",
+ "TIMEOUT",
+ "FAILED"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EventBatchingCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "BatchSize": {
+ "type": "integer"
+ },
+ "BatchWindow": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "BatchSize"
+ ],
+ "type": "object"
+ },
+ "NotificationProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "NotifyDelayAfter": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Predicate": {
+ "additionalProperties": false,
+ "properties": {
+ "Conditions": {
+ "items": {
+ "$ref": "#/definitions/Condition"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Logical": {
+ "enum": [
+ "AND",
+ "ANY"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Actions": {
+ "items": {
+ "$ref": "#/definitions/Action"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Description": {
+ "type": "string"
+ },
+ "EventBatchingCondition": {
+ "$ref": "#/definitions/EventBatchingCondition"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Predicate": {
+ "$ref": "#/definitions/Predicate"
+ },
+ "Schedule": {
+ "type": "string"
+ },
+ "StartOnCreation": {
+ "type": "boolean"
+ },
+ "Tags": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Type": {
+ "enum": [
+ "CONDITIONAL",
+ "EVENT",
+ "ON_DEMAND",
+ "SCHEDULED"
+ ],
+ "type": "string"
+ },
+ "WorkflowName": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Type",
+ "Actions"
+ ],
+ "typeName": "AWS::Glue::Trigger"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-lambda-alias.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-lambda-alias.json
deleted file mode 100644
index 4a291518b6..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-lambda-alias.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/FunctionName"
- ],
- "definitions": {
- "AliasRoutingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "AdditionalVersionWeights": {
- "items": {
- "$ref": "#/definitions/VersionWeight"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "AdditionalVersionWeights"
- ],
- "type": "object"
- },
- "ProvisionedConcurrencyConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ProvisionedConcurrentExecutions": {
- "type": "integer"
- }
- },
- "required": [
- "ProvisionedConcurrentExecutions"
- ],
- "type": "object"
- },
- "VersionWeight": {
- "additionalProperties": false,
- "properties": {
- "FunctionVersion": {
- "type": "string"
- },
- "FunctionWeight": {
- "type": "number"
- }
- },
- "required": [
- "FunctionVersion",
- "FunctionWeight"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Description": {
- "type": "string"
- },
- "FunctionName": {
- "type": "string"
- },
- "FunctionVersion": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "ProvisionedConcurrencyConfig": {
- "$ref": "#/definitions/ProvisionedConcurrencyConfiguration"
- },
- "RoutingConfig": {
- "$ref": "#/definitions/AliasRoutingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "FunctionName",
- "FunctionVersion",
- "Name"
- ],
- "typeName": "AWS::Lambda::Alias"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-mediapackagev2-channel.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-mediapackagev2-channel.json
new file mode 100644
index 0000000000..ba07c8331c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-mediapackagev2-channel.json
@@ -0,0 +1,153 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ChannelGroupName",
+ "/properties/ChannelName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ChannelGroupName",
+ "/properties/ChannelName"
+ ],
+ "definitions": {
+ "IngestEndpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "type": "string"
+ },
+ "Url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "mediapackagev2:TagResource",
+ "mediapackagev2:CreateChannel"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "mediapackagev2:GetChannel",
+ "mediapackagev2:DeleteChannel"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "ChannelGroupName": {
+ "$ref": "resource-schema.json#/properties/ChannelGroupName"
+ }
+ },
+ "required": [
+ "ChannelGroupName"
+ ]
+ },
+ "permissions": [
+ "mediapackagev2:ListChannels"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "mediapackagev2:GetChannel"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "mediapackagev2:TagResource",
+ "mediapackagev2:UntagResource",
+ "mediapackagev2:ListTagsForResource",
+ "mediapackagev2:UpdateChannel"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "ChannelGroupName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "type": "string"
+ },
+ "ChannelName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "type": "string"
+ },
+ "CreatedAt": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "IngestEndpointUrls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "IngestEndpoints": {
+ "items": {
+ "$ref": "#/definitions/IngestEndpoint"
+ },
+ "type": "array"
+ },
+ "ModifiedAt": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/CreatedAt",
+ "/properties/IngestEndpoints",
+ "/properties/IngestEndpointUrls",
+ "/properties/ModifiedAt"
+ ],
+ "required": [
+ "ChannelGroupName",
+ "ChannelName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-mediapackagev2",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MediaPackageV2::Channel"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-mediapackagev2-originendpoint.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-mediapackagev2-originendpoint.json
new file mode 100644
index 0000000000..5f268105a7
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-mediapackagev2-originendpoint.json
@@ -0,0 +1,627 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/ChannelGroupName",
+ "/properties/ChannelName",
+ "/properties/OriginEndpointName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ChannelGroupName",
+ "/properties/ChannelName",
+ "/properties/OriginEndpointName"
+ ],
+ "definitions": {
+ "AdMarkerDash": {
+ "enum": [
+ "BINARY",
+ "XML"
+ ],
+ "type": "string"
+ },
+ "AdMarkerHls": {
+ "enum": [
+ "DATERANGE"
+ ],
+ "type": "string"
+ },
+ "CmafEncryptionMethod": {
+ "enum": [
+ "CENC",
+ "CBCS"
+ ],
+ "type": "string"
+ },
+ "ContainerType": {
+ "enum": [
+ "TS",
+ "CMAF"
+ ],
+ "type": "string"
+ },
+ "DashDrmSignaling": {
+ "enum": [
+ "INDIVIDUAL",
+ "REFERENCED"
+ ],
+ "type": "string"
+ },
+ "DashManifestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "DrmSignaling": {
+ "$ref": "#/definitions/DashDrmSignaling"
+ },
+ "FilterConfiguration": {
+ "$ref": "#/definitions/FilterConfiguration"
+ },
+ "ManifestName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "type": "string"
+ },
+ "ManifestWindowSeconds": {
+ "type": "integer"
+ },
+ "MinBufferTimeSeconds": {
+ "type": "integer"
+ },
+ "MinUpdatePeriodSeconds": {
+ "type": "integer"
+ },
+ "PeriodTriggers": {
+ "items": {
+ "$ref": "#/definitions/DashPeriodTrigger"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array"
+ },
+ "ScteDash": {
+ "$ref": "#/definitions/ScteDash"
+ },
+ "SegmentTemplateFormat": {
+ "$ref": "#/definitions/DashSegmentTemplateFormat"
+ },
+ "SuggestedPresentationDelaySeconds": {
+ "type": "integer"
+ },
+ "UtcTiming": {
+ "$ref": "#/definitions/DashUtcTiming"
+ }
+ },
+ "required": [
+ "ManifestName"
+ ],
+ "type": "object"
+ },
+ "DashPeriodTrigger": {
+ "enum": [
+ "AVAILS",
+ "DRM_KEY_ROTATION",
+ "SOURCE_CHANGES",
+ "SOURCE_DISRUPTIONS",
+ "NONE"
+ ],
+ "type": "string"
+ },
+ "DashSegmentTemplateFormat": {
+ "enum": [
+ "NUMBER_WITH_TIMELINE"
+ ],
+ "type": "string"
+ },
+ "DashUtcTiming": {
+ "additionalProperties": false,
+ "properties": {
+ "TimingMode": {
+ "$ref": "#/definitions/DashUtcTimingMode"
+ },
+ "TimingSource": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DashUtcTimingMode": {
+ "enum": [
+ "HTTP_HEAD",
+ "HTTP_ISO",
+ "HTTP_XSDATE",
+ "UTC_DIRECT"
+ ],
+ "type": "string"
+ },
+ "DrmSystem": {
+ "enum": [
+ "CLEAR_KEY_AES_128",
+ "FAIRPLAY",
+ "PLAYREADY",
+ "WIDEVINE"
+ ],
+ "type": "string"
+ },
+ "Encryption": {
+ "additionalProperties": false,
+ "properties": {
+ "ConstantInitializationVector": {
+ "maxLength": 32,
+ "minLength": 32,
+ "pattern": "^[0-9a-fA-F]+$",
+ "type": "string"
+ },
+ "EncryptionMethod": {
+ "$ref": "#/definitions/EncryptionMethod"
+ },
+ "KeyRotationIntervalSeconds": {
+ "maximum": 31536000,
+ "minimum": 300,
+ "type": "integer"
+ },
+ "SpekeKeyProvider": {
+ "$ref": "#/definitions/SpekeKeyProvider"
+ }
+ },
+ "required": [
+ "EncryptionMethod",
+ "SpekeKeyProvider"
+ ],
+ "type": "object"
+ },
+ "EncryptionContractConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PresetSpeke20Audio": {
+ "$ref": "#/definitions/PresetSpeke20Audio"
+ },
+ "PresetSpeke20Video": {
+ "$ref": "#/definitions/PresetSpeke20Video"
+ }
+ },
+ "required": [
+ "PresetSpeke20Audio",
+ "PresetSpeke20Video"
+ ],
+ "type": "object"
+ },
+ "EncryptionMethod": {
+ "additionalProperties": false,
+ "properties": {
+ "CmafEncryptionMethod": {
+ "$ref": "#/definitions/CmafEncryptionMethod"
+ },
+ "TsEncryptionMethod": {
+ "$ref": "#/definitions/TsEncryptionMethod"
+ }
+ },
+ "type": "object"
+ },
+ "FilterConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "End": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "ManifestFilter": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Start": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "TimeDelaySeconds": {
+ "maximum": 1209600,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "HlsManifestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "ChildManifestName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "type": "string"
+ },
+ "FilterConfiguration": {
+ "$ref": "#/definitions/FilterConfiguration"
+ },
+ "ManifestName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "type": "string"
+ },
+ "ManifestWindowSeconds": {
+ "type": "integer"
+ },
+ "ProgramDateTimeIntervalSeconds": {
+ "type": "integer"
+ },
+ "ScteHls": {
+ "$ref": "#/definitions/ScteHls"
+ },
+ "Url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ManifestName"
+ ],
+ "type": "object"
+ },
+ "LowLatencyHlsManifestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "ChildManifestName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "type": "string"
+ },
+ "FilterConfiguration": {
+ "$ref": "#/definitions/FilterConfiguration"
+ },
+ "ManifestName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "type": "string"
+ },
+ "ManifestWindowSeconds": {
+ "type": "integer"
+ },
+ "ProgramDateTimeIntervalSeconds": {
+ "type": "integer"
+ },
+ "ScteHls": {
+ "$ref": "#/definitions/ScteHls"
+ },
+ "Url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ManifestName"
+ ],
+ "type": "object"
+ },
+ "PresetSpeke20Audio": {
+ "enum": [
+ "PRESET_AUDIO_1",
+ "PRESET_AUDIO_2",
+ "PRESET_AUDIO_3",
+ "SHARED",
+ "UNENCRYPTED"
+ ],
+ "type": "string"
+ },
+ "PresetSpeke20Video": {
+ "enum": [
+ "PRESET_VIDEO_1",
+ "PRESET_VIDEO_2",
+ "PRESET_VIDEO_3",
+ "PRESET_VIDEO_4",
+ "PRESET_VIDEO_5",
+ "PRESET_VIDEO_6",
+ "PRESET_VIDEO_7",
+ "PRESET_VIDEO_8",
+ "SHARED",
+ "UNENCRYPTED"
+ ],
+ "type": "string"
+ },
+ "Scte": {
+ "additionalProperties": false,
+ "properties": {
+ "ScteFilter": {
+ "items": {
+ "$ref": "#/definitions/ScteFilter"
+ },
+ "maxItems": 100,
+ "minItems": 0,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ScteDash": {
+ "additionalProperties": false,
+ "properties": {
+ "AdMarkerDash": {
+ "$ref": "#/definitions/AdMarkerDash"
+ }
+ },
+ "type": "object"
+ },
+ "ScteFilter": {
+ "enum": [
+ "SPLICE_INSERT",
+ "BREAK",
+ "PROVIDER_ADVERTISEMENT",
+ "DISTRIBUTOR_ADVERTISEMENT",
+ "PROVIDER_PLACEMENT_OPPORTUNITY",
+ "DISTRIBUTOR_PLACEMENT_OPPORTUNITY",
+ "PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY",
+ "DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY",
+ "PROGRAM"
+ ],
+ "type": "string"
+ },
+ "ScteHls": {
+ "additionalProperties": false,
+ "properties": {
+ "AdMarkerHls": {
+ "$ref": "#/definitions/AdMarkerHls"
+ }
+ },
+ "type": "object"
+ },
+ "Segment": {
+ "additionalProperties": false,
+ "properties": {
+ "Encryption": {
+ "$ref": "#/definitions/Encryption"
+ },
+ "IncludeIframeOnlyStreams": {
+ "type": "boolean"
+ },
+ "Scte": {
+ "$ref": "#/definitions/Scte"
+ },
+ "SegmentDurationSeconds": {
+ "maximum": 30,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "SegmentName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "type": "string"
+ },
+ "TsIncludeDvbSubtitles": {
+ "type": "boolean"
+ },
+ "TsUseAudioRenditionGroup": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "SpekeKeyProvider": {
+ "additionalProperties": false,
+ "properties": {
+ "DrmSystems": {
+ "items": {
+ "$ref": "#/definitions/DrmSystem"
+ },
+ "maxItems": 4,
+ "minItems": 1,
+ "type": "array"
+ },
+ "EncryptionContractConfiguration": {
+ "$ref": "#/definitions/EncryptionContractConfiguration"
+ },
+ "ResourceId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z_-]+$",
+ "type": "string"
+ },
+ "RoleArn": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DrmSystems",
+ "EncryptionContractConfiguration",
+ "ResourceId",
+ "RoleArn",
+ "Url"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TsEncryptionMethod": {
+ "enum": [
+ "AES_128",
+ "SAMPLE_AES"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "mediapackagev2:TagResource",
+ "mediapackagev2:CreateOriginEndpoint",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "mediapackagev2:GetOriginEndpoint",
+ "mediapackagev2:DeleteOriginEndpoint"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "ChannelGroupName": {
+ "$ref": "resource-schema.json#/properties/ChannelGroupName"
+ },
+ "ChannelName": {
+ "$ref": "resource-schema.json#/properties/ChannelName"
+ }
+ },
+ "required": [
+ "ChannelGroupName",
+ "ChannelName"
+ ]
+ },
+ "permissions": [
+ "mediapackagev2:ListOriginEndpoints"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "mediapackagev2:GetOriginEndpoint"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "mediapackagev2:TagResource",
+ "mediapackagev2:UntagResource",
+ "mediapackagev2:ListTagsForResource",
+ "mediapackagev2:UpdateOriginEndpoint",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "ChannelGroupName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "type": "string"
+ },
+ "ChannelName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "type": "string"
+ },
+ "ContainerType": {
+ "$ref": "#/definitions/ContainerType"
+ },
+ "CreatedAt": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "DashManifestUrls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "DashManifests": {
+ "items": {
+ "$ref": "#/definitions/DashManifestConfiguration"
+ },
+ "type": "array"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HlsManifestUrls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "HlsManifests": {
+ "items": {
+ "$ref": "#/definitions/HlsManifestConfiguration"
+ },
+ "type": "array"
+ },
+ "LowLatencyHlsManifestUrls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "LowLatencyHlsManifests": {
+ "items": {
+ "$ref": "#/definitions/LowLatencyHlsManifestConfiguration"
+ },
+ "type": "array"
+ },
+ "ModifiedAt": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "OriginEndpointName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "type": "string"
+ },
+ "Segment": {
+ "$ref": "#/definitions/Segment"
+ },
+ "StartoverWindowSeconds": {
+ "maximum": 1209600,
+ "minimum": 60,
+ "type": "integer"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/CreatedAt",
+ "/properties/DashManifestUrls",
+ "/properties/HlsManifestUrls",
+ "/properties/LowLatencyHlsManifestUrls",
+ "/properties/ModifiedAt",
+ "/properties/LowLatencyHlsManifests/*/Url",
+ "/properties/HlsManifests/*/Url"
+ ],
+ "required": [
+ "ChannelGroupName",
+ "ChannelName",
+ "OriginEndpointName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-mediapackagev2",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::MediaPackageV2::OriginEndpoint"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-secretsmanager-resourcepolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-secretsmanager-resourcepolicy.json
new file mode 100644
index 0000000000..92fc7be26c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-secretsmanager-resourcepolicy.json
@@ -0,0 +1,35 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SecretId"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "BlockPublicPolicy": {
+ "type": "boolean"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "ResourcePolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "SecretId",
+ "ResourcePolicy"
+ ],
+ "typeName": "AWS::SecretsManager::ResourcePolicy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-stepfunctions-activity.json
deleted file mode 100644
index 7aaf191ed1..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-stepfunctions-activity.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateActivity",
- "states:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "states:DescribeActivity",
- "states:DeleteActivity"
- ]
- },
- "list": {
- "permissions": [
- "states:ListActivities"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeActivity",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:ListTagsForResource",
- "states:TagResource",
- "states:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::Activity"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-stepfunctions-statemachine.json
deleted file mode 100644
index c8a1b0f42e..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-stepfunctions-statemachine.json
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/StateMachineName"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/StateMachineName",
- "/properties/StateMachineType"
- ],
- "definitions": {
- "CloudWatchLogsLogGroup": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- },
- "Definition": {
- "minProperties": 1,
- "type": "object"
- },
- "DefinitionSubstitutions": {
- "additionalProperties": false,
- "minProperties": 1,
- "patternProperties": {
- ".*": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- },
- {
- "type": "boolean"
- }
- ]
- }
- },
- "type": "object"
- },
- "LogDestination": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsLogGroup": {
- "$ref": "#/definitions/CloudWatchLogsLogGroup"
- }
- },
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destinations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LogDestination"
- },
- "minItems": 1,
- "type": "array"
- },
- "IncludeExecutionData": {
- "type": "boolean"
- },
- "Level": {
- "enum": [
- "ALL",
- "ERROR",
- "FATAL",
- "OFF"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "S3Location": {
- "additionalProperties": false,
- "properties": {
- "Bucket": {
- "type": "string"
- },
- "Key": {
- "type": "string"
- },
- "Version": {
- "type": "string"
- }
- },
- "required": [
- "Bucket",
- "Key"
- ],
- "type": "object"
- },
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TracingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Enabled": {
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateStateMachine",
- "states:DescribeStateMachine",
- "states:TagResource",
- "iam:PassRole",
- "s3:GetObject"
- ]
- },
- "delete": {
- "permissions": [
- "states:DeleteStateMachine",
- "states:DescribeStateMachine"
- ]
- },
- "list": {
- "permissions": [
- "states:ListStateMachines"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeStateMachine",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:UpdateStateMachine",
- "states:TagResource",
- "states:UntagResource",
- "states:ListTagsForResource",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/Definition"
- },
- "DefinitionS3Location": {
- "$ref": "#/definitions/S3Location"
- },
- "DefinitionString": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "DefinitionSubstitutions": {
- "$ref": "#/definitions/DefinitionSubstitutions"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineName": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineRevisionId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineType": {
- "enum": [
- "STANDARD",
- "EXPRESS"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TracingConfiguration": {
- "$ref": "#/definitions/TracingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/Name",
- "/properties/StateMachineRevisionId"
- ],
- "required": [
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::StateMachine",
- "writeOnlyProperties": [
- "/properties/Definition",
- "/properties/DefinitionS3Location",
- "/properties/DefinitionSubstitutions"
- ]
-}
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 90945ded9d..77cf04f532 100644
--- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py
@@ -121,8 +121,10 @@
"AWS::Batch::JobDefinition",
"AWS::Batch::JobQueue",
"AWS::Batch::SchedulingPolicy",
+ "AWS::Bedrock::DataSource",
"AWS::Bedrock::Guardrail",
"AWS::Bedrock::GuardrailVersion",
+ "AWS::Bedrock::KnowledgeBase",
"AWS::Budgets::Budget",
"AWS::Budgets::BudgetsAction",
"AWS::CDK::Metadata",
@@ -1178,7 +1180,6 @@
"aws-appsync-graphqlschema.json",
"aws-appsync-resolver.json",
"aws-appsync-sourceapiassociation.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
"aws-athena-preparedstatement.json",
@@ -1200,11 +1201,12 @@
"aws-backup-restoretestingselection.json",
"aws-backupgateway-hypervisor.json",
"aws-batch-computeenvironment.json",
- "aws-batch-jobdefinition.json",
"aws-batch-jobqueue.json",
"aws-batch-schedulingpolicy.json",
+ "aws-bedrock-datasource.json",
"aws-bedrock-guardrail.json",
"aws-bedrock-guardrailversion.json",
+ "aws-bedrock-knowledgebase.json",
"aws-budgets-budget.json",
"aws-budgets-budgetsaction.json",
"aws-cassandra-keyspace.json",
@@ -1541,7 +1543,6 @@
"aws-fis-experimenttemplate.json",
"aws-fis-targetaccountconfiguration.json",
"aws-fms-notificationchannel.json",
- "aws-fms-policy.json",
"aws-fms-resourceset.json",
"aws-fsx-datarepositoryassociation.json",
"aws-fsx-filesystem.json",
@@ -1578,7 +1579,6 @@
"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",
@@ -1669,7 +1669,6 @@
"aws-kinesisanalytics-applicationoutput.json",
"aws-kinesisanalyticsv2-application.json",
"aws-kinesisanalyticsv2-applicationoutput.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kinesisvideo-signalingchannel.json",
"aws-kinesisvideo-stream.json",
"aws-kms-alias.json",
@@ -1682,6 +1681,7 @@
"aws-lakeformation-resource.json",
"aws-lakeformation-tag.json",
"aws-lakeformation-tagassociation.json",
+ "aws-lambda-alias.json",
"aws-lambda-codesigningconfig.json",
"aws-lambda-eventinvokeconfig.json",
"aws-lambda-eventsourcemapping.json",
@@ -1882,7 +1882,6 @@
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
"aws-rds-globalcluster.json",
- "aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
"aws-redshift-clusterparametergroup.json",
@@ -1947,11 +1946,9 @@
"aws-s3outposts-bucket.json",
"aws-s3outposts-bucketpolicy.json",
"aws-s3outposts-endpoint.json",
- "aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-coderepository.json",
"aws-sagemaker-dataqualityjobdefinition.json",
- "aws-sagemaker-domain.json",
"aws-sagemaker-endpoint.json",
"aws-sagemaker-endpointconfig.json",
"aws-sagemaker-featuregroup.json",
@@ -1960,7 +1957,6 @@
"aws-sagemaker-inferencecomponent.json",
"aws-sagemaker-inferenceexperiment.json",
"aws-sagemaker-mlflowtrackingserver.json",
- "aws-sagemaker-model.json",
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelexplainabilityjobdefinition.json",
@@ -1972,13 +1968,10 @@
"aws-sagemaker-notebookinstancelifecycleconfig.json",
"aws-sagemaker-pipeline.json",
"aws-sagemaker-project.json",
- "aws-sagemaker-space.json",
- "aws-sagemaker-userprofile.json",
"aws-sagemaker-workteam.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
"aws-sdb-domain.json",
- "aws-secretsmanager-resourcepolicy.json",
"aws-secretsmanager-rotationschedule.json",
"aws-secretsmanager-secret.json",
"aws-secretsmanager-secrettargetattachment.json",
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json
new file mode 100644
index 0000000000..2d82031cd0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json
@@ -0,0 +1,992 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Tags",
+ "/properties/JobDefinitionName"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "Iam": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "FargatePlatformConfiguration": {
+ "$ref": "#/definitions/FargatePlatformConfiguration"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "items": {
+ "$ref": "#/definitions/EcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "EcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "PlatformVersion": {
+ "type": "string"
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EfsVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EksContainer": {
+ "additionalProperties": false,
+ "properties": {
+ "Args": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Env": {
+ "items": {
+ "$ref": "#/definitions/EksContainerEnvironmentVariable"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImagePullPolicy": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Resources": {
+ "$ref": "#/definitions/EksContainerResourceRequirements"
+ },
+ "SecurityContext": {
+ "$ref": "#/definitions/EksContainerSecurityContext"
+ },
+ "VolumeMounts": {
+ "items": {
+ "$ref": "#/definitions/EksContainerVolumeMount"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "EksContainerEnvironmentVariable": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "EksContainerResourceRequirements": {
+ "additionalProperties": false,
+ "properties": {
+ "Limits": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Requests": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerSecurityContext": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowPrivilegeEscalation": {
+ "type": "boolean"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadOnlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RunAsGroup": {
+ "type": "integer"
+ },
+ "RunAsNonRoot": {
+ "type": "boolean"
+ },
+ "RunAsUser": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerVolumeMount": {
+ "additionalProperties": false,
+ "properties": {
+ "MountPath": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "EksEmptyDir": {
+ "additionalProperties": false,
+ "properties": {
+ "Medium": {
+ "type": "string"
+ },
+ "SizeLimit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksHostPath": {
+ "additionalProperties": false,
+ "properties": {
+ "Path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "PodProperties": {
+ "$ref": "#/definitions/PodProperties"
+ }
+ },
+ "type": "object"
+ },
+ "EksSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Optional": {
+ "type": "boolean"
+ },
+ "SecretName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "SecretName"
+ ],
+ "type": "object"
+ },
+ "EksVolume": {
+ "additionalProperties": false,
+ "properties": {
+ "EmptyDir": {
+ "$ref": "#/definitions/EksEmptyDir"
+ },
+ "HostPath": {
+ "$ref": "#/definitions/EksHostPath"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Secret": {
+ "$ref": "#/definitions/EksSecret"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Environment": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SizeInGiB"
+ ],
+ "type": "object"
+ },
+ "EvaluateOnExit": {
+ "additionalProperties": false,
+ "properties": {
+ "Action": {
+ "type": "string"
+ },
+ "OnExitCode": {
+ "type": "string"
+ },
+ "OnReason": {
+ "type": "string"
+ },
+ "OnStatusReason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Action"
+ ],
+ "type": "object"
+ },
+ "FargatePlatformConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PlatformVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ImagePullSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Devices": {
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "type": "string"
+ },
+ "Options": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretOptions": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "Metadata": {
+ "additionalProperties": false,
+ "properties": {
+ "Labels": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "MountPoints": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AssignPublicIp": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NodeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "MainNode": {
+ "type": "integer"
+ },
+ "NodeRangeProperties": {
+ "items": {
+ "$ref": "#/definitions/NodeRangeProperty"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NumNodes": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "MainNode",
+ "NodeRangeProperties",
+ "NumNodes"
+ ],
+ "type": "object"
+ },
+ "NodeRangeProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "Container": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "InstanceTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TargetNodes": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetNodes"
+ ],
+ "type": "object"
+ },
+ "PodProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsPolicy": {
+ "type": "string"
+ },
+ "HostNetwork": {
+ "type": "boolean"
+ },
+ "ImagePullSecrets": {
+ "items": {
+ "$ref": "#/definitions/ImagePullSecret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitContainers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Metadata": {
+ "$ref": "#/definitions/Metadata"
+ },
+ "ServiceAccountName": {
+ "type": "string"
+ },
+ "ShareProcessNamespace": {
+ "type": "boolean"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/EksVolume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter"
+ ],
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RetryStrategy": {
+ "additionalProperties": false,
+ "properties": {
+ "Attempts": {
+ "type": "integer"
+ },
+ "EvaluateOnExit": {
+ "items": {
+ "$ref": "#/definitions/EvaluateOnExit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ValueFrom",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "TaskContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Condition",
+ "ContainerName"
+ ],
+ "type": "object"
+ },
+ "TaskContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DependsOn": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerDependency"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Timeout": {
+ "additionalProperties": false,
+ "properties": {
+ "AttemptDurationSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size",
+ "ContainerPath"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SoftLimit",
+ "HardLimit",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Volumes": {
+ "additionalProperties": false,
+ "properties": {
+ "EfsVolumeConfiguration": {
+ "$ref": "#/definitions/EfsVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/VolumesHost"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumesHost": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ContainerProperties": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "JobDefinitionName": {
+ "type": "string"
+ },
+ "NodeProperties": {
+ "$ref": "#/definitions/NodeProperties"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "PlatformCapabilities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PropagateTags": {
+ "type": "boolean"
+ },
+ "RetryStrategy": {
+ "$ref": "#/definitions/RetryStrategy"
+ },
+ "SchedulingPriority": {
+ "type": "integer"
+ },
+ "Tags": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Timeout": {
+ "$ref": "#/definitions/Timeout"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Type"
+ ],
+ "typeName": "AWS::Batch::JobDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-fms-policy.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-fms-policy.json
new file mode 100644
index 0000000000..8456d02fd6
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-fms-policy.json
@@ -0,0 +1,472 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "AccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^([0-9]*)$",
+ "type": "string"
+ },
+ "Base62Id": {
+ "maxLength": 22,
+ "minLength": 22,
+ "pattern": "^[a-z0-9A-Z]{22}$",
+ "type": "string"
+ },
+ "FirewallDeploymentModel": {
+ "enum": [
+ "DISTRIBUTED",
+ "CENTRALIZED"
+ ],
+ "type": "string"
+ },
+ "IEMap": {
+ "additionalProperties": false,
+ "properties": {
+ "ACCOUNT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/AccountId"
+ },
+ "type": "array"
+ },
+ "ORGUNIT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/OrganizationalUnitId"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedServiceData": {
+ "maxLength": 8192,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NetworkAclCommonPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkAclEntrySet": {
+ "$ref": "#/definitions/NetworkAclEntrySet"
+ }
+ },
+ "required": [
+ "NetworkAclEntrySet"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "CidrBlock": {
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
+ "type": "string"
+ },
+ "Egress": {
+ "type": "boolean"
+ },
+ "IcmpTypeCode": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Code",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Ipv6CidrBlock": {
+ "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(/(1[0-2]|[0-9]))?$",
+ "type": "string"
+ },
+ "PortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "From": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "To": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "From",
+ "To"
+ ],
+ "type": "object"
+ },
+ "Protocol": {
+ "pattern": "^(tcp|udp|icmp|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$",
+ "type": "string"
+ },
+ "RuleAction": {
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Egress",
+ "Protocol",
+ "RuleAction"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntryList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/NetworkAclEntry"
+ },
+ "type": "array"
+ },
+ "NetworkAclEntrySet": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "FirstEntries"
+ ]
+ },
+ {
+ "required": [
+ "LastEntries"
+ ]
+ }
+ ],
+ "properties": {
+ "FirstEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ },
+ "ForceRemediateForFirstEntries": {
+ "type": "boolean"
+ },
+ "ForceRemediateForLastEntries": {
+ "type": "boolean"
+ },
+ "LastEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ }
+ },
+ "required": [
+ "ForceRemediateForFirstEntries",
+ "ForceRemediateForLastEntries"
+ ],
+ "type": "object"
+ },
+ "NetworkFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ },
+ "OrganizationalUnitId": {
+ "maxLength": 68,
+ "minLength": 16,
+ "pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "PolicyOption": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "NetworkFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "ThirdPartyFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "NetworkAclCommonPolicy"
+ ]
+ }
+ ],
+ "properties": {
+ "NetworkAclCommonPolicy": {
+ "$ref": "#/definitions/NetworkAclCommonPolicy"
+ },
+ "NetworkFirewallPolicy": {
+ "$ref": "#/definitions/NetworkFirewallPolicy"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "$ref": "#/definitions/ThirdPartyFirewallPolicy"
+ }
+ },
+ "type": "object"
+ },
+ "PolicyTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "PolicyType": {
+ "enum": [
+ "WAF",
+ "WAFV2",
+ "SHIELD_ADVANCED",
+ "SECURITY_GROUPS_COMMON",
+ "SECURITY_GROUPS_CONTENT_AUDIT",
+ "SECURITY_GROUPS_USAGE_AUDIT",
+ "NETWORK_FIREWALL",
+ "THIRD_PARTY_FIREWALL",
+ "DNS_FIREWALL",
+ "IMPORT_NETWORK_FIREWALL",
+ "NETWORK_ACL_COMMON"
+ ],
+ "type": "string"
+ },
+ "ResourceArn": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "ResourceTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ResourceType": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "SecurityServicePolicyData": {
+ "additionalProperties": false,
+ "properties": {
+ "ManagedServiceData": {
+ "$ref": "#/definitions/ManagedServiceData"
+ },
+ "PolicyOption": {
+ "$ref": "#/definitions/PolicyOption"
+ },
+ "Type": {
+ "$ref": "#/definitions/PolicyType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:TagResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "fms:DeletePolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "fms:ListPolicies",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "fms:GetPolicy",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:GetPolicy",
+ "fms:TagResource",
+ "fms:UntagResource",
+ "fms:ListTagsForResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "$ref": "#/definitions/ResourceArn"
+ },
+ "DeleteAllPolicyResources": {
+ "type": "boolean"
+ },
+ "ExcludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "ExcludeResourceTags": {
+ "type": "boolean"
+ },
+ "Id": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "^[a-z0-9A-Z-]{36}$",
+ "type": "string"
+ },
+ "IncludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "PolicyDescription": {
+ "maxLength": 256,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "PolicyName": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "RemediationEnabled": {
+ "type": "boolean"
+ },
+ "ResourceSetIds": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Base62Id"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ResourceTags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceTag"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "ResourceType": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "ResourceTypeList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "type": "array"
+ },
+ "ResourcesCleanUp": {
+ "type": "boolean"
+ },
+ "SecurityServicePolicyData": {
+ "$ref": "#/definitions/SecurityServicePolicyData"
+ },
+ "Tags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/PolicyTag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Id"
+ ],
+ "required": [
+ "ExcludeResourceTags",
+ "PolicyName",
+ "RemediationEnabled",
+ "SecurityServicePolicyData"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fms.git",
+ "typeName": "AWS::FMS::Policy",
+ "writeOnlyProperties": [
+ "/properties/DeleteAllPolicyResources"
+ ]
+}
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
new file mode 100644
index 0000000000..974dd89b9f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-glue-trigger.json
@@ -0,0 +1,172 @@
+{
+ "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-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-lambda-alias.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-lambda-alias.json
deleted file mode 100644
index 4a291518b6..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-lambda-alias.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/FunctionName"
- ],
- "definitions": {
- "AliasRoutingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "AdditionalVersionWeights": {
- "items": {
- "$ref": "#/definitions/VersionWeight"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "required": [
- "AdditionalVersionWeights"
- ],
- "type": "object"
- },
- "ProvisionedConcurrencyConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ProvisionedConcurrentExecutions": {
- "type": "integer"
- }
- },
- "required": [
- "ProvisionedConcurrentExecutions"
- ],
- "type": "object"
- },
- "VersionWeight": {
- "additionalProperties": false,
- "properties": {
- "FunctionVersion": {
- "type": "string"
- },
- "FunctionWeight": {
- "type": "number"
- }
- },
- "required": [
- "FunctionVersion",
- "FunctionWeight"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Description": {
- "type": "string"
- },
- "FunctionName": {
- "type": "string"
- },
- "FunctionVersion": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "ProvisionedConcurrencyConfig": {
- "$ref": "#/definitions/ProvisionedConcurrencyConfiguration"
- },
- "RoutingConfig": {
- "$ref": "#/definitions/AliasRoutingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "FunctionName",
- "FunctionVersion",
- "Name"
- ],
- "typeName": "AWS::Lambda::Alias"
-}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-integration.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-integration.json
new file mode 100644
index 0000000000..8bb00c0dfe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-integration.json
@@ -0,0 +1,154 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SourceArn",
+ "/properties/TargetArn",
+ "/properties/KMSKeyId",
+ "/properties/AdditionalEncryptionContext"
+ ],
+ "definitions": {
+ "EncryptionContextMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[\\s\\S]*$": {
+ "maxLength": 131072,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateIntegration",
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "redshift:CreateInboundIntegration"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DeleteIntegration",
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "rds:RemoveTagsFromResource",
+ "rds:ModifyIntegration"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IntegrationArn"
+ ],
+ "properties": {
+ "AdditionalEncryptionContext": {
+ "$ref": "#/definitions/EncryptionContextMap"
+ },
+ "CreateTime": {
+ "type": "string"
+ },
+ "DataFilter": {
+ "maxLength": 25600,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9_ \"\\\\\\-$,*.:?+\\/]*",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IntegrationArn": {
+ "type": "string"
+ },
+ "IntegrationName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KMSKeyId": {
+ "type": "string"
+ },
+ "SourceArn": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetArn": {
+ "type": "string"
+ }
+ },
+ "propertyTransform": {
+ "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])",
+ "/properties/SourceArn": "$lowercase(SourceArn)"
+ },
+ "readOnlyProperties": [
+ "/properties/IntegrationArn",
+ "/properties/CreateTime"
+ ],
+ "required": [
+ "SourceArn",
+ "TargetArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RDS::Integration"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-app.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-app.json
new file mode 100644
index 0000000000..d565ffb835
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-app.json
@@ -0,0 +1,210 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/Tags",
+ "/properties/ResourceSpec"
+ ],
+ "definitions": {
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListApps"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeApp",
+ "sagemaker:DescribeApp"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName"
+ ],
+ "properties": {
+ "AppArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:app/.*",
+ "type": "string"
+ },
+ "AppName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/AppArn"
+ ],
+ "required": [
+ "AppName",
+ "AppType",
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::App",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json
new file mode 100644
index 0000000000..5cd4ea45fa
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json
@@ -0,0 +1,831 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AuthMode",
+ "/properties/DomainName",
+ "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
+ "/properties/KmsKeyId",
+ "/properties/VpcId",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableDockerAccess": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "VpcOnlyTrustedAccounts": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^\\d+$",
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "DomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DockerSettings": {
+ "$ref": "#/definitions/DockerSettings"
+ },
+ "RStudioServerProDomainSettings": {
+ "$ref": "#/definitions/RStudioServerProDomainSettings"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RSessionAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProDomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "DomainExecutionRoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "RStudioConnectUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ },
+ "RStudioPackageManagerUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DomainExecutionRoleArn"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "LifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RSessionAppSettings": {
+ "$ref": "#/definitions/RSessionAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:CreateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "efs:CreateFileSystem",
+ "kms:CreateGrant",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "kms:GenerateDataKeyWithoutPlainText"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DeleteDomain",
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListDomains"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:UpdateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "AppNetworkAccessType": {
+ "enum": [
+ "PublicInternetOnly",
+ "VpcOnly"
+ ],
+ "type": "string"
+ },
+ "AppSecurityGroupManagement": {
+ "enum": [
+ "Service",
+ "Customer"
+ ],
+ "type": "string"
+ },
+ "AuthMode": {
+ "enum": [
+ "SSO",
+ "IAM"
+ ],
+ "type": "string"
+ },
+ "DefaultSpaceSettings": {
+ "$ref": "#/definitions/DefaultSpaceSettings"
+ },
+ "DefaultUserSettings": {
+ "$ref": "#/definitions/UserSettings"
+ },
+ "DomainArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "pattern": "^d-(-*[a-z0-9])+",
+ "type": "string"
+ },
+ "DomainName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "DomainSettings": {
+ "$ref": "#/definitions/DomainSettings"
+ },
+ "HomeEfsFileSystemId": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "SecurityGroupIdForDomainBoundary": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "SingleSignOnApplicationArn": {
+ "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "SingleSignOnManagedApplicationInstanceId": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/DomainArn",
+ "/properties/Url",
+ "/properties/DomainId",
+ "/properties/HomeEfsFileSystemId",
+ "/properties/SecurityGroupIdForDomainBoundary",
+ "/properties/SingleSignOnManagedApplicationInstanceId",
+ "/properties/SingleSignOnApplicationArn"
+ ],
+ "required": [
+ "AuthMode",
+ "DefaultUserSettings",
+ "DomainName",
+ "SubnetIds",
+ "VpcId"
+ ],
+ "typeName": "AWS::SageMaker::Domain",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-model.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-model.json
new file mode 100644
index 0000000000..ef768bc0ed
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-model.json
@@ -0,0 +1,235 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ExecutionRoleArn",
+ "/properties/EnableNetworkIsolation",
+ "/properties/InferenceExecutionConfig",
+ "/properties/PrimaryContainer",
+ "/properties/ModelName",
+ "/properties/VpcConfig",
+ "/properties/Containers"
+ ],
+ "definitions": {
+ "ContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerHostname": {
+ "type": "string"
+ },
+ "Environment": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImageConfig": {
+ "$ref": "#/definitions/ImageConfig"
+ },
+ "InferenceSpecificationName": {
+ "type": "string"
+ },
+ "Mode": {
+ "type": "string"
+ },
+ "ModelDataSource": {
+ "$ref": "#/definitions/ModelDataSource"
+ },
+ "ModelDataUrl": {
+ "type": "string"
+ },
+ "ModelPackageName": {
+ "type": "string"
+ },
+ "MultiModelConfig": {
+ "$ref": "#/definitions/MultiModelConfig"
+ }
+ },
+ "type": "object"
+ },
+ "ImageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryAccessMode": {
+ "type": "string"
+ },
+ "RepositoryAuthConfig": {
+ "$ref": "#/definitions/RepositoryAuthConfig"
+ }
+ },
+ "required": [
+ "RepositoryAccessMode"
+ ],
+ "type": "object"
+ },
+ "InferenceExecutionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Mode": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Mode"
+ ],
+ "type": "object"
+ },
+ "ModelAccessConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AcceptEula": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "AcceptEula"
+ ],
+ "type": "object"
+ },
+ "ModelDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "S3DataSource": {
+ "$ref": "#/definitions/S3DataSource"
+ }
+ },
+ "required": [
+ "S3DataSource"
+ ],
+ "type": "object"
+ },
+ "MultiModelConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ModelCacheSetting": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryAuthConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryCredentialsProviderArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryCredentialsProviderArn"
+ ],
+ "type": "object"
+ },
+ "S3DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CompressionType": {
+ "type": "string"
+ },
+ "ModelAccessConfig": {
+ "$ref": "#/definitions/ModelAccessConfig"
+ },
+ "S3DataType": {
+ "type": "string"
+ },
+ "S3Uri": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Uri",
+ "S3DataType",
+ "CompressionType"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "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",
+ "uniqueItems": false
+ },
+ "Subnets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Subnets",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EnableNetworkIsolation": {
+ "type": "boolean"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "InferenceExecutionConfig": {
+ "$ref": "#/definitions/InferenceExecutionConfig"
+ },
+ "ModelName": {
+ "type": "string"
+ },
+ "PrimaryContainer": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "typeName": "AWS::SageMaker::Model"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-space.json
new file mode 100644
index 0000000000..1ad92e7aa4
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-space.json
@@ -0,0 +1,436 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/SpaceName",
+ "/properties/SpaceSharingSettings",
+ "/properties/OwnershipSettings"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "TensorBoard",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "JupyterLab",
+ "CodeEditor"
+ ],
+ "type": "string"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystem": {
+ "$ref": "#/definitions/EFSFileSystem"
+ }
+ },
+ "type": "object"
+ },
+ "CustomFileSystems": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystem"
+ },
+ "maxItems": 1,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "EFSFileSystem": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "EbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "OwnershipSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "OwnerUserProfileName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "required": [
+ "OwnerUserProfileName"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceCodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "SpaceJupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AppType": {
+ "$ref": "#/definitions/AppType"
+ },
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/SpaceCodeEditorAppSettings"
+ },
+ "CustomFileSystems": {
+ "$ref": "#/definitions/CustomFileSystems"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/SpaceJupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/SpaceStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceSharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "SharingType": {
+ "enum": [
+ "Private",
+ "Shared"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "SharingType"
+ ],
+ "type": "object"
+ },
+ "SpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EbsStorageSettings": {
+ "$ref": "#/definitions/EbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListSpaces"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeSpace"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateSpace",
+ "sagemaker:DescribeSpace"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId",
+ "/properties/SpaceName"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "OwnershipSettings": {
+ "$ref": "#/definitions/OwnershipSettings"
+ },
+ "SpaceArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*",
+ "type": "string"
+ },
+ "SpaceDisplayName": {
+ "maxLength": 64,
+ "pattern": "^(?!\\s*$).+",
+ "type": "string"
+ },
+ "SpaceName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SpaceSettings": {
+ "$ref": "#/definitions/SpaceSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ },
+ "SpaceSharingSettings": {
+ "$ref": "#/definitions/SpaceSharingSettings"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/SpaceArn",
+ "/properties/Url"
+ ],
+ "required": [
+ "DomainId",
+ "SpaceName"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::SageMaker::Space",
+ "writeOnlyProperties": [
+ "/properties/SpaceSettings",
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json
new file mode 100644
index 0000000000..c2c0daf9fe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json
@@ -0,0 +1,592 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/SingleSignOnUserIdentifier",
+ "/properties/SingleSignOnUserValue",
+ "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
+ "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteUserProfile",
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListUserProfiles"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/UserProfileName",
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SingleSignOnUserIdentifier": {
+ "pattern": "UserName",
+ "type": "string"
+ },
+ "SingleSignOnUserValue": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
+ "type": "string"
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "UserSettings": {
+ "$ref": "#/definitions/UserSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/UserProfileArn"
+ ],
+ "required": [
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::UserProfile",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-secretsmanager-resourcepolicy.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-secretsmanager-resourcepolicy.json
new file mode 100644
index 0000000000..92fc7be26c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-secretsmanager-resourcepolicy.json
@@ -0,0 +1,35 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SecretId"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "BlockPublicPolicy": {
+ "type": "boolean"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "ResourcePolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "SecretId",
+ "ResourcePolicy"
+ ],
+ "typeName": "AWS::SecretsManager::ResourcePolicy"
+}
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 c4500debcd..410b1e1c71 100644
--- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py
@@ -277,6 +277,8 @@
"AWS::Events::EventBus",
"AWS::Events::EventBusPolicy",
"AWS::Events::Rule",
+ "AWS::FMS::NotificationChannel",
+ "AWS::FMS::Policy",
"AWS::FSx::DataRepositoryAssociation",
"AWS::FSx::FileSystem",
"AWS::FSx::Snapshot",
@@ -561,7 +563,6 @@
"aws-appconfig-extension.json",
"aws-appconfig-extensionassociation.json",
"aws-appconfig-hostedconfigurationversion.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
"aws-athena-preparedstatement.json",
@@ -671,7 +672,6 @@
"aws-ec2-ipamresourcediscovery.json",
"aws-ec2-ipamresourcediscoveryassociation.json",
"aws-ec2-ipamscope.json",
- "aws-ec2-keypair.json",
"aws-ec2-launchtemplate.json",
"aws-ec2-natgateway.json",
"aws-ec2-networkacl.json",
@@ -687,6 +687,7 @@
"aws-ec2-snapshotblockpublicaccess.json",
"aws-ec2-spotfleet.json",
"aws-ec2-subnet.json",
+ "aws-ec2-subnetcidrblock.json",
"aws-ec2-subnetroutetableassociation.json",
"aws-ec2-trafficmirrorfilter.json",
"aws-ec2-trafficmirrortarget.json",
@@ -748,13 +749,13 @@
"aws-emr-instancegroupconfig.json",
"aws-events-eventbuspolicy.json",
"aws-events-rule.json",
+ "aws-fms-notificationchannel.json",
"aws-fsx-datarepositoryassociation.json",
"aws-fsx-filesystem.json",
"aws-fsx-snapshot.json",
"aws-fsx-storagevirtualmachine.json",
"aws-fsx-volume.json",
"aws-globalaccelerator-accelerator.json",
- "aws-globalaccelerator-crossaccountattachment.json",
"aws-globalaccelerator-endpointgroup.json",
"aws-globalaccelerator-listener.json",
"aws-glue-classifier.json",
@@ -770,7 +771,6 @@
"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",
@@ -800,7 +800,6 @@
"aws-imagebuilder-workflow.json",
"aws-kinesis-stream.json",
"aws-kinesisanalyticsv2-application.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kms-alias.json",
"aws-kms-key.json",
"aws-kms-replicakey.json",
@@ -853,9 +852,7 @@
"aws-organizations-resourcepolicy.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
- "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
- "aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
"aws-rds-dbproxy.json",
"aws-rds-dbproxyendpoint.json",
@@ -905,7 +902,6 @@
"aws-sagemaker-mlflowtrackingserver.json",
"aws-sagemaker-modelcard.json",
"aws-sdb-domain.json",
- "aws-secretsmanager-resourcepolicy.json",
"aws-secretsmanager-rotationschedule.json",
"aws-secretsmanager-secret.json",
"aws-securityhub-automationrule.json",
@@ -945,6 +941,8 @@
"aws-ssm-patchbaseline.json",
"aws-ssm-resourcedatasync.json",
"aws-sso-instance.json",
+ "aws-stepfunctions-activity.json",
+ "aws-stepfunctions-statemachine.json",
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-applicationautoscaling-scalingpolicy.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-applicationautoscaling-scalingpolicy.json
index 3e500939d6..78487c1780 100644
--- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-applicationautoscaling-scalingpolicy.json
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-applicationautoscaling-scalingpolicy.json
@@ -82,7 +82,9 @@
"NeptuneReaderAverageCPUUtilization",
"RDSReaderAverageCPUUtilization",
"RDSReaderAverageDatabaseConnections",
+ "SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution",
"SageMakerInferenceComponentInvocationsPerCopy",
+ "SageMakerVariantConcurrentRequestsPerModelHighResolution",
"SageMakerVariantInvocationsPerInstance",
"SageMakerVariantProvisionedConcurrencyUtilization",
"WorkSpacesAverageUserSessionsCapacityUtilization"
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-keypair.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-keypair.json
similarity index 96%
rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-keypair.json
rename to src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-keypair.json
index 0947fab641..4e6803a430 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-keypair.json
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-keypair.json
@@ -112,10 +112,6 @@
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
"tagging": {
"cloudFormationSystemTags": false,
- "permissions": [
- "ec2:CreateTags"
- ],
- "tagProperty": "/properties/Tags",
"tagUpdatable": false,
"taggable": true
},
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-fms-policy.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-fms-policy.json
new file mode 100644
index 0000000000..8456d02fd6
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-fms-policy.json
@@ -0,0 +1,472 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "AccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^([0-9]*)$",
+ "type": "string"
+ },
+ "Base62Id": {
+ "maxLength": 22,
+ "minLength": 22,
+ "pattern": "^[a-z0-9A-Z]{22}$",
+ "type": "string"
+ },
+ "FirewallDeploymentModel": {
+ "enum": [
+ "DISTRIBUTED",
+ "CENTRALIZED"
+ ],
+ "type": "string"
+ },
+ "IEMap": {
+ "additionalProperties": false,
+ "properties": {
+ "ACCOUNT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/AccountId"
+ },
+ "type": "array"
+ },
+ "ORGUNIT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/OrganizationalUnitId"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedServiceData": {
+ "maxLength": 8192,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NetworkAclCommonPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkAclEntrySet": {
+ "$ref": "#/definitions/NetworkAclEntrySet"
+ }
+ },
+ "required": [
+ "NetworkAclEntrySet"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "CidrBlock": {
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
+ "type": "string"
+ },
+ "Egress": {
+ "type": "boolean"
+ },
+ "IcmpTypeCode": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Code",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Ipv6CidrBlock": {
+ "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(/(1[0-2]|[0-9]))?$",
+ "type": "string"
+ },
+ "PortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "From": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "To": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "From",
+ "To"
+ ],
+ "type": "object"
+ },
+ "Protocol": {
+ "pattern": "^(tcp|udp|icmp|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$",
+ "type": "string"
+ },
+ "RuleAction": {
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Egress",
+ "Protocol",
+ "RuleAction"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntryList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/NetworkAclEntry"
+ },
+ "type": "array"
+ },
+ "NetworkAclEntrySet": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "FirstEntries"
+ ]
+ },
+ {
+ "required": [
+ "LastEntries"
+ ]
+ }
+ ],
+ "properties": {
+ "FirstEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ },
+ "ForceRemediateForFirstEntries": {
+ "type": "boolean"
+ },
+ "ForceRemediateForLastEntries": {
+ "type": "boolean"
+ },
+ "LastEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ }
+ },
+ "required": [
+ "ForceRemediateForFirstEntries",
+ "ForceRemediateForLastEntries"
+ ],
+ "type": "object"
+ },
+ "NetworkFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ },
+ "OrganizationalUnitId": {
+ "maxLength": 68,
+ "minLength": 16,
+ "pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "PolicyOption": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "NetworkFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "ThirdPartyFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "NetworkAclCommonPolicy"
+ ]
+ }
+ ],
+ "properties": {
+ "NetworkAclCommonPolicy": {
+ "$ref": "#/definitions/NetworkAclCommonPolicy"
+ },
+ "NetworkFirewallPolicy": {
+ "$ref": "#/definitions/NetworkFirewallPolicy"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "$ref": "#/definitions/ThirdPartyFirewallPolicy"
+ }
+ },
+ "type": "object"
+ },
+ "PolicyTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "PolicyType": {
+ "enum": [
+ "WAF",
+ "WAFV2",
+ "SHIELD_ADVANCED",
+ "SECURITY_GROUPS_COMMON",
+ "SECURITY_GROUPS_CONTENT_AUDIT",
+ "SECURITY_GROUPS_USAGE_AUDIT",
+ "NETWORK_FIREWALL",
+ "THIRD_PARTY_FIREWALL",
+ "DNS_FIREWALL",
+ "IMPORT_NETWORK_FIREWALL",
+ "NETWORK_ACL_COMMON"
+ ],
+ "type": "string"
+ },
+ "ResourceArn": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "ResourceTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ResourceType": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "SecurityServicePolicyData": {
+ "additionalProperties": false,
+ "properties": {
+ "ManagedServiceData": {
+ "$ref": "#/definitions/ManagedServiceData"
+ },
+ "PolicyOption": {
+ "$ref": "#/definitions/PolicyOption"
+ },
+ "Type": {
+ "$ref": "#/definitions/PolicyType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:TagResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "fms:DeletePolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "fms:ListPolicies",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "fms:GetPolicy",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:GetPolicy",
+ "fms:TagResource",
+ "fms:UntagResource",
+ "fms:ListTagsForResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "$ref": "#/definitions/ResourceArn"
+ },
+ "DeleteAllPolicyResources": {
+ "type": "boolean"
+ },
+ "ExcludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "ExcludeResourceTags": {
+ "type": "boolean"
+ },
+ "Id": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "^[a-z0-9A-Z-]{36}$",
+ "type": "string"
+ },
+ "IncludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "PolicyDescription": {
+ "maxLength": 256,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "PolicyName": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "RemediationEnabled": {
+ "type": "boolean"
+ },
+ "ResourceSetIds": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Base62Id"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ResourceTags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceTag"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "ResourceType": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "ResourceTypeList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "type": "array"
+ },
+ "ResourcesCleanUp": {
+ "type": "boolean"
+ },
+ "SecurityServicePolicyData": {
+ "$ref": "#/definitions/SecurityServicePolicyData"
+ },
+ "Tags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/PolicyTag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Id"
+ ],
+ "required": [
+ "ExcludeResourceTags",
+ "PolicyName",
+ "RemediationEnabled",
+ "SecurityServicePolicyData"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fms.git",
+ "typeName": "AWS::FMS::Policy",
+ "writeOnlyProperties": [
+ "/properties/DeleteAllPolicyResources"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-globalaccelerator-crossaccountattachment.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-globalaccelerator-crossaccountattachment.json
new file mode 100644
index 0000000000..31881ad480
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-globalaccelerator-crossaccountattachment.json
@@ -0,0 +1,123 @@
+{
+ "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/ca_west_1/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-glue-trigger.json
new file mode 100644
index 0000000000..974dd89b9f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-glue-trigger.json
@@ -0,0 +1,172 @@
+{
+ "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_west_1/aws-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json
similarity index 99%
rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbcluster.json
rename to src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json
index 6dee021f39..fc8608c49b 100644
--- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-rds-dbcluster.json
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json
@@ -151,7 +151,6 @@
},
"delete": {
"permissions": [
- "rds:AddTagsToResource",
"rds:CreateDBClusterSnapshot",
"rds:DeleteDBCluster",
"rds:DeleteDBInstance",
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json
similarity index 99%
rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json
rename to src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json
index 94f443dbfb..3263d77fb7 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json
@@ -193,7 +193,6 @@
},
"delete": {
"permissions": [
- "rds:AddTagsToResource",
"rds:CreateDBSnapshot",
"rds:DeleteDBInstance",
"rds:DescribeDBInstances"
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-secretsmanager-resourcepolicy.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-secretsmanager-resourcepolicy.json
new file mode 100644
index 0000000000..92fc7be26c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-secretsmanager-resourcepolicy.json
@@ -0,0 +1,35 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SecretId"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "BlockPublicPolicy": {
+ "type": "boolean"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "ResourcePolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "SecretId",
+ "ResourcePolicy"
+ ],
+ "typeName": "AWS::SecretsManager::ResourcePolicy"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-stepfunctions-activity.json
deleted file mode 100644
index 7aaf191ed1..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-stepfunctions-activity.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateActivity",
- "states:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "states:DescribeActivity",
- "states:DeleteActivity"
- ]
- },
- "list": {
- "permissions": [
- "states:ListActivities"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeActivity",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:ListTagsForResource",
- "states:TagResource",
- "states:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::Activity"
-}
diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-stepfunctions-statemachine.json
deleted file mode 100644
index c8a1b0f42e..0000000000
--- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-stepfunctions-statemachine.json
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/StateMachineName"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/StateMachineName",
- "/properties/StateMachineType"
- ],
- "definitions": {
- "CloudWatchLogsLogGroup": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- },
- "Definition": {
- "minProperties": 1,
- "type": "object"
- },
- "DefinitionSubstitutions": {
- "additionalProperties": false,
- "minProperties": 1,
- "patternProperties": {
- ".*": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- },
- {
- "type": "boolean"
- }
- ]
- }
- },
- "type": "object"
- },
- "LogDestination": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsLogGroup": {
- "$ref": "#/definitions/CloudWatchLogsLogGroup"
- }
- },
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destinations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LogDestination"
- },
- "minItems": 1,
- "type": "array"
- },
- "IncludeExecutionData": {
- "type": "boolean"
- },
- "Level": {
- "enum": [
- "ALL",
- "ERROR",
- "FATAL",
- "OFF"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "S3Location": {
- "additionalProperties": false,
- "properties": {
- "Bucket": {
- "type": "string"
- },
- "Key": {
- "type": "string"
- },
- "Version": {
- "type": "string"
- }
- },
- "required": [
- "Bucket",
- "Key"
- ],
- "type": "object"
- },
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TracingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Enabled": {
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateStateMachine",
- "states:DescribeStateMachine",
- "states:TagResource",
- "iam:PassRole",
- "s3:GetObject"
- ]
- },
- "delete": {
- "permissions": [
- "states:DeleteStateMachine",
- "states:DescribeStateMachine"
- ]
- },
- "list": {
- "permissions": [
- "states:ListStateMachines"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeStateMachine",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:UpdateStateMachine",
- "states:TagResource",
- "states:UntagResource",
- "states:ListTagsForResource",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/Definition"
- },
- "DefinitionS3Location": {
- "$ref": "#/definitions/S3Location"
- },
- "DefinitionString": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "DefinitionSubstitutions": {
- "$ref": "#/definitions/DefinitionSubstitutions"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineName": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineRevisionId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineType": {
- "enum": [
- "STANDARD",
- "EXPRESS"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TracingConfiguration": {
- "$ref": "#/definitions/TracingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/Name",
- "/properties/StateMachineRevisionId"
- ],
- "required": [
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::StateMachine",
- "writeOnlyProperties": [
- "/properties/Definition",
- "/properties/DefinitionS3Location",
- "/properties/DefinitionSubstitutions"
- ]
-}
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 e28d4022f9..099edc3994 100644
--- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py
@@ -101,6 +101,7 @@
"AWS::CloudFormation::CustomResource",
"AWS::CloudFormation::HookDefaultVersion",
"AWS::CloudFormation::HookTypeConfig",
+ "AWS::CloudFormation::HookVersion",
"AWS::CloudFormation::Macro",
"AWS::CloudFormation::ModuleDefaultVersion",
"AWS::CloudFormation::ModuleVersion",
@@ -768,7 +769,6 @@
"aws-appsync-graphqlschema.json",
"aws-appsync-resolver.json",
"aws-appsync-sourceapiassociation.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
"aws-athena-preparedstatement.json",
@@ -783,7 +783,6 @@
"aws-backup-backupselection.json",
"aws-backup-backupvault.json",
"aws-batch-computeenvironment.json",
- "aws-batch-jobdefinition.json",
"aws-batch-jobqueue.json",
"aws-batch-schedulingpolicy.json",
"aws-budgets-budget.json",
@@ -798,6 +797,7 @@
"aws-cloudformation-customresource.json",
"aws-cloudformation-hookdefaultversion.json",
"aws-cloudformation-hooktypeconfig.json",
+ "aws-cloudformation-hookversion.json",
"aws-cloudformation-macro.json",
"aws-cloudformation-moduledefaultversion.json",
"aws-cloudformation-moduleversion.json",
@@ -1125,7 +1125,6 @@
"aws-kinesisanalytics-applicationoutput.json",
"aws-kinesisanalyticsv2-application.json",
"aws-kinesisanalyticsv2-applicationoutput.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kms-alias.json",
"aws-kms-key.json",
"aws-lakeformation-datacellsfilter.json",
@@ -1178,6 +1177,7 @@
"aws-opsworks-userprofile.json",
"aws-opsworks-volume.json",
"aws-organizations-account.json",
+ "aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
"aws-personalize-dataset.json",
"aws-personalize-datasetgroup.json",
@@ -1194,7 +1194,9 @@
"aws-quicksight-vpcconnection.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
+ "aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
"aws-rds-dbproxy.json",
"aws-rds-dbproxyendpoint.json",
@@ -1244,7 +1246,6 @@
"aws-s3-storagelensgroup.json",
"aws-s3objectlambda-accesspoint.json",
"aws-s3objectlambda-accesspointpolicy.json",
- "aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-coderepository.json",
"aws-sagemaker-endpoint.json",
@@ -1252,7 +1253,6 @@
"aws-sagemaker-featuregroup.json",
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
- "aws-sagemaker-model.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelpackage.json",
"aws-sagemaker-monitoringschedule.json",
@@ -1310,6 +1310,8 @@
"aws-sso-instance.json",
"aws-sso-instanceaccesscontrolattributeconfiguration.json",
"aws-sso-permissionset.json",
+ "aws-stepfunctions-activity.json",
+ "aws-stepfunctions-statemachine.json",
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
@@ -1339,8 +1341,6 @@
"aws-wafv2-webacl.json",
"aws-wafv2-webaclassociation.json",
"aws-workspaces-workspace.json",
- "aws-xray-group.json",
"aws-xray-resourcepolicy.json",
- "aws-xray-samplingrule.json",
"module.json",
]
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-batch-jobdefinition.json
new file mode 100644
index 0000000000..2d82031cd0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-batch-jobdefinition.json
@@ -0,0 +1,992 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Tags",
+ "/properties/JobDefinitionName"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "Iam": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "FargatePlatformConfiguration": {
+ "$ref": "#/definitions/FargatePlatformConfiguration"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "items": {
+ "$ref": "#/definitions/EcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "EcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "PlatformVersion": {
+ "type": "string"
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EfsVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EksContainer": {
+ "additionalProperties": false,
+ "properties": {
+ "Args": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Env": {
+ "items": {
+ "$ref": "#/definitions/EksContainerEnvironmentVariable"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImagePullPolicy": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Resources": {
+ "$ref": "#/definitions/EksContainerResourceRequirements"
+ },
+ "SecurityContext": {
+ "$ref": "#/definitions/EksContainerSecurityContext"
+ },
+ "VolumeMounts": {
+ "items": {
+ "$ref": "#/definitions/EksContainerVolumeMount"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "EksContainerEnvironmentVariable": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "EksContainerResourceRequirements": {
+ "additionalProperties": false,
+ "properties": {
+ "Limits": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Requests": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerSecurityContext": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowPrivilegeEscalation": {
+ "type": "boolean"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadOnlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RunAsGroup": {
+ "type": "integer"
+ },
+ "RunAsNonRoot": {
+ "type": "boolean"
+ },
+ "RunAsUser": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerVolumeMount": {
+ "additionalProperties": false,
+ "properties": {
+ "MountPath": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "EksEmptyDir": {
+ "additionalProperties": false,
+ "properties": {
+ "Medium": {
+ "type": "string"
+ },
+ "SizeLimit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksHostPath": {
+ "additionalProperties": false,
+ "properties": {
+ "Path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "PodProperties": {
+ "$ref": "#/definitions/PodProperties"
+ }
+ },
+ "type": "object"
+ },
+ "EksSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Optional": {
+ "type": "boolean"
+ },
+ "SecretName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "SecretName"
+ ],
+ "type": "object"
+ },
+ "EksVolume": {
+ "additionalProperties": false,
+ "properties": {
+ "EmptyDir": {
+ "$ref": "#/definitions/EksEmptyDir"
+ },
+ "HostPath": {
+ "$ref": "#/definitions/EksHostPath"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Secret": {
+ "$ref": "#/definitions/EksSecret"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Environment": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SizeInGiB"
+ ],
+ "type": "object"
+ },
+ "EvaluateOnExit": {
+ "additionalProperties": false,
+ "properties": {
+ "Action": {
+ "type": "string"
+ },
+ "OnExitCode": {
+ "type": "string"
+ },
+ "OnReason": {
+ "type": "string"
+ },
+ "OnStatusReason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Action"
+ ],
+ "type": "object"
+ },
+ "FargatePlatformConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PlatformVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ImagePullSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Devices": {
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "type": "string"
+ },
+ "Options": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretOptions": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "Metadata": {
+ "additionalProperties": false,
+ "properties": {
+ "Labels": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "MountPoints": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AssignPublicIp": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NodeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "MainNode": {
+ "type": "integer"
+ },
+ "NodeRangeProperties": {
+ "items": {
+ "$ref": "#/definitions/NodeRangeProperty"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NumNodes": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "MainNode",
+ "NodeRangeProperties",
+ "NumNodes"
+ ],
+ "type": "object"
+ },
+ "NodeRangeProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "Container": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "InstanceTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TargetNodes": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetNodes"
+ ],
+ "type": "object"
+ },
+ "PodProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsPolicy": {
+ "type": "string"
+ },
+ "HostNetwork": {
+ "type": "boolean"
+ },
+ "ImagePullSecrets": {
+ "items": {
+ "$ref": "#/definitions/ImagePullSecret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitContainers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Metadata": {
+ "$ref": "#/definitions/Metadata"
+ },
+ "ServiceAccountName": {
+ "type": "string"
+ },
+ "ShareProcessNamespace": {
+ "type": "boolean"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/EksVolume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter"
+ ],
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RetryStrategy": {
+ "additionalProperties": false,
+ "properties": {
+ "Attempts": {
+ "type": "integer"
+ },
+ "EvaluateOnExit": {
+ "items": {
+ "$ref": "#/definitions/EvaluateOnExit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ValueFrom",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "TaskContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Condition",
+ "ContainerName"
+ ],
+ "type": "object"
+ },
+ "TaskContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DependsOn": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerDependency"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Timeout": {
+ "additionalProperties": false,
+ "properties": {
+ "AttemptDurationSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size",
+ "ContainerPath"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SoftLimit",
+ "HardLimit",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Volumes": {
+ "additionalProperties": false,
+ "properties": {
+ "EfsVolumeConfiguration": {
+ "$ref": "#/definitions/EfsVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/VolumesHost"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumesHost": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ContainerProperties": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "JobDefinitionName": {
+ "type": "string"
+ },
+ "NodeProperties": {
+ "$ref": "#/definitions/NodeProperties"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "PlatformCapabilities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PropagateTags": {
+ "type": "boolean"
+ },
+ "RetryStrategy": {
+ "$ref": "#/definitions/RetryStrategy"
+ },
+ "SchedulingPriority": {
+ "type": "integer"
+ },
+ "Tags": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Timeout": {
+ "$ref": "#/definitions/Timeout"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Type"
+ ],
+ "typeName": "AWS::Batch::JobDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-organizations-organization.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-organizations-organization.json
deleted file mode 100644
index 844033a13a..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-organizations-organization.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "handlers": {
- "create": {
- "permissions": [
- "organizations:CreateOrganization",
- "organizations:DescribeOrganization",
- "iam:CreateServiceLinkedRole",
- "organizations:ListRoots"
- ]
- },
- "delete": {
- "permissions": [
- "organizations:DeleteOrganization",
- "organizations:DescribeOrganization"
- ]
- },
- "list": {
- "permissions": [
- "organizations:DescribeOrganization"
- ]
- },
- "read": {
- "permissions": [
- "organizations:DescribeOrganization",
- "organizations:ListRoots"
- ]
- },
- "update": {
- "permissions": [
- "organizations:DescribeOrganization"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "pattern": "^arn:aws.*:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}",
- "type": "string"
- },
- "FeatureSet": {
- "default": "ALL",
- "enum": [
- "ALL",
- "CONSOLIDATED_BILLING"
- ],
- "type": "string"
- },
- "Id": {
- "pattern": "^o-[a-z0-9]{10,32}$",
- "type": "string"
- },
- "ManagementAccountArn": {
- "pattern": "^arn:aws.*:organizations::\\d{12}:account\\/o-[a-z0-9]{10,32}\\/\\d{12}",
- "type": "string"
- },
- "ManagementAccountEmail": {
- "maxLength": 64,
- "minLength": 6,
- "pattern": "[^\\s@]+@[^\\s@]+\\.[^\\s@]+",
- "type": "string"
- },
- "ManagementAccountId": {
- "pattern": "^\\d{12}$",
- "type": "string"
- },
- "RootId": {
- "maxLength": 64,
- "pattern": "^r-[0-9a-z]{4,32}$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn",
- "/properties/ManagementAccountArn",
- "/properties/ManagementAccountId",
- "/properties/ManagementAccountEmail",
- "/properties/RootId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations.git",
- "tagging": {
- "taggable": false
- },
- "typeName": "AWS::Organizations::Organization"
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-app.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-app.json
new file mode 100644
index 0000000000..d565ffb835
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-app.json
@@ -0,0 +1,210 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/Tags",
+ "/properties/ResourceSpec"
+ ],
+ "definitions": {
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListApps"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeApp",
+ "sagemaker:DescribeApp"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName"
+ ],
+ "properties": {
+ "AppArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:app/.*",
+ "type": "string"
+ },
+ "AppName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/AppArn"
+ ],
+ "required": [
+ "AppName",
+ "AppType",
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::App",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-model.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-model.json
new file mode 100644
index 0000000000..ef768bc0ed
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-sagemaker-model.json
@@ -0,0 +1,235 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ExecutionRoleArn",
+ "/properties/EnableNetworkIsolation",
+ "/properties/InferenceExecutionConfig",
+ "/properties/PrimaryContainer",
+ "/properties/ModelName",
+ "/properties/VpcConfig",
+ "/properties/Containers"
+ ],
+ "definitions": {
+ "ContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerHostname": {
+ "type": "string"
+ },
+ "Environment": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImageConfig": {
+ "$ref": "#/definitions/ImageConfig"
+ },
+ "InferenceSpecificationName": {
+ "type": "string"
+ },
+ "Mode": {
+ "type": "string"
+ },
+ "ModelDataSource": {
+ "$ref": "#/definitions/ModelDataSource"
+ },
+ "ModelDataUrl": {
+ "type": "string"
+ },
+ "ModelPackageName": {
+ "type": "string"
+ },
+ "MultiModelConfig": {
+ "$ref": "#/definitions/MultiModelConfig"
+ }
+ },
+ "type": "object"
+ },
+ "ImageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryAccessMode": {
+ "type": "string"
+ },
+ "RepositoryAuthConfig": {
+ "$ref": "#/definitions/RepositoryAuthConfig"
+ }
+ },
+ "required": [
+ "RepositoryAccessMode"
+ ],
+ "type": "object"
+ },
+ "InferenceExecutionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Mode": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Mode"
+ ],
+ "type": "object"
+ },
+ "ModelAccessConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AcceptEula": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "AcceptEula"
+ ],
+ "type": "object"
+ },
+ "ModelDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "S3DataSource": {
+ "$ref": "#/definitions/S3DataSource"
+ }
+ },
+ "required": [
+ "S3DataSource"
+ ],
+ "type": "object"
+ },
+ "MultiModelConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ModelCacheSetting": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryAuthConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryCredentialsProviderArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryCredentialsProviderArn"
+ ],
+ "type": "object"
+ },
+ "S3DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CompressionType": {
+ "type": "string"
+ },
+ "ModelAccessConfig": {
+ "$ref": "#/definitions/ModelAccessConfig"
+ },
+ "S3DataType": {
+ "type": "string"
+ },
+ "S3Uri": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Uri",
+ "S3DataType",
+ "CompressionType"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "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",
+ "uniqueItems": false
+ },
+ "Subnets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Subnets",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EnableNetworkIsolation": {
+ "type": "boolean"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "InferenceExecutionConfig": {
+ "$ref": "#/definitions/InferenceExecutionConfig"
+ },
+ "ModelName": {
+ "type": "string"
+ },
+ "PrimaryContainer": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "typeName": "AWS::SageMaker::Model"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-stepfunctions-activity.json
deleted file mode 100644
index 7aaf191ed1..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-stepfunctions-activity.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateActivity",
- "states:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "states:DescribeActivity",
- "states:DeleteActivity"
- ]
- },
- "list": {
- "permissions": [
- "states:ListActivities"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeActivity",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:ListTagsForResource",
- "states:TagResource",
- "states:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::Activity"
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-stepfunctions-statemachine.json
deleted file mode 100644
index c8a1b0f42e..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-stepfunctions-statemachine.json
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/StateMachineName"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/StateMachineName",
- "/properties/StateMachineType"
- ],
- "definitions": {
- "CloudWatchLogsLogGroup": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- },
- "Definition": {
- "minProperties": 1,
- "type": "object"
- },
- "DefinitionSubstitutions": {
- "additionalProperties": false,
- "minProperties": 1,
- "patternProperties": {
- ".*": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- },
- {
- "type": "boolean"
- }
- ]
- }
- },
- "type": "object"
- },
- "LogDestination": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsLogGroup": {
- "$ref": "#/definitions/CloudWatchLogsLogGroup"
- }
- },
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destinations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LogDestination"
- },
- "minItems": 1,
- "type": "array"
- },
- "IncludeExecutionData": {
- "type": "boolean"
- },
- "Level": {
- "enum": [
- "ALL",
- "ERROR",
- "FATAL",
- "OFF"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "S3Location": {
- "additionalProperties": false,
- "properties": {
- "Bucket": {
- "type": "string"
- },
- "Key": {
- "type": "string"
- },
- "Version": {
- "type": "string"
- }
- },
- "required": [
- "Bucket",
- "Key"
- ],
- "type": "object"
- },
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TracingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Enabled": {
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateStateMachine",
- "states:DescribeStateMachine",
- "states:TagResource",
- "iam:PassRole",
- "s3:GetObject"
- ]
- },
- "delete": {
- "permissions": [
- "states:DeleteStateMachine",
- "states:DescribeStateMachine"
- ]
- },
- "list": {
- "permissions": [
- "states:ListStateMachines"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeStateMachine",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:UpdateStateMachine",
- "states:TagResource",
- "states:UntagResource",
- "states:ListTagsForResource",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/Definition"
- },
- "DefinitionS3Location": {
- "$ref": "#/definitions/S3Location"
- },
- "DefinitionString": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "DefinitionSubstitutions": {
- "$ref": "#/definitions/DefinitionSubstitutions"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineName": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineRevisionId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineType": {
- "enum": [
- "STANDARD",
- "EXPRESS"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TracingConfiguration": {
- "$ref": "#/definitions/TracingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/Name",
- "/properties/StateMachineRevisionId"
- ],
- "required": [
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::StateMachine",
- "writeOnlyProperties": [
- "/properties/Definition",
- "/properties/DefinitionS3Location",
- "/properties/DefinitionSubstitutions"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-xray-group.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-xray-group.json
new file mode 100644
index 0000000000..658d9b8484
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-xray-group.json
@@ -0,0 +1,105 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "InsightsConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "InsightsEnabled": {
+ "type": "boolean"
+ },
+ "NotificationsEnabled": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "xray:CreateGroup",
+ "xray:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "xray:DeleteGroup"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "xray:GetGroups",
+ "xray:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "xray:GetGroup",
+ "xray:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "xray:UpdateGroup",
+ "xray:TagResource",
+ "xray:UntagResource",
+ "xray:ListTagsForResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/GroupARN"
+ ],
+ "properties": {
+ "FilterExpression": {
+ "type": "string"
+ },
+ "GroupARN": {
+ "maxLength": 400,
+ "minLength": 1,
+ "type": "string"
+ },
+ "GroupName": {
+ "maxLength": 32,
+ "minLength": 1,
+ "type": "string"
+ },
+ "InsightsConfiguration": {
+ "$ref": "#/definitions/InsightsConfiguration"
+ },
+ "Tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/GroupARN"
+ ],
+ "required": [
+ "GroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "typeName": "AWS::XRay::Group"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-xray-samplingrule.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-xray-samplingrule.json
new file mode 100644
index 0000000000..7ed7156ff8
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-xray-samplingrule.json
@@ -0,0 +1,255 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SamplingRule/Version"
+ ],
+ "definitions": {
+ "RuleARN": {
+ "type": "string"
+ },
+ "RuleName": {
+ "maxLength": 32,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SamplingRule": {
+ "additionalProperties": false,
+ "properties": {
+ "Attributes": {
+ "$comment": "String to string map",
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "FixedRate": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "HTTPMethod": {
+ "maxLength": 10,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "Priority": {
+ "maximum": 9999,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "ReservoirSize": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "ResourceARN": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "RuleARN": {
+ "$ref": "#/definitions/RuleARN"
+ },
+ "RuleName": {
+ "$ref": "#/definitions/RuleName"
+ },
+ "ServiceName": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "ServiceType": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "URLPath": {
+ "maxLength": 128,
+ "type": "string"
+ },
+ "Version": {
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FixedRate",
+ "Host",
+ "HTTPMethod",
+ "Priority",
+ "ReservoirSize",
+ "ResourceARN",
+ "ServiceName",
+ "ServiceType",
+ "URLPath"
+ ],
+ "type": "object"
+ },
+ "SamplingRuleRecord": {
+ "additionalProperties": false,
+ "properties": {
+ "CreatedAt": {
+ "type": "string"
+ },
+ "ModifiedAt": {
+ "type": "string"
+ },
+ "SamplingRule": {
+ "$ref": "#/definitions/SamplingRule"
+ }
+ },
+ "type": "object"
+ },
+ "SamplingRuleUpdate": {
+ "additionalProperties": false,
+ "properties": {
+ "Attributes": {
+ "$comment": "String to string map",
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "FixedRate": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "HTTPMethod": {
+ "maxLength": 10,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "Priority": {
+ "maximum": 9999,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "ReservoirSize": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "ResourceARN": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "RuleARN": {
+ "$ref": "#/definitions/RuleARN"
+ },
+ "RuleName": {
+ "$ref": "#/definitions/RuleName"
+ },
+ "ServiceName": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "ServiceType": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "URLPath": {
+ "maxLength": 128,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/RuleName",
+ "/properties/SamplingRuleRecord",
+ "/properties/SamplingRuleUpdate"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "xray:CreateSamplingRule",
+ "xray:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "xray:DeleteSamplingRule"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "xray:GetSamplingRules",
+ "xray:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "xray:GetSamplingRules",
+ "xray:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "xray:UpdateSamplingRule",
+ "xray:TagResource",
+ "xray:UntagResource",
+ "xray:ListTagsForResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/RuleARN"
+ ],
+ "properties": {
+ "RuleARN": {
+ "$ref": "#/definitions/RuleARN"
+ },
+ "RuleName": {
+ "$ref": "#/definitions/RuleName"
+ },
+ "SamplingRule": {
+ "$ref": "#/definitions/SamplingRule"
+ },
+ "SamplingRuleRecord": {
+ "$ref": "#/definitions/SamplingRuleRecord"
+ },
+ "SamplingRuleUpdate": {
+ "$ref": "#/definitions/SamplingRuleUpdate"
+ },
+ "Tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/RuleARN"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "typeName": "AWS::XRay::SamplingRule"
+}
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 b56d46d7b3..a712ec0f6c 100644
--- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py
@@ -107,6 +107,9 @@
"AWS::CertificateManager::Certificate",
"AWS::Cloud9::EnvironmentEC2",
"AWS::CloudFormation::CustomResource",
+ "AWS::CloudFormation::HookDefaultVersion",
+ "AWS::CloudFormation::HookTypeConfig",
+ "AWS::CloudFormation::HookVersion",
"AWS::CloudFormation::Macro",
"AWS::CloudFormation::ModuleDefaultVersion",
"AWS::CloudFormation::ModuleVersion",
@@ -727,7 +730,6 @@
"aws-appsync-graphqlschema.json",
"aws-appsync-resolver.json",
"aws-appsync-sourceapiassociation.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
"aws-athena-preparedstatement.json",
@@ -742,7 +744,6 @@
"aws-backup-backupselection.json",
"aws-backup-backupvault.json",
"aws-batch-computeenvironment.json",
- "aws-batch-jobdefinition.json",
"aws-batch-jobqueue.json",
"aws-batch-schedulingpolicy.json",
"aws-budgets-budget.json",
@@ -755,6 +756,9 @@
"aws-certificatemanager-account.json",
"aws-certificatemanager-certificate.json",
"aws-cloudformation-customresource.json",
+ "aws-cloudformation-hookdefaultversion.json",
+ "aws-cloudformation-hooktypeconfig.json",
+ "aws-cloudformation-hookversion.json",
"aws-cloudformation-macro.json",
"aws-cloudformation-moduledefaultversion.json",
"aws-cloudformation-moduleversion.json",
@@ -847,7 +851,6 @@
"aws-ec2-ipamresourcediscovery.json",
"aws-ec2-ipamresourcediscoveryassociation.json",
"aws-ec2-ipamscope.json",
- "aws-ec2-keypair.json",
"aws-ec2-launchtemplate.json",
"aws-ec2-natgateway.json",
"aws-ec2-networkacl.json",
@@ -948,7 +951,6 @@
"aws-eventschemas-registry.json",
"aws-eventschemas-registrypolicy.json",
"aws-eventschemas-schema.json",
- "aws-fms-policy.json",
"aws-frauddetector-list.json",
"aws-fsx-datarepositoryassociation.json",
"aws-fsx-snapshot.json",
@@ -979,7 +981,6 @@
"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",
@@ -1044,7 +1045,6 @@
"aws-kinesisanalytics-applicationoutput.json",
"aws-kinesisanalyticsv2-application.json",
"aws-kinesisanalyticsv2-applicationoutput.json",
- "aws-kinesisfirehose-deliverystream.json",
"aws-kms-alias.json",
"aws-kms-key.json",
"aws-lakeformation-datacellsfilter.json",
@@ -1100,9 +1100,7 @@
"aws-pipes-pipe.json",
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
- "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
- "aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
"aws-rds-dbproxy.json",
"aws-rds-dbproxyendpoint.json",
@@ -1112,7 +1110,6 @@
"aws-rds-dbsubnetgroup.json",
"aws-rds-eventsubscription.json",
"aws-rds-globalcluster.json",
- "aws-rds-integration.json",
"aws-rds-optiongroup.json",
"aws-redshift-cluster.json",
"aws-redshift-clusterparametergroup.json",
@@ -1151,16 +1148,13 @@
"aws-s3-storagelensgroup.json",
"aws-s3objectlambda-accesspoint.json",
"aws-s3objectlambda-accesspointpolicy.json",
- "aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-coderepository.json",
- "aws-sagemaker-domain.json",
"aws-sagemaker-endpoint.json",
"aws-sagemaker-endpointconfig.json",
"aws-sagemaker-featuregroup.json",
"aws-sagemaker-image.json",
"aws-sagemaker-imageversion.json",
- "aws-sagemaker-model.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelpackage.json",
"aws-sagemaker-monitoringschedule.json",
@@ -1168,10 +1162,8 @@
"aws-sagemaker-notebookinstancelifecycleconfig.json",
"aws-sagemaker-pipeline.json",
"aws-sagemaker-project.json",
- "aws-sagemaker-userprofile.json",
"aws-sagemaker-workteam.json",
"aws-sdb-domain.json",
- "aws-secretsmanager-resourcepolicy.json",
"aws-secretsmanager-rotationschedule.json",
"aws-secretsmanager-secret.json",
"aws-securityhub-automationrule.json",
@@ -1219,6 +1211,8 @@
"aws-sso-instance.json",
"aws-sso-instanceaccesscontrolattributeconfiguration.json",
"aws-sso-permissionset.json",
+ "aws-stepfunctions-activity.json",
+ "aws-stepfunctions-statemachine.json",
"aws-stepfunctions-statemachinealias.json",
"aws-stepfunctions-statemachineversion.json",
"aws-synthetics-canary.json",
@@ -1248,8 +1242,6 @@
"aws-wafv2-webacl.json",
"aws-wafv2-webaclassociation.json",
"aws-workspaces-workspace.json",
- "aws-xray-group.json",
"aws-xray-resourcepolicy.json",
- "aws-xray-samplingrule.json",
"module.json",
]
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-arczonalshift-zonalautoshiftconfiguration.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-arczonalshift-zonalautoshiftconfiguration.json
new file mode 100644
index 0000000000..3bdd4887b2
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-arczonalshift-zonalautoshiftconfiguration.json
@@ -0,0 +1,169 @@
+{
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "allOf": [
+ {
+ "required": [
+ "ResourceIdentifier"
+ ]
+ }
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "ZonalAutoshiftStatus"
+ ]
+ },
+ {
+ "required": [
+ "PracticeRunConfiguration"
+ ]
+ }
+ ]
+ }
+ ],
+ "createOnlyProperties": [
+ "/properties/ResourceIdentifier"
+ ],
+ "definitions": {
+ "ControlCondition": {
+ "additionalProperties": false,
+ "properties": {
+ "AlarmIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "pattern": "^arn:.*$",
+ "type": "string"
+ },
+ "Type": {
+ "$ref": "#/definitions/ControlConditionType"
+ }
+ },
+ "required": [
+ "AlarmIdentifier",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ControlConditionType": {
+ "enum": [
+ "CLOUDWATCH"
+ ],
+ "type": "string"
+ },
+ "PracticeRunConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockedDates": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 10,
+ "minLength": 10,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockedWindows": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 19,
+ "minLength": 19,
+ "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}-(Mon|Tue|Wed|Thu|Fri|Sat|Sun):[0-9]{2}:[0-9]{2}$",
+ "type": "string"
+ },
+ "maxItems": 15,
+ "minItems": 0,
+ "type": "array"
+ },
+ "BlockingAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "OutcomeAlarms": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/ControlCondition"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "OutcomeAlarms"
+ ],
+ "type": "object"
+ },
+ "ZonalAutoshiftStatus": {
+ "enum": [
+ "ENABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "arc-zonal-shift:CreatePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "arc-zonal-shift:DeletePracticeRunConfiguration",
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "arc-zonal-shift:ListManagedResources"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "arc-zonal-shift:GetManagedResource",
+ "arc-zonal-shift:UpdatePracticeRunConfiguration",
+ "arc-zonal-shift:UpdateZonalAutoshiftConfiguration",
+ "cloudwatch:DescribeAlarms"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/ResourceIdentifier"
+ ],
+ "properties": {
+ "PracticeRunConfiguration": {
+ "$ref": "#/definitions/PracticeRunConfiguration"
+ },
+ "ResourceIdentifier": {
+ "maxLength": 1024,
+ "minLength": 8,
+ "type": "string"
+ },
+ "ZonalAutoshiftStatus": {
+ "$ref": "#/definitions/ZonalAutoshiftStatus"
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "typeName": "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-batch-jobdefinition.json
new file mode 100644
index 0000000000..2d82031cd0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-batch-jobdefinition.json
@@ -0,0 +1,992 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Tags",
+ "/properties/JobDefinitionName"
+ ],
+ "definitions": {
+ "AuthorizationConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessPointId": {
+ "type": "string"
+ },
+ "Iam": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "FargatePlatformConfiguration": {
+ "$ref": "#/definitions/FargatePlatformConfiguration"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "InstanceType": {
+ "type": "string"
+ },
+ "JobRoleArn": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "Memory": {
+ "type": "integer"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ },
+ "Vcpus": {
+ "type": "integer"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Device": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "HostPath": {
+ "type": "string"
+ },
+ "Permissions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EcsProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "TaskProperties": {
+ "items": {
+ "$ref": "#/definitions/EcsTaskProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "TaskProperties"
+ ],
+ "type": "object"
+ },
+ "EcsTaskProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerProperties"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EphemeralStorage": {
+ "$ref": "#/definitions/EphemeralStorage"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "IpcMode": {
+ "type": "string"
+ },
+ "NetworkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration"
+ },
+ "PidMode": {
+ "type": "string"
+ },
+ "PlatformVersion": {
+ "type": "string"
+ },
+ "RuntimePlatform": {
+ "$ref": "#/definitions/RuntimePlatform"
+ },
+ "TaskRoleArn": {
+ "type": "string"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/Volumes"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EfsVolumeConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthorizationConfig": {
+ "$ref": "#/definitions/AuthorizationConfig"
+ },
+ "FileSystemId": {
+ "type": "string"
+ },
+ "RootDirectory": {
+ "type": "string"
+ },
+ "TransitEncryption": {
+ "type": "string"
+ },
+ "TransitEncryptionPort": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "EksContainer": {
+ "additionalProperties": false,
+ "properties": {
+ "Args": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Env": {
+ "items": {
+ "$ref": "#/definitions/EksContainerEnvironmentVariable"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImagePullPolicy": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Resources": {
+ "$ref": "#/definitions/EksContainerResourceRequirements"
+ },
+ "SecurityContext": {
+ "$ref": "#/definitions/EksContainerSecurityContext"
+ },
+ "VolumeMounts": {
+ "items": {
+ "$ref": "#/definitions/EksContainerVolumeMount"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "EksContainerEnvironmentVariable": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "EksContainerResourceRequirements": {
+ "additionalProperties": false,
+ "properties": {
+ "Limits": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Requests": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerSecurityContext": {
+ "additionalProperties": false,
+ "properties": {
+ "AllowPrivilegeEscalation": {
+ "type": "boolean"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadOnlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RunAsGroup": {
+ "type": "integer"
+ },
+ "RunAsNonRoot": {
+ "type": "boolean"
+ },
+ "RunAsUser": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EksContainerVolumeMount": {
+ "additionalProperties": false,
+ "properties": {
+ "MountPath": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "EksEmptyDir": {
+ "additionalProperties": false,
+ "properties": {
+ "Medium": {
+ "type": "string"
+ },
+ "SizeLimit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksHostPath": {
+ "additionalProperties": false,
+ "properties": {
+ "Path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EksProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "PodProperties": {
+ "$ref": "#/definitions/PodProperties"
+ }
+ },
+ "type": "object"
+ },
+ "EksSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Optional": {
+ "type": "boolean"
+ },
+ "SecretName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "SecretName"
+ ],
+ "type": "object"
+ },
+ "EksVolume": {
+ "additionalProperties": false,
+ "properties": {
+ "EmptyDir": {
+ "$ref": "#/definitions/EksEmptyDir"
+ },
+ "HostPath": {
+ "$ref": "#/definitions/EksHostPath"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Secret": {
+ "$ref": "#/definitions/EksSecret"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Environment": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EphemeralStorage": {
+ "additionalProperties": false,
+ "properties": {
+ "SizeInGiB": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SizeInGiB"
+ ],
+ "type": "object"
+ },
+ "EvaluateOnExit": {
+ "additionalProperties": false,
+ "properties": {
+ "Action": {
+ "type": "string"
+ },
+ "OnExitCode": {
+ "type": "string"
+ },
+ "OnReason": {
+ "type": "string"
+ },
+ "OnStatusReason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Action"
+ ],
+ "type": "object"
+ },
+ "FargatePlatformConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PlatformVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ImagePullSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "LinuxParameters": {
+ "additionalProperties": false,
+ "properties": {
+ "Devices": {
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitProcessEnabled": {
+ "type": "boolean"
+ },
+ "MaxSwap": {
+ "type": "integer"
+ },
+ "SharedMemorySize": {
+ "type": "integer"
+ },
+ "Swappiness": {
+ "type": "integer"
+ },
+ "Tmpfs": {
+ "items": {
+ "$ref": "#/definitions/Tmpfs"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "LogConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "LogDriver": {
+ "type": "string"
+ },
+ "Options": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretOptions": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "LogDriver"
+ ],
+ "type": "object"
+ },
+ "Metadata": {
+ "additionalProperties": false,
+ "properties": {
+ "Labels": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "MountPoints": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "ReadOnly": {
+ "type": "boolean"
+ },
+ "SourceVolume": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NetworkConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AssignPublicIp": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NodeProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "MainNode": {
+ "type": "integer"
+ },
+ "NodeRangeProperties": {
+ "items": {
+ "$ref": "#/definitions/NodeRangeProperty"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "NumNodes": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "MainNode",
+ "NodeRangeProperties",
+ "NumNodes"
+ ],
+ "type": "object"
+ },
+ "NodeRangeProperty": {
+ "additionalProperties": false,
+ "properties": {
+ "Container": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "InstanceTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TargetNodes": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TargetNodes"
+ ],
+ "type": "object"
+ },
+ "PodProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DnsPolicy": {
+ "type": "string"
+ },
+ "HostNetwork": {
+ "type": "boolean"
+ },
+ "ImagePullSecrets": {
+ "items": {
+ "$ref": "#/definitions/ImagePullSecret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "InitContainers": {
+ "items": {
+ "$ref": "#/definitions/EksContainer"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Metadata": {
+ "$ref": "#/definitions/Metadata"
+ },
+ "ServiceAccountName": {
+ "type": "string"
+ },
+ "ShareProcessNamespace": {
+ "type": "boolean"
+ },
+ "Volumes": {
+ "items": {
+ "$ref": "#/definitions/EksVolume"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryCredentials": {
+ "additionalProperties": false,
+ "properties": {
+ "CredentialsParameter": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CredentialsParameter"
+ ],
+ "type": "object"
+ },
+ "ResourceRequirement": {
+ "additionalProperties": false,
+ "properties": {
+ "Type": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RetryStrategy": {
+ "additionalProperties": false,
+ "properties": {
+ "Attempts": {
+ "type": "integer"
+ },
+ "EvaluateOnExit": {
+ "items": {
+ "$ref": "#/definitions/EvaluateOnExit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "RuntimePlatform": {
+ "additionalProperties": false,
+ "properties": {
+ "CpuArchitecture": {
+ "type": "string"
+ },
+ "OperatingSystemFamily": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Secret": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "ValueFrom": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ValueFrom",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "TaskContainerDependency": {
+ "additionalProperties": false,
+ "properties": {
+ "Condition": {
+ "type": "string"
+ },
+ "ContainerName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Condition",
+ "ContainerName"
+ ],
+ "type": "object"
+ },
+ "TaskContainerProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "Command": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DependsOn": {
+ "items": {
+ "$ref": "#/definitions/TaskContainerDependency"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Environment": {
+ "items": {
+ "$ref": "#/definitions/Environment"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Essential": {
+ "type": "boolean"
+ },
+ "Image": {
+ "type": "string"
+ },
+ "LinuxParameters": {
+ "$ref": "#/definitions/LinuxParameters"
+ },
+ "LogConfiguration": {
+ "$ref": "#/definitions/LogConfiguration"
+ },
+ "MountPoints": {
+ "items": {
+ "$ref": "#/definitions/MountPoints"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Privileged": {
+ "type": "boolean"
+ },
+ "ReadonlyRootFilesystem": {
+ "type": "boolean"
+ },
+ "RepositoryCredentials": {
+ "$ref": "#/definitions/RepositoryCredentials"
+ },
+ "ResourceRequirements": {
+ "items": {
+ "$ref": "#/definitions/ResourceRequirement"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Secrets": {
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Ulimits": {
+ "items": {
+ "$ref": "#/definitions/Ulimit"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "User": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "Timeout": {
+ "additionalProperties": false,
+ "properties": {
+ "AttemptDurationSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tmpfs": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerPath": {
+ "type": "string"
+ },
+ "MountOptions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Size": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Size",
+ "ContainerPath"
+ ],
+ "type": "object"
+ },
+ "Ulimit": {
+ "additionalProperties": false,
+ "properties": {
+ "HardLimit": {
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "SoftLimit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "SoftLimit",
+ "HardLimit",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Volumes": {
+ "additionalProperties": false,
+ "properties": {
+ "EfsVolumeConfiguration": {
+ "$ref": "#/definitions/EfsVolumeConfiguration"
+ },
+ "Host": {
+ "$ref": "#/definitions/VolumesHost"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "VolumesHost": {
+ "additionalProperties": false,
+ "properties": {
+ "SourcePath": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "ContainerProperties": {
+ "$ref": "#/definitions/ContainerProperties"
+ },
+ "EcsProperties": {
+ "$ref": "#/definitions/EcsProperties"
+ },
+ "EksProperties": {
+ "$ref": "#/definitions/EksProperties"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "JobDefinitionName": {
+ "type": "string"
+ },
+ "NodeProperties": {
+ "$ref": "#/definitions/NodeProperties"
+ },
+ "Parameters": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "PlatformCapabilities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "PropagateTags": {
+ "type": "boolean"
+ },
+ "RetryStrategy": {
+ "$ref": "#/definitions/RetryStrategy"
+ },
+ "SchedulingPriority": {
+ "type": "integer"
+ },
+ "Tags": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Timeout": {
+ "$ref": "#/definitions/Timeout"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "Type"
+ ],
+ "typeName": "AWS::Batch::JobDefinition"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-keypair.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-keypair.json
new file mode 100644
index 0000000000..4e6803a430
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-keypair.json
@@ -0,0 +1,122 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/KeyPairId"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/KeyName",
+ "/properties/KeyType",
+ "/properties/KeyFormat",
+ "/properties/PublicKeyMaterial",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:CreateKeyPair",
+ "ec2:ImportKeyPair",
+ "ec2:CreateTags",
+ "ssm:PutParameter"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DeleteKeyPair",
+ "ssm:DeleteParameter",
+ "ec2:DescribeKeyPairs"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeKeyPairs"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeKeyPairs"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/KeyName"
+ ],
+ "properties": {
+ "KeyFingerprint": {
+ "type": "string"
+ },
+ "KeyFormat": {
+ "default": "pem",
+ "enum": [
+ "pem",
+ "ppk"
+ ],
+ "type": "string"
+ },
+ "KeyName": {
+ "type": "string"
+ },
+ "KeyPairId": {
+ "type": "string"
+ },
+ "KeyType": {
+ "default": "rsa",
+ "enum": [
+ "rsa",
+ "ed25519"
+ ],
+ "type": "string"
+ },
+ "PublicKeyMaterial": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/KeyPairId",
+ "/properties/KeyFingerprint"
+ ],
+ "required": [
+ "KeyName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagUpdatable": false,
+ "taggable": true
+ },
+ "typeName": "AWS::EC2::KeyPair",
+ "writeOnlyProperties": [
+ "/properties/KeyFormat"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-fms-policy.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-fms-policy.json
new file mode 100644
index 0000000000..8456d02fd6
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-fms-policy.json
@@ -0,0 +1,472 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "AccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^([0-9]*)$",
+ "type": "string"
+ },
+ "Base62Id": {
+ "maxLength": 22,
+ "minLength": 22,
+ "pattern": "^[a-z0-9A-Z]{22}$",
+ "type": "string"
+ },
+ "FirewallDeploymentModel": {
+ "enum": [
+ "DISTRIBUTED",
+ "CENTRALIZED"
+ ],
+ "type": "string"
+ },
+ "IEMap": {
+ "additionalProperties": false,
+ "properties": {
+ "ACCOUNT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/AccountId"
+ },
+ "type": "array"
+ },
+ "ORGUNIT": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/OrganizationalUnitId"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedServiceData": {
+ "maxLength": 8192,
+ "minLength": 1,
+ "type": "string"
+ },
+ "NetworkAclCommonPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkAclEntrySet": {
+ "$ref": "#/definitions/NetworkAclEntrySet"
+ }
+ },
+ "required": [
+ "NetworkAclEntrySet"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "CidrBlock": {
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
+ "type": "string"
+ },
+ "Egress": {
+ "type": "boolean"
+ },
+ "IcmpTypeCode": {
+ "additionalProperties": false,
+ "properties": {
+ "Code": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "Type": {
+ "maximum": 255,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Code",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "Ipv6CidrBlock": {
+ "pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))(/(1[0-2]|[0-9]))?$",
+ "type": "string"
+ },
+ "PortRange": {
+ "additionalProperties": false,
+ "properties": {
+ "From": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "To": {
+ "maximum": 65535,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "From",
+ "To"
+ ],
+ "type": "object"
+ },
+ "Protocol": {
+ "pattern": "^(tcp|udp|icmp|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$",
+ "type": "string"
+ },
+ "RuleAction": {
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Egress",
+ "Protocol",
+ "RuleAction"
+ ],
+ "type": "object"
+ },
+ "NetworkAclEntryList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/NetworkAclEntry"
+ },
+ "type": "array"
+ },
+ "NetworkAclEntrySet": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "FirstEntries"
+ ]
+ },
+ {
+ "required": [
+ "LastEntries"
+ ]
+ }
+ ],
+ "properties": {
+ "FirstEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ },
+ "ForceRemediateForFirstEntries": {
+ "type": "boolean"
+ },
+ "ForceRemediateForLastEntries": {
+ "type": "boolean"
+ },
+ "LastEntries": {
+ "$ref": "#/definitions/NetworkAclEntryList"
+ }
+ },
+ "required": [
+ "ForceRemediateForFirstEntries",
+ "ForceRemediateForLastEntries"
+ ],
+ "type": "object"
+ },
+ "NetworkFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ },
+ "OrganizationalUnitId": {
+ "maxLength": 68,
+ "minLength": 16,
+ "pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$",
+ "type": "string"
+ },
+ "PolicyOption": {
+ "additionalProperties": false,
+ "oneOf": [
+ {
+ "required": [
+ "NetworkFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "ThirdPartyFirewallPolicy"
+ ]
+ },
+ {
+ "required": [
+ "NetworkAclCommonPolicy"
+ ]
+ }
+ ],
+ "properties": {
+ "NetworkAclCommonPolicy": {
+ "$ref": "#/definitions/NetworkAclCommonPolicy"
+ },
+ "NetworkFirewallPolicy": {
+ "$ref": "#/definitions/NetworkFirewallPolicy"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "$ref": "#/definitions/ThirdPartyFirewallPolicy"
+ }
+ },
+ "type": "object"
+ },
+ "PolicyTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "PolicyType": {
+ "enum": [
+ "WAF",
+ "WAFV2",
+ "SHIELD_ADVANCED",
+ "SECURITY_GROUPS_COMMON",
+ "SECURITY_GROUPS_CONTENT_AUDIT",
+ "SECURITY_GROUPS_USAGE_AUDIT",
+ "NETWORK_FIREWALL",
+ "THIRD_PARTY_FIREWALL",
+ "DNS_FIREWALL",
+ "IMPORT_NETWORK_FIREWALL",
+ "NETWORK_ACL_COMMON"
+ ],
+ "type": "string"
+ },
+ "ResourceArn": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "ResourceTag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "ResourceType": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([^\\s]*)$",
+ "type": "string"
+ },
+ "SecurityServicePolicyData": {
+ "additionalProperties": false,
+ "properties": {
+ "ManagedServiceData": {
+ "$ref": "#/definitions/ManagedServiceData"
+ },
+ "PolicyOption": {
+ "$ref": "#/definitions/PolicyOption"
+ },
+ "Type": {
+ "$ref": "#/definitions/PolicyType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ThirdPartyFirewallPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "FirewallDeploymentModel": {
+ "$ref": "#/definitions/FirewallDeploymentModel"
+ }
+ },
+ "required": [
+ "FirewallDeploymentModel"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:TagResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "fms:DeletePolicy"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "fms:ListPolicies",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "fms:GetPolicy",
+ "fms:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "fms:PutPolicy",
+ "fms:GetPolicy",
+ "fms:TagResource",
+ "fms:UntagResource",
+ "fms:ListTagsForResource",
+ "waf-regional:ListRuleGroups",
+ "wafv2:CheckCapacity",
+ "wafv2:ListRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroups",
+ "wafv2:ListAvailableManagedRuleGroupVersions",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:DescribeRuleGroupMetadata",
+ "route53resolver:ListFirewallRuleGroups",
+ "ec2:DescribeAvailabilityZones",
+ "s3:PutBucketPolicy",
+ "s3:GetBucketPolicy"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "$ref": "#/definitions/ResourceArn"
+ },
+ "DeleteAllPolicyResources": {
+ "type": "boolean"
+ },
+ "ExcludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "ExcludeResourceTags": {
+ "type": "boolean"
+ },
+ "Id": {
+ "maxLength": 36,
+ "minLength": 36,
+ "pattern": "^[a-z0-9A-Z-]{36}$",
+ "type": "string"
+ },
+ "IncludeMap": {
+ "$ref": "#/definitions/IEMap"
+ },
+ "PolicyDescription": {
+ "maxLength": 256,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "PolicyName": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^([a-zA-Z0-9_.:/=+\\-@\\s]+)$",
+ "type": "string"
+ },
+ "RemediationEnabled": {
+ "type": "boolean"
+ },
+ "ResourceSetIds": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/Base62Id"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ResourceTags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceTag"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "ResourceType": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "ResourceTypeList": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "type": "array"
+ },
+ "ResourcesCleanUp": {
+ "type": "boolean"
+ },
+ "SecurityServicePolicyData": {
+ "$ref": "#/definitions/SecurityServicePolicyData"
+ },
+ "Tags": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/PolicyTag"
+ },
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Id"
+ ],
+ "required": [
+ "ExcludeResourceTags",
+ "PolicyName",
+ "RemediationEnabled",
+ "SecurityServicePolicyData"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fms.git",
+ "typeName": "AWS::FMS::Policy",
+ "writeOnlyProperties": [
+ "/properties/DeleteAllPolicyResources"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-glue-trigger.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-glue-trigger.json
new file mode 100644
index 0000000000..974dd89b9f
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-glue-trigger.json
@@ -0,0 +1,172 @@
+{
+ "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/cn_northwest_1/aws-kinesisfirehose-deliverystream.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-kinesisfirehose-deliverystream.json
new file mode 100644
index 0000000000..37b2adaff0
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-kinesisfirehose-deliverystream.json
@@ -0,0 +1,1607 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DeliveryStreamName",
+ "/properties/DeliveryStreamType",
+ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration",
+ "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration",
+ "/properties/KinesisStreamSourceConfiguration",
+ "/properties/MSKSourceConfiguration",
+ "/properties/SnowflakeDestinationConfiguration/SnowflakeVpcConfiguration"
+ ],
+ "definitions": {
+ "AmazonOpenSearchServerlessBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CollectionEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/CollectionEndpoint",
+ "typeName": "AWS::OpenSearchServerless::Collection"
+ },
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonOpenSearchServerlessRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/AmazonopensearchserviceBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/AmazonopensearchserviceRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "AmazonopensearchserviceRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthenticationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Connectivity": {
+ "enum": [
+ "PUBLIC",
+ "PRIVATE"
+ ],
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "Connectivity"
+ ],
+ "type": "object"
+ },
+ "BufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CloudWatchLoggingOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "LogGroupName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogGroupName",
+ "typeName": "AWS::Logs::LogGroup"
+ },
+ "type": "string"
+ },
+ "LogStreamName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/LogStreamName",
+ "typeName": "AWS::Logs::LogStream"
+ },
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CopyCommand": {
+ "additionalProperties": false,
+ "properties": {
+ "CopyOptions": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableColumns": {
+ "maxLength": 204800,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataTableName": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataTableName"
+ ],
+ "type": "object"
+ },
+ "DataFormatConversionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "InputFormatConfiguration": {
+ "$ref": "#/definitions/InputFormatConfiguration"
+ },
+ "OutputFormatConfiguration": {
+ "$ref": "#/definitions/OutputFormatConfiguration"
+ },
+ "SchemaConfiguration": {
+ "$ref": "#/definitions/SchemaConfiguration"
+ }
+ },
+ "type": "object"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "additionalProperties": false,
+ "properties": {
+ "KeyARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ },
+ "KeyType": {
+ "enum": [
+ "AWS_OWNED_CMK",
+ "CUSTOMER_MANAGED_CMK"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "KeyType"
+ ],
+ "type": "object"
+ },
+ "Deserializer": {
+ "additionalProperties": false,
+ "properties": {
+ "HiveJsonSerDe": {
+ "$ref": "#/definitions/HiveJsonSerDe"
+ },
+ "OpenXJsonSerDe": {
+ "$ref": "#/definitions/OpenXJsonSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "DocumentIdOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultDocumentIdFormat": {
+ "enum": [
+ "FIREHOSE_DEFAULT",
+ "NO_DOCUMENT_ID"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "DefaultDocumentIdFormat"
+ ],
+ "type": "object"
+ },
+ "DynamicPartitioningConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/ElasticsearchBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterEndpoint": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "https:.*",
+ "type": "string"
+ },
+ "DocumentIdOptions": {
+ "$ref": "#/definitions/DocumentIdOptions"
+ },
+ "DomainARN": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Elasticsearch::Domain"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::OpenSearchService::Domain"
+ }
+ }
+ ],
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "type": "string"
+ },
+ "IndexName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IndexRotationPeriod": {
+ "enum": [
+ "NoRotation",
+ "OneHour",
+ "OneDay",
+ "OneWeek",
+ "OneMonth"
+ ],
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/ElasticsearchRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDocumentsOnly",
+ "AllDocuments"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "TypeName": {
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "VpcConfiguration": {
+ "$ref": "#/definitions/VpcConfiguration"
+ }
+ },
+ "required": [
+ "IndexName",
+ "S3Configuration",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "ElasticsearchRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EncryptionConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KMSEncryptionConfig": {
+ "$ref": "#/definitions/KMSEncryptionConfig"
+ },
+ "NoEncryptionConfig": {
+ "enum": [
+ "NoEncryption"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "CustomTimeZone": {
+ "maxLength": 50,
+ "minLength": 0,
+ "type": "string"
+ },
+ "DataFormatConversionConfiguration": {
+ "$ref": "#/definitions/DataFormatConversionConfiguration"
+ },
+ "DynamicPartitioningConfiguration": {
+ "$ref": "#/definitions/DynamicPartitioningConfiguration"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "FileExtension": {
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^$|\\.[0-9a-z!\\-_.*'()]+",
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "HiveJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "TimestampFormats": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "HttpEndpointCommonAttribute": {
+ "additionalProperties": false,
+ "properties": {
+ "AttributeName": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "AttributeValue": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeValue"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "maxLength": 4096,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Url": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Url"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "EndpointConfiguration": {
+ "$ref": "#/definitions/HttpEndpointConfiguration"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RequestConfiguration": {
+ "$ref": "#/definitions/HttpEndpointRequestConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "EndpointConfiguration",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "HttpEndpointRequestConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CommonAttributes": {
+ "items": {
+ "$ref": "#/definitions/HttpEndpointCommonAttribute"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "ContentEncoding": {
+ "enum": [
+ "NONE",
+ "GZIP"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Deserializer": {
+ "$ref": "#/definitions/Deserializer"
+ }
+ },
+ "type": "object"
+ },
+ "KMSEncryptionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AWSKMSKeyARN": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::KMS::Key"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "AWSKMSKeyARN"
+ ],
+ "type": "object"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "KinesisStreamARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Kinesis::Stream"
+ },
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleARN",
+ "KinesisStreamARN"
+ ],
+ "type": "object"
+ },
+ "MSKSourceConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AuthenticationConfiguration": {
+ "$ref": "#/definitions/AuthenticationConfiguration"
+ },
+ "MSKClusterARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::MSK::Cluster"
+ },
+ "type": "string"
+ },
+ "TopicName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9\\._\\-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "MSKClusterARN",
+ "TopicName",
+ "AuthenticationConfiguration"
+ ],
+ "type": "object"
+ },
+ "OpenXJsonSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "CaseInsensitive": {
+ "type": "boolean"
+ },
+ "ColumnToJsonKeyMappings": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "[a-zA-Z0-9]+": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConvertDotsInJsonKeysToUnderscores": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrcSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "BloomFilterColumns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "BloomFilterFalsePositiveProbability": {
+ "type": "number"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "DictionaryKeyThreshold": {
+ "type": "number"
+ },
+ "EnablePadding": {
+ "type": "boolean"
+ },
+ "FormatVersion": {
+ "type": "string"
+ },
+ "PaddingTolerance": {
+ "type": "number"
+ },
+ "RowIndexStride": {
+ "type": "integer"
+ },
+ "StripeSizeBytes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OutputFormatConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Serializer": {
+ "$ref": "#/definitions/Serializer"
+ }
+ },
+ "type": "object"
+ },
+ "ParquetSerDe": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockSizeBytes": {
+ "type": "integer"
+ },
+ "Compression": {
+ "type": "string"
+ },
+ "EnableDictionaryCompression": {
+ "type": "boolean"
+ },
+ "MaxPaddingBytes": {
+ "type": "integer"
+ },
+ "PageSizeBytes": {
+ "type": "integer"
+ },
+ "WriterVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "Processors": {
+ "items": {
+ "$ref": "#/definitions/Processor"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Processor": {
+ "additionalProperties": false,
+ "properties": {
+ "Parameters": {
+ "items": {
+ "$ref": "#/definitions/ProcessorParameter"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Type": {
+ "enum": [
+ "RecordDeAggregation",
+ "Decompression",
+ "CloudWatchLogProcessing",
+ "Lambda",
+ "MetadataExtraction",
+ "AppendDelimiterToRecord"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "type": "object"
+ },
+ "ProcessorParameter": {
+ "additionalProperties": false,
+ "properties": {
+ "ParameterName": {
+ "type": "string"
+ },
+ "ParameterValue": {
+ "anyOf": [
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::Lambda::Function"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ }
+ },
+ {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Lambda::Alias"
+ }
+ }
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ParameterValue",
+ "ParameterName"
+ ],
+ "type": "object"
+ },
+ "RedshiftDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ClusterJDBCURL": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ },
+ "CopyCommand": {
+ "$ref": "#/definitions/CopyCommand"
+ },
+ "Password": {
+ "maxLength": 512,
+ "minLength": 6,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/RedshiftRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "Username": {
+ "maxLength": 512,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Configuration",
+ "ClusterJDBCURL",
+ "CopyCommand",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "RedshiftRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "S3DestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BucketARN": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::S3::Bucket"
+ },
+ "type": "string"
+ },
+ "BufferingHints": {
+ "$ref": "#/definitions/BufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "CompressionFormat": {
+ "enum": [
+ "UNCOMPRESSED",
+ "GZIP",
+ "ZIP",
+ "Snappy",
+ "HADOOP_SNAPPY"
+ ],
+ "type": "string"
+ },
+ "EncryptionConfiguration": {
+ "$ref": "#/definitions/EncryptionConfiguration"
+ },
+ "ErrorOutputPrefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Prefix": {
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "BucketARN",
+ "RoleARN"
+ ],
+ "type": "object"
+ },
+ "SchemaConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "type": "string"
+ },
+ "DatabaseName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Database"
+ },
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "TableName": {
+ "relationshipRef": {
+ "propertyPath": "/properties/Id",
+ "typeName": "AWS::Glue::Table"
+ },
+ "type": "string"
+ },
+ "VersionId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SecretsManagerConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecretARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::SecretsManager::Secret"
+ },
+ "type": "string"
+ }
+ },
+ "required": [
+ "Enabled"
+ ],
+ "type": "object"
+ },
+ "Serializer": {
+ "additionalProperties": false,
+ "properties": {
+ "OrcSerDe": {
+ "$ref": "#/definitions/OrcSerDe"
+ },
+ "ParquetSerDe": {
+ "$ref": "#/definitions/ParquetSerDe"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountUrl": {
+ "maxLength": 2048,
+ "minLength": 24,
+ "pattern": ".+?\\.snowflakecomputing\\.com",
+ "type": "string"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "ContentColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DataLoadingOption": {
+ "enum": [
+ "JSON_MAPPING",
+ "VARIANT_CONTENT_MAPPING",
+ "VARIANT_CONTENT_AND_METADATA_MAPPING"
+ ],
+ "type": "string"
+ },
+ "Database": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KeyPassphrase": {
+ "maxLength": 255,
+ "minLength": 7,
+ "type": "string"
+ },
+ "MetaDataColumnName": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PrivateKey": {
+ "maxLength": 4096,
+ "minLength": 256,
+ "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SnowflakeRetryOptions"
+ },
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "S3BackupMode": {
+ "enum": [
+ "FailedDataOnly",
+ "AllData"
+ ],
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "Schema": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ },
+ "SnowflakeRoleConfiguration": {
+ "$ref": "#/definitions/SnowflakeRoleConfiguration"
+ },
+ "SnowflakeVpcConfiguration": {
+ "$ref": "#/definitions/SnowflakeVpcConfiguration"
+ },
+ "Table": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "User": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AccountUrl",
+ "Database",
+ "Schema",
+ "Table",
+ "RoleARN",
+ "S3Configuration"
+ ],
+ "type": "object"
+ },
+ "SnowflakeRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeRoleConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ },
+ "SnowflakeRole": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SnowflakeVpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "PrivateLinkVpceId": {
+ "maxLength": 255,
+ "minLength": 47,
+ "pattern": "([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "PrivateLinkVpceId"
+ ],
+ "type": "object"
+ },
+ "SplunkBufferingHints": {
+ "additionalProperties": false,
+ "properties": {
+ "IntervalInSeconds": {
+ "type": "integer"
+ },
+ "SizeInMBs": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SplunkDestinationConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "BufferingHints": {
+ "$ref": "#/definitions/SplunkBufferingHints"
+ },
+ "CloudWatchLoggingOptions": {
+ "$ref": "#/definitions/CloudWatchLoggingOptions"
+ },
+ "HECAcknowledgmentTimeoutInSeconds": {
+ "maximum": 600,
+ "minimum": 180,
+ "type": "integer"
+ },
+ "HECEndpoint": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "HECEndpointType": {
+ "enum": [
+ "Raw",
+ "Event"
+ ],
+ "type": "string"
+ },
+ "HECToken": {
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ProcessingConfiguration": {
+ "$ref": "#/definitions/ProcessingConfiguration"
+ },
+ "RetryOptions": {
+ "$ref": "#/definitions/SplunkRetryOptions"
+ },
+ "S3BackupMode": {
+ "type": "string"
+ },
+ "S3Configuration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SecretsManagerConfiguration": {
+ "$ref": "#/definitions/SecretsManagerConfiguration"
+ }
+ },
+ "required": [
+ "HECEndpoint",
+ "S3Configuration",
+ "HECEndpointType"
+ ],
+ "type": "object"
+ },
+ "SplunkRetryOptions": {
+ "additionalProperties": false,
+ "properties": {
+ "DurationInSeconds": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "RoleARN": {
+ "maxLength": 512,
+ "minLength": 1,
+ "pattern": "arn:.*",
+ "relationshipRef": {
+ "propertyPath": "/properties/Arn",
+ "typeName": "AWS::IAM::Role"
+ },
+ "type": "string"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/GroupId",
+ "typeName": "AWS::EC2::SecurityGroup"
+ },
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SubnetIds": {
+ "items": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "relationshipRef": {
+ "propertyPath": "/properties/SubnetId",
+ "typeName": "AWS::EC2::Subnet"
+ },
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "RoleARN",
+ "SubnetIds",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "firehose:CreateDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "iam:GetRole",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "firehose:DeleteDeliveryStream",
+ "firehose:DescribeDeliveryStream",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "firehose:ListDeliveryStreams"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "firehose:DescribeDeliveryStream",
+ "firehose:ListTagsForDeliveryStream"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "firehose:UpdateDestination",
+ "firehose:DescribeDeliveryStream",
+ "firehose:StartDeliveryStreamEncryption",
+ "firehose:StopDeliveryStreamEncryption",
+ "firehose:ListTagsForDeliveryStream",
+ "firehose:TagDeliveryStream",
+ "firehose:UntagDeliveryStream",
+ "kms:CreateGrant",
+ "kms:RevokeGrant",
+ "kms:DescribeKey"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DeliveryStreamName"
+ ],
+ "properties": {
+ "AmazonOpenSearchServerlessDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonOpenSearchServerlessDestinationConfiguration"
+ },
+ "AmazonopensearchserviceDestinationConfiguration": {
+ "$ref": "#/definitions/AmazonopensearchserviceDestinationConfiguration"
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "DeliveryStreamEncryptionConfigurationInput": {
+ "$ref": "#/definitions/DeliveryStreamEncryptionConfigurationInput"
+ },
+ "DeliveryStreamName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9._-]+",
+ "type": "string"
+ },
+ "DeliveryStreamType": {
+ "enum": [
+ "DirectPut",
+ "KinesisStreamAsSource",
+ "MSKAsSource"
+ ],
+ "type": "string"
+ },
+ "ElasticsearchDestinationConfiguration": {
+ "$ref": "#/definitions/ElasticsearchDestinationConfiguration"
+ },
+ "ExtendedS3DestinationConfiguration": {
+ "$ref": "#/definitions/ExtendedS3DestinationConfiguration"
+ },
+ "HttpEndpointDestinationConfiguration": {
+ "$ref": "#/definitions/HttpEndpointDestinationConfiguration"
+ },
+ "KinesisStreamSourceConfiguration": {
+ "$ref": "#/definitions/KinesisStreamSourceConfiguration"
+ },
+ "MSKSourceConfiguration": {
+ "$ref": "#/definitions/MSKSourceConfiguration"
+ },
+ "RedshiftDestinationConfiguration": {
+ "$ref": "#/definitions/RedshiftDestinationConfiguration"
+ },
+ "S3DestinationConfiguration": {
+ "$ref": "#/definitions/S3DestinationConfiguration"
+ },
+ "SnowflakeDestinationConfiguration": {
+ "$ref": "#/definitions/SnowflakeDestinationConfiguration"
+ },
+ "SplunkDestinationConfiguration": {
+ "$ref": "#/definitions/SplunkDestinationConfiguration"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "typeName": "AWS::KinesisFirehose::DeliveryStream"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbcluster.json
similarity index 97%
rename from src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbcluster.json
rename to src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbcluster.json
index 3355402afa..fc8608c49b 100644
--- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbcluster.json
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbcluster.json
@@ -444,6 +444,17 @@
"/properties/StorageThroughput"
],
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "permissions": [
+ "rds:AddTagsToResource",
+ "rds:RemoveTagsFromResource"
+ ],
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
"typeName": "AWS::RDS::DBCluster",
"writeOnlyProperties": [
"/properties/DBInstanceParameterGroupName",
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbinstance.json
new file mode 100644
index 0000000000..3263d77fb7
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-dbinstance.json
@@ -0,0 +1,620 @@
+{
+ "additionalProperties": false,
+ "conditionalCreateOnlyProperties": [
+ "/properties/AutoMinorVersionUpgrade",
+ "/properties/AvailabilityZone",
+ "/properties/BackupRetentionPeriod",
+ "/properties/DBClusterSnapshotIdentifier",
+ "/properties/DBParameterGroupName",
+ "/properties/DBSnapshotIdentifier",
+ "/properties/Engine",
+ "/properties/MultiAZ",
+ "/properties/PerformanceInsightsKMSKeyId",
+ "/properties/PreferredMaintenanceWindow",
+ "/properties/RestoreTime",
+ "/properties/SourceDBClusterIdentifier",
+ "/properties/SourceDBInstanceAutomatedBackupsArn",
+ "/properties/SourceDBInstanceIdentifier",
+ "/properties/SourceDbiResourceId",
+ "/properties/StorageType",
+ "/properties/UseLatestRestorableTime"
+ ],
+ "createOnlyProperties": [
+ "/properties/CharacterSetName",
+ "/properties/CustomIAMInstanceProfile",
+ "/properties/DBClusterIdentifier",
+ "/properties/DBInstanceIdentifier",
+ "/properties/DBName",
+ "/properties/DBSubnetGroupName",
+ "/properties/KmsKeyId",
+ "/properties/MasterUsername",
+ "/properties/NcharCharacterSetName",
+ "/properties/Port",
+ "/properties/SourceRegion",
+ "/properties/StorageEncrypted",
+ "/properties/Timezone"
+ ],
+ "definitions": {
+ "CertificateDetails": {
+ "additionalProperties": false,
+ "properties": {
+ "CAIdentifier": {
+ "type": "string"
+ },
+ "ValidTill": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DBInstanceRole": {
+ "additionalProperties": false,
+ "properties": {
+ "FeatureName": {
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "FeatureName",
+ "RoleArn"
+ ],
+ "type": "object"
+ },
+ "Endpoint": {
+ "additionalProperties": false,
+ "properties": {
+ "Address": {
+ "type": "string"
+ },
+ "HostedZoneId": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "MasterUserSecret": {
+ "additionalProperties": false,
+ "properties": {
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "SecretArn": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ProcessorFeature": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "enum": [
+ "coreCount",
+ "threadsPerCore"
+ ],
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "dependencies": {
+ "KmsKeyId": {
+ "properties": {
+ "StorageEncrypted": {
+ "enum": [
+ "true",
+ "True",
+ true
+ ]
+ }
+ },
+ "required": [
+ "StorageEncrypted"
+ ]
+ }
+ },
+ "dependentExcluded": {
+ "SourceDBInstanceIdentifier": [
+ "CharacterSetName",
+ "MasterUserPassword",
+ "MasterUsername",
+ "StorageEncrypted"
+ ]
+ },
+ "deprecatedProperties": [
+ "/properties/TdeCredentialArn",
+ "/properties/TdeCredentialPassword"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcAttribute",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "iam:GetRole",
+ "iam:ListRoles",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "rds:AddRoleToDBInstance",
+ "rds:AddTagsToResource",
+ "rds:CreateDBInstance",
+ "rds:CreateDBInstanceReadReplica",
+ "rds:DescribeDBInstances",
+ "rds:DescribeDBClusters",
+ "rds:DescribeDBClusterSnapshots",
+ "rds:DescribeDBInstanceAutomatedBackups",
+ "rds:DescribeDBSnapshots",
+ "rds:DescribeEvents",
+ "rds:ModifyDBInstance",
+ "rds:RebootDBInstance",
+ "rds:RestoreDBInstanceFromDBSnapshot",
+ "rds:RestoreDBInstanceToPointInTime",
+ "rds:StartDBInstanceAutomatedBackupsReplication",
+ "secretsmanager:CreateSecret",
+ "secretsmanager:TagResource"
+ ],
+ "timeoutInMinutes": 2160
+ },
+ "delete": {
+ "permissions": [
+ "rds:CreateDBSnapshot",
+ "rds:DeleteDBInstance",
+ "rds:DescribeDBInstances"
+ ],
+ "timeoutInMinutes": 2160
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeDBInstances"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcAttribute",
+ "ec2:DescribeVpcs",
+ "rds:DescribeDBInstances"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:DescribeAccountAttributes",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeInternetGateways",
+ "ec2:DescribeSecurityGroups",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcAttribute",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "iam:GetRole",
+ "iam:ListRoles",
+ "iam:PassRole",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "rds:AddRoleToDBInstance",
+ "rds:AddTagsToResource",
+ "rds:DescribeDBClusters",
+ "rds:DescribeDBEngineVersions",
+ "rds:DescribeDBInstances",
+ "rds:DescribeDBParameterGroups",
+ "rds:DescribeEvents",
+ "rds:ModifyDBInstance",
+ "rds:PromoteReadReplica",
+ "rds:RebootDBInstance",
+ "rds:RemoveRoleFromDBInstance",
+ "rds:RemoveTagsFromResource",
+ "rds:StartDBInstanceAutomatedBackupsReplication",
+ "rds:StopDBInstanceAutomatedBackupsReplication",
+ "secretsmanager:CreateSecret",
+ "secretsmanager:TagResource"
+ ],
+ "timeoutInMinutes": 2160
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DBInstanceIdentifier"
+ ],
+ "properties": {
+ "AllocatedStorage": {
+ "pattern": "^[0-9]*$",
+ "type": "string"
+ },
+ "AllowMajorVersionUpgrade": {
+ "type": "boolean"
+ },
+ "AssociatedRoles": {
+ "items": {
+ "$ref": "#/definitions/DBInstanceRole"
+ },
+ "type": "array"
+ },
+ "AutoMinorVersionUpgrade": {
+ "type": "boolean"
+ },
+ "AutomaticBackupReplicationKmsKeyId": {
+ "type": "string"
+ },
+ "AutomaticBackupReplicationRegion": {
+ "type": "string"
+ },
+ "AvailabilityZone": {
+ "type": "string"
+ },
+ "BackupRetentionPeriod": {
+ "default": 1,
+ "maximum": 35,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "CACertificateIdentifier": {
+ "type": "string"
+ },
+ "CertificateDetails": {
+ "$ref": "#/definitions/CertificateDetails"
+ },
+ "CertificateRotationRestart": {
+ "type": "boolean"
+ },
+ "CharacterSetName": {
+ "type": "string"
+ },
+ "CopyTagsToSnapshot": {
+ "type": "boolean"
+ },
+ "CustomIAMInstanceProfile": {
+ "type": "string"
+ },
+ "DBClusterIdentifier": {
+ "type": "string"
+ },
+ "DBClusterSnapshotIdentifier": {
+ "type": "string"
+ },
+ "DBInstanceArn": {
+ "type": "string"
+ },
+ "DBInstanceClass": {
+ "type": "string"
+ },
+ "DBInstanceIdentifier": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "DBName": {
+ "type": "string"
+ },
+ "DBParameterGroupName": {
+ "type": "string"
+ },
+ "DBSecurityGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "DBSnapshotIdentifier": {
+ "type": "string"
+ },
+ "DBSubnetGroupName": {
+ "type": "string"
+ },
+ "DBSystemId": {
+ "type": "string"
+ },
+ "DbiResourceId": {
+ "type": "string"
+ },
+ "DedicatedLogVolume": {
+ "type": "boolean"
+ },
+ "DeleteAutomatedBackups": {
+ "type": "boolean"
+ },
+ "DeletionProtection": {
+ "type": "boolean"
+ },
+ "Domain": {
+ "type": "string"
+ },
+ "DomainAuthSecretArn": {
+ "type": "string"
+ },
+ "DomainDnsIps": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "DomainFqdn": {
+ "type": "string"
+ },
+ "DomainIAMRoleName": {
+ "type": "string"
+ },
+ "DomainOu": {
+ "type": "string"
+ },
+ "EnableCloudwatchLogsExports": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "EnableIAMDatabaseAuthentication": {
+ "type": "boolean"
+ },
+ "EnablePerformanceInsights": {
+ "type": "boolean"
+ },
+ "Endpoint": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "Engine": {
+ "type": "string"
+ },
+ "EngineLifecycleSupport": {
+ "type": "string"
+ },
+ "EngineVersion": {
+ "type": "string"
+ },
+ "Iops": {
+ "type": "integer"
+ },
+ "KmsKeyId": {
+ "type": "string"
+ },
+ "LicenseModel": {
+ "type": "string"
+ },
+ "ManageMasterUserPassword": {
+ "type": "boolean"
+ },
+ "MasterUserPassword": {
+ "type": "string"
+ },
+ "MasterUserSecret": {
+ "$ref": "#/definitions/MasterUserSecret"
+ },
+ "MasterUsername": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$",
+ "type": "string"
+ },
+ "MaxAllocatedStorage": {
+ "type": "integer"
+ },
+ "MonitoringInterval": {
+ "default": 0,
+ "type": "integer"
+ },
+ "MonitoringRoleArn": {
+ "type": "string"
+ },
+ "MultiAZ": {
+ "type": "boolean"
+ },
+ "NcharCharacterSetName": {
+ "type": "string"
+ },
+ "NetworkType": {
+ "type": "string"
+ },
+ "OptionGroupName": {
+ "type": "string"
+ },
+ "PerformanceInsightsKMSKeyId": {
+ "type": "string"
+ },
+ "PerformanceInsightsRetentionPeriod": {
+ "enum": [
+ 7,
+ 31,
+ 62,
+ 93,
+ 124,
+ 155,
+ 186,
+ 217,
+ 248,
+ 279,
+ 310,
+ 341,
+ 372,
+ 403,
+ 434,
+ 465,
+ 496,
+ 527,
+ 558,
+ 589,
+ 620,
+ 651,
+ 682,
+ 713,
+ 731
+ ],
+ "type": "integer"
+ },
+ "Port": {
+ "pattern": "^\\d*$",
+ "type": "string"
+ },
+ "PreferredBackupWindow": {
+ "type": "string"
+ },
+ "PreferredMaintenanceWindow": {
+ "type": "string"
+ },
+ "ProcessorFeatures": {
+ "items": {
+ "$ref": "#/definitions/ProcessorFeature"
+ },
+ "type": "array"
+ },
+ "PromotionTier": {
+ "default": 1,
+ "maximum": 15,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "PubliclyAccessible": {
+ "type": "boolean"
+ },
+ "ReplicaMode": {
+ "type": "string"
+ },
+ "RestoreTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "SourceDBClusterIdentifier": {
+ "type": "string"
+ },
+ "SourceDBInstanceAutomatedBackupsArn": {
+ "type": "string"
+ },
+ "SourceDBInstanceIdentifier": {
+ "type": "string"
+ },
+ "SourceDbiResourceId": {
+ "type": "string"
+ },
+ "SourceRegion": {
+ "type": "string"
+ },
+ "StorageEncrypted": {
+ "type": "boolean"
+ },
+ "StorageThroughput": {
+ "type": "integer"
+ },
+ "StorageType": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TdeCredentialArn": {
+ "type": "string"
+ },
+ "TdeCredentialPassword": {
+ "type": "string"
+ },
+ "Timezone": {
+ "type": "string"
+ },
+ "UseDefaultProcessorFeatures": {
+ "type": "boolean"
+ },
+ "UseLatestRestorableTime": {
+ "type": "boolean"
+ },
+ "VPCSecurityGroups": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "propertyTransform": {
+ "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)",
+ "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)",
+ "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)",
+ "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)",
+ "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)",
+ "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)",
+ "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)",
+ "/properties/Engine": "$lowercase(Engine)",
+ "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])",
+ "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])",
+ "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])",
+ "/properties/NetworkType": "$lowercase(NetworkType)",
+ "/properties/OptionGroupName": "$lowercase(OptionGroupName)",
+ "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKMSKeyId])",
+ "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)",
+ "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)",
+ "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)",
+ "/properties/StorageType": "$lowercase(StorageType)"
+ },
+ "readOnlyProperties": [
+ "/properties/Endpoint/Address",
+ "/properties/Endpoint/Port",
+ "/properties/Endpoint/HostedZoneId",
+ "/properties/DbiResourceId",
+ "/properties/DBInstanceArn",
+ "/properties/DBSystemId",
+ "/properties/MasterUserSecret/SecretArn",
+ "/properties/CertificateDetails/CAIdentifier",
+ "/properties/CertificateDetails/ValidTill"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "typeName": "AWS::RDS::DBInstance",
+ "writeOnlyProperties": [
+ "/properties/AllowMajorVersionUpgrade",
+ "/properties/AutomaticBackupReplicationKmsKeyId",
+ "/properties/CertificateRotationRestart",
+ "/properties/DBSnapshotIdentifier",
+ "/properties/DeleteAutomatedBackups",
+ "/properties/MasterUserPassword",
+ "/properties/Port",
+ "/properties/RestoreTime",
+ "/properties/SourceDBInstanceAutomatedBackupsArn",
+ "/properties/SourceDBInstanceIdentifier",
+ "/properties/SourceDbiResourceId",
+ "/properties/SourceRegion",
+ "/properties/TdeCredentialPassword",
+ "/properties/UseDefaultProcessorFeatures",
+ "/properties/UseLatestRestorableTime"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-integration.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-integration.json
new file mode 100644
index 0000000000..8bb00c0dfe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-rds-integration.json
@@ -0,0 +1,154 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SourceArn",
+ "/properties/TargetArn",
+ "/properties/KMSKeyId",
+ "/properties/AdditionalEncryptionContext"
+ ],
+ "definitions": {
+ "EncryptionContextMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^[\\s\\S]*$": {
+ "maxLength": 131072,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key"
+ ],
+ "type": "object"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "rds:CreateIntegration",
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "redshift:CreateInboundIntegration"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "rds:DeleteIntegration",
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "rds:DescribeIntegrations"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "rds:DescribeIntegrations",
+ "rds:AddTagsToResource",
+ "rds:RemoveTagsFromResource",
+ "rds:ModifyIntegration"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/IntegrationArn"
+ ],
+ "properties": {
+ "AdditionalEncryptionContext": {
+ "$ref": "#/definitions/EncryptionContextMap"
+ },
+ "CreateTime": {
+ "type": "string"
+ },
+ "DataFilter": {
+ "maxLength": 25600,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9_ \"\\\\\\-$,*.:?+\\/]*",
+ "type": "string"
+ },
+ "Description": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "IntegrationArn": {
+ "type": "string"
+ },
+ "IntegrationName": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "KMSKeyId": {
+ "type": "string"
+ },
+ "SourceArn": {
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetArn": {
+ "type": "string"
+ }
+ },
+ "propertyTransform": {
+ "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])",
+ "/properties/SourceArn": "$lowercase(SourceArn)"
+ },
+ "readOnlyProperties": [
+ "/properties/IntegrationArn",
+ "/properties/CreateTime"
+ ],
+ "required": [
+ "SourceArn",
+ "TargetArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::RDS::Integration"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-app.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-app.json
new file mode 100644
index 0000000000..d565ffb835
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-app.json
@@ -0,0 +1,210 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/Tags",
+ "/properties/ResourceSpec"
+ ],
+ "definitions": {
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListApps"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeApp",
+ "sagemaker:DescribeApp"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName"
+ ],
+ "properties": {
+ "AppArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:app/.*",
+ "type": "string"
+ },
+ "AppName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/AppArn"
+ ],
+ "required": [
+ "AppName",
+ "AppType",
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::App",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-domain.json
new file mode 100644
index 0000000000..5cd4ea45fa
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-domain.json
@@ -0,0 +1,831 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AuthMode",
+ "/properties/DomainName",
+ "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
+ "/properties/KmsKeyId",
+ "/properties/VpcId",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableDockerAccess": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "VpcOnlyTrustedAccounts": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^\\d+$",
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "DomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DockerSettings": {
+ "$ref": "#/definitions/DockerSettings"
+ },
+ "RStudioServerProDomainSettings": {
+ "$ref": "#/definitions/RStudioServerProDomainSettings"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RSessionAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProDomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "DomainExecutionRoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "RStudioConnectUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ },
+ "RStudioPackageManagerUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DomainExecutionRoleArn"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "LifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RSessionAppSettings": {
+ "$ref": "#/definitions/RSessionAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:CreateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "efs:CreateFileSystem",
+ "kms:CreateGrant",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "kms:GenerateDataKeyWithoutPlainText"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DeleteDomain",
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListDomains"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:UpdateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "AppNetworkAccessType": {
+ "enum": [
+ "PublicInternetOnly",
+ "VpcOnly"
+ ],
+ "type": "string"
+ },
+ "AppSecurityGroupManagement": {
+ "enum": [
+ "Service",
+ "Customer"
+ ],
+ "type": "string"
+ },
+ "AuthMode": {
+ "enum": [
+ "SSO",
+ "IAM"
+ ],
+ "type": "string"
+ },
+ "DefaultSpaceSettings": {
+ "$ref": "#/definitions/DefaultSpaceSettings"
+ },
+ "DefaultUserSettings": {
+ "$ref": "#/definitions/UserSettings"
+ },
+ "DomainArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "pattern": "^d-(-*[a-z0-9])+",
+ "type": "string"
+ },
+ "DomainName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "DomainSettings": {
+ "$ref": "#/definitions/DomainSettings"
+ },
+ "HomeEfsFileSystemId": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "SecurityGroupIdForDomainBoundary": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "SingleSignOnApplicationArn": {
+ "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "SingleSignOnManagedApplicationInstanceId": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/DomainArn",
+ "/properties/Url",
+ "/properties/DomainId",
+ "/properties/HomeEfsFileSystemId",
+ "/properties/SecurityGroupIdForDomainBoundary",
+ "/properties/SingleSignOnManagedApplicationInstanceId",
+ "/properties/SingleSignOnApplicationArn"
+ ],
+ "required": [
+ "AuthMode",
+ "DefaultUserSettings",
+ "DomainName",
+ "SubnetIds",
+ "VpcId"
+ ],
+ "typeName": "AWS::SageMaker::Domain",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-model.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-model.json
new file mode 100644
index 0000000000..ef768bc0ed
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-model.json
@@ -0,0 +1,235 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ExecutionRoleArn",
+ "/properties/EnableNetworkIsolation",
+ "/properties/InferenceExecutionConfig",
+ "/properties/PrimaryContainer",
+ "/properties/ModelName",
+ "/properties/VpcConfig",
+ "/properties/Containers"
+ ],
+ "definitions": {
+ "ContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerHostname": {
+ "type": "string"
+ },
+ "Environment": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Image": {
+ "type": "string"
+ },
+ "ImageConfig": {
+ "$ref": "#/definitions/ImageConfig"
+ },
+ "InferenceSpecificationName": {
+ "type": "string"
+ },
+ "Mode": {
+ "type": "string"
+ },
+ "ModelDataSource": {
+ "$ref": "#/definitions/ModelDataSource"
+ },
+ "ModelDataUrl": {
+ "type": "string"
+ },
+ "ModelPackageName": {
+ "type": "string"
+ },
+ "MultiModelConfig": {
+ "$ref": "#/definitions/MultiModelConfig"
+ }
+ },
+ "type": "object"
+ },
+ "ImageConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryAccessMode": {
+ "type": "string"
+ },
+ "RepositoryAuthConfig": {
+ "$ref": "#/definitions/RepositoryAuthConfig"
+ }
+ },
+ "required": [
+ "RepositoryAccessMode"
+ ],
+ "type": "object"
+ },
+ "InferenceExecutionConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Mode": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Mode"
+ ],
+ "type": "object"
+ },
+ "ModelAccessConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AcceptEula": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "AcceptEula"
+ ],
+ "type": "object"
+ },
+ "ModelDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "S3DataSource": {
+ "$ref": "#/definitions/S3DataSource"
+ }
+ },
+ "required": [
+ "S3DataSource"
+ ],
+ "type": "object"
+ },
+ "MultiModelConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "ModelCacheSetting": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RepositoryAuthConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryCredentialsProviderArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryCredentialsProviderArn"
+ ],
+ "type": "object"
+ },
+ "S3DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CompressionType": {
+ "type": "string"
+ },
+ "ModelAccessConfig": {
+ "$ref": "#/definitions/ModelAccessConfig"
+ },
+ "S3DataType": {
+ "type": "string"
+ },
+ "S3Uri": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Uri",
+ "S3DataType",
+ "CompressionType"
+ ],
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "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",
+ "uniqueItems": false
+ },
+ "Subnets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Subnets",
+ "SecurityGroupIds"
+ ],
+ "type": "object"
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Containers": {
+ "items": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "EnableNetworkIsolation": {
+ "type": "boolean"
+ },
+ "ExecutionRoleArn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "InferenceExecutionConfig": {
+ "$ref": "#/definitions/InferenceExecutionConfig"
+ },
+ "ModelName": {
+ "type": "string"
+ },
+ "PrimaryContainer": {
+ "$ref": "#/definitions/ContainerDefinition"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcConfig": {
+ "$ref": "#/definitions/VpcConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "typeName": "AWS::SageMaker::Model"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-userprofile.json
new file mode 100644
index 0000000000..c2c0daf9fe
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-sagemaker-userprofile.json
@@ -0,0 +1,592 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/SingleSignOnUserIdentifier",
+ "/properties/SingleSignOnUserValue",
+ "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
+ "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteUserProfile",
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListUserProfiles"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/UserProfileName",
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SingleSignOnUserIdentifier": {
+ "pattern": "UserName",
+ "type": "string"
+ },
+ "SingleSignOnUserValue": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
+ "type": "string"
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "UserSettings": {
+ "$ref": "#/definitions/UserSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/UserProfileArn"
+ ],
+ "required": [
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::UserProfile",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-secretsmanager-resourcepolicy.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-secretsmanager-resourcepolicy.json
new file mode 100644
index 0000000000..92fc7be26c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-secretsmanager-resourcepolicy.json
@@ -0,0 +1,35 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SecretId"
+ ],
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "BlockPublicPolicy": {
+ "type": "boolean"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "ResourcePolicy": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "SecretId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "SecretId",
+ "ResourcePolicy"
+ ],
+ "typeName": "AWS::SecretsManager::ResourcePolicy"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-activity.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-activity.json
deleted file mode 100644
index 7aaf191ed1..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-activity.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateActivity",
- "states:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "states:DescribeActivity",
- "states:DeleteActivity"
- ]
- },
- "list": {
- "permissions": [
- "states:ListActivities"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeActivity",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:ListTagsForResource",
- "states:TagResource",
- "states:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::Activity"
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-statemachine.json
deleted file mode 100644
index c8a1b0f42e..0000000000
--- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-stepfunctions-statemachine.json
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/StateMachineName"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/StateMachineName",
- "/properties/StateMachineType"
- ],
- "definitions": {
- "CloudWatchLogsLogGroup": {
- "additionalProperties": false,
- "properties": {
- "LogGroupArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- },
- "Definition": {
- "minProperties": 1,
- "type": "object"
- },
- "DefinitionSubstitutions": {
- "additionalProperties": false,
- "minProperties": 1,
- "patternProperties": {
- ".*": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- },
- {
- "type": "boolean"
- }
- ]
- }
- },
- "type": "object"
- },
- "LogDestination": {
- "additionalProperties": false,
- "properties": {
- "CloudWatchLogsLogGroup": {
- "$ref": "#/definitions/CloudWatchLogsLogGroup"
- }
- },
- "type": "object"
- },
- "LoggingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Destinations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LogDestination"
- },
- "minItems": 1,
- "type": "array"
- },
- "IncludeExecutionData": {
- "type": "boolean"
- },
- "Level": {
- "enum": [
- "ALL",
- "ERROR",
- "FATAL",
- "OFF"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "S3Location": {
- "additionalProperties": false,
- "properties": {
- "Bucket": {
- "type": "string"
- },
- "Key": {
- "type": "string"
- },
- "Version": {
- "type": "string"
- }
- },
- "required": [
- "Bucket",
- "Key"
- ],
- "type": "object"
- },
- "TagsEntry": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TracingConfiguration": {
- "additionalProperties": false,
- "properties": {
- "Enabled": {
- "type": "boolean"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "states:CreateStateMachine",
- "states:DescribeStateMachine",
- "states:TagResource",
- "iam:PassRole",
- "s3:GetObject"
- ]
- },
- "delete": {
- "permissions": [
- "states:DeleteStateMachine",
- "states:DescribeStateMachine"
- ]
- },
- "list": {
- "permissions": [
- "states:ListStateMachines"
- ]
- },
- "read": {
- "permissions": [
- "states:DescribeStateMachine",
- "states:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "states:UpdateStateMachine",
- "states:TagResource",
- "states:UntagResource",
- "states:ListTagsForResource",
- "iam:PassRole"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Arn"
- ],
- "properties": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 1,
- "type": "string"
- },
- "Definition": {
- "$ref": "#/definitions/Definition"
- },
- "DefinitionS3Location": {
- "$ref": "#/definitions/S3Location"
- },
- "DefinitionString": {
- "maxLength": 1048576,
- "minLength": 1,
- "type": "string"
- },
- "DefinitionSubstitutions": {
- "$ref": "#/definitions/DefinitionSubstitutions"
- },
- "LoggingConfiguration": {
- "$ref": "#/definitions/LoggingConfiguration"
- },
- "Name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineName": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineRevisionId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "StateMachineType": {
- "enum": [
- "STANDARD",
- "EXPRESS"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/TagsEntry"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TracingConfiguration": {
- "$ref": "#/definitions/TracingConfiguration"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/Name",
- "/properties/StateMachineRevisionId"
- ],
- "required": [
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::StepFunctions::StateMachine",
- "writeOnlyProperties": [
- "/properties/Definition",
- "/properties/DefinitionS3Location",
- "/properties/DefinitionSubstitutions"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-xray-group.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-xray-group.json
new file mode 100644
index 0000000000..658d9b8484
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-xray-group.json
@@ -0,0 +1,105 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "InsightsConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "InsightsEnabled": {
+ "type": "boolean"
+ },
+ "NotificationsEnabled": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "xray:CreateGroup",
+ "xray:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "xray:DeleteGroup"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "xray:GetGroups",
+ "xray:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "xray:GetGroup",
+ "xray:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "xray:UpdateGroup",
+ "xray:TagResource",
+ "xray:UntagResource",
+ "xray:ListTagsForResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/GroupARN"
+ ],
+ "properties": {
+ "FilterExpression": {
+ "type": "string"
+ },
+ "GroupARN": {
+ "maxLength": 400,
+ "minLength": 1,
+ "type": "string"
+ },
+ "GroupName": {
+ "maxLength": 32,
+ "minLength": 1,
+ "type": "string"
+ },
+ "InsightsConfiguration": {
+ "$ref": "#/definitions/InsightsConfiguration"
+ },
+ "Tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/GroupARN"
+ ],
+ "required": [
+ "GroupName"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "typeName": "AWS::XRay::Group"
+}
diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-xray-samplingrule.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-xray-samplingrule.json
new file mode 100644
index 0000000000..7ed7156ff8
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-xray-samplingrule.json
@@ -0,0 +1,255 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/SamplingRule/Version"
+ ],
+ "definitions": {
+ "RuleARN": {
+ "type": "string"
+ },
+ "RuleName": {
+ "maxLength": 32,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SamplingRule": {
+ "additionalProperties": false,
+ "properties": {
+ "Attributes": {
+ "$comment": "String to string map",
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "FixedRate": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "HTTPMethod": {
+ "maxLength": 10,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "Priority": {
+ "maximum": 9999,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "ReservoirSize": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "ResourceARN": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "RuleARN": {
+ "$ref": "#/definitions/RuleARN"
+ },
+ "RuleName": {
+ "$ref": "#/definitions/RuleName"
+ },
+ "ServiceName": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "ServiceType": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "URLPath": {
+ "maxLength": 128,
+ "type": "string"
+ },
+ "Version": {
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "FixedRate",
+ "Host",
+ "HTTPMethod",
+ "Priority",
+ "ReservoirSize",
+ "ResourceARN",
+ "ServiceName",
+ "ServiceType",
+ "URLPath"
+ ],
+ "type": "object"
+ },
+ "SamplingRuleRecord": {
+ "additionalProperties": false,
+ "properties": {
+ "CreatedAt": {
+ "type": "string"
+ },
+ "ModifiedAt": {
+ "type": "string"
+ },
+ "SamplingRule": {
+ "$ref": "#/definitions/SamplingRule"
+ }
+ },
+ "type": "object"
+ },
+ "SamplingRuleUpdate": {
+ "additionalProperties": false,
+ "properties": {
+ "Attributes": {
+ "$comment": "String to string map",
+ "additionalProperties": false,
+ "patternProperties": {
+ ".{1,}": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "FixedRate": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "HTTPMethod": {
+ "maxLength": 10,
+ "type": "string"
+ },
+ "Host": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "Priority": {
+ "maximum": 9999,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "ReservoirSize": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "ResourceARN": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "RuleARN": {
+ "$ref": "#/definitions/RuleARN"
+ },
+ "RuleName": {
+ "$ref": "#/definitions/RuleName"
+ },
+ "ServiceName": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "ServiceType": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "URLPath": {
+ "maxLength": 128,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array"
+ }
+ },
+ "deprecatedProperties": [
+ "/properties/RuleName",
+ "/properties/SamplingRuleRecord",
+ "/properties/SamplingRuleUpdate"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "xray:CreateSamplingRule",
+ "xray:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "xray:DeleteSamplingRule"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "xray:GetSamplingRules",
+ "xray:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "xray:GetSamplingRules",
+ "xray:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "xray:UpdateSamplingRule",
+ "xray:TagResource",
+ "xray:UntagResource",
+ "xray:ListTagsForResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/RuleARN"
+ ],
+ "properties": {
+ "RuleARN": {
+ "$ref": "#/definitions/RuleARN"
+ },
+ "RuleName": {
+ "$ref": "#/definitions/RuleName"
+ },
+ "SamplingRule": {
+ "$ref": "#/definitions/SamplingRule"
+ },
+ "SamplingRuleRecord": {
+ "$ref": "#/definitions/SamplingRuleRecord"
+ },
+ "SamplingRuleUpdate": {
+ "$ref": "#/definitions/SamplingRuleUpdate"
+ },
+ "Tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/RuleARN"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "typeName": "AWS::XRay::SamplingRule"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py
index 745ff4404e..ab83bc42a4 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py
@@ -9,6 +9,7 @@
"AWS::APS::RuleGroupsNamespace",
"AWS::APS::Scraper",
"AWS::APS::Workspace",
+ "AWS::ARCZonalShift::AutoshiftObserverNotificationStatus",
"AWS::ARCZonalShift::ZonalAutoshiftConfiguration",
"AWS::AccessAnalyzer::Analyzer",
"AWS::AmazonMQ::Broker",
@@ -1341,6 +1342,7 @@
"aws-aps-rulegroupsnamespace.json",
"aws-aps-scraper.json",
"aws-aps-workspace.json",
+ "aws-arczonalshift-autoshiftobservernotificationstatus.json",
"aws-arczonalshift-zonalautoshiftconfiguration.json",
"aws-athena-datacatalog.json",
"aws-athena-namedquery.json",
@@ -1369,9 +1371,14 @@
"aws-bedrock-agent.json",
"aws-bedrock-agentalias.json",
"aws-bedrock-datasource.json",
+ "aws-bedrock-flow.json",
+ "aws-bedrock-flowalias.json",
+ "aws-bedrock-flowversion.json",
"aws-bedrock-guardrail.json",
"aws-bedrock-guardrailversion.json",
"aws-bedrock-knowledgebase.json",
+ "aws-bedrock-prompt.json",
+ "aws-bedrock-promptversion.json",
"aws-budgets-budget.json",
"aws-budgets-budgetsaction.json",
"aws-cassandra-keyspace.json",
@@ -1389,7 +1396,6 @@
"aws-cleanrooms-configuredtableassociation.json",
"aws-cleanrooms-membership.json",
"aws-cleanrooms-privacybudgettemplate.json",
- "aws-cleanroomsml-trainingdataset.json",
"aws-cloud9-environmentec2.json",
"aws-cloudformation-customresource.json",
"aws-cloudformation-hookdefaultversion.json",
@@ -1567,6 +1573,7 @@
"aws-dms-eventsubscription.json",
"aws-dms-instanceprofile.json",
"aws-dms-migrationproject.json",
+ "aws-dms-replicationconfig.json",
"aws-dms-replicationinstance.json",
"aws-dms-replicationsubnetgroup.json",
"aws-dms-replicationtask.json",
@@ -1605,6 +1612,7 @@
"aws-ec2-ipamresourcediscovery.json",
"aws-ec2-ipamresourcediscoveryassociation.json",
"aws-ec2-ipamscope.json",
+ "aws-ec2-keypair.json",
"aws-ec2-launchtemplate.json",
"aws-ec2-localgatewayroute.json",
"aws-ec2-localgatewayroutetable.json",
@@ -1624,7 +1632,6 @@
"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",
@@ -1664,7 +1671,6 @@
"aws-ec2-vpcpeeringconnection.json",
"aws-ec2-vpnconnectionroute.json",
"aws-ec2-vpngateway.json",
- "aws-ec2-vpngatewayroutepropagation.json",
"aws-ecr-pullthroughcacherule.json",
"aws-ecr-registrypolicy.json",
"aws-ecr-replicationconfiguration.json",
@@ -1682,6 +1688,7 @@
"aws-efs-mounttarget.json",
"aws-eks-accessentry.json",
"aws-eks-addon.json",
+ "aws-eks-cluster.json",
"aws-eks-fargateprofile.json",
"aws-eks-identityproviderconfig.json",
"aws-eks-nodegroup.json",
@@ -1842,7 +1849,6 @@
"aws-inspector-assessmenttarget.json",
"aws-inspector-assessmenttemplate.json",
"aws-inspector-resourcegroup.json",
- "aws-inspectorv2-cisscanconfiguration.json",
"aws-inspectorv2-filter.json",
"aws-internetmonitor-monitor.json",
"aws-iot-accountauditconfiguration.json",
@@ -1920,7 +1926,6 @@
"aws-ivs-storageconfiguration.json",
"aws-ivs-streamkey.json",
"aws-ivschat-loggingconfiguration.json",
- "aws-ivschat-room.json",
"aws-kafkaconnect-connector.json",
"aws-kafkaconnect-customplugin.json",
"aws-kafkaconnect-workerconfiguration.json",
@@ -2096,6 +2101,7 @@
"aws-opsworks-volume.json",
"aws-opsworkscm-server.json",
"aws-organizations-account.json",
+ "aws-organizations-organization.json",
"aws-organizations-organizationalunit.json",
"aws-organizations-policy.json",
"aws-organizations-resourcepolicy.json",
@@ -2149,7 +2155,9 @@
"aws-ram-permission.json",
"aws-ram-resourceshare.json",
"aws-rds-customdbengineversion.json",
+ "aws-rds-dbcluster.json",
"aws-rds-dbclusterparametergroup.json",
+ "aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
"aws-rds-dbproxy.json",
"aws-rds-dbproxyendpoint.json",
@@ -2194,7 +2202,6 @@
"aws-rolesanywhere-crl.json",
"aws-rolesanywhere-profile.json",
"aws-rolesanywhere-trustanchor.json",
- "aws-route53-cidrcollection.json",
"aws-route53-dnssec.json",
"aws-route53-healthcheck.json",
"aws-route53-hostedzone.json",
@@ -2232,13 +2239,11 @@
"aws-s3outposts-bucket.json",
"aws-s3outposts-bucketpolicy.json",
"aws-s3outposts-endpoint.json",
- "aws-sagemaker-app.json",
"aws-sagemaker-appimageconfig.json",
"aws-sagemaker-coderepository.json",
"aws-sagemaker-dataqualityjobdefinition.json",
"aws-sagemaker-device.json",
"aws-sagemaker-devicefleet.json",
- "aws-sagemaker-domain.json",
"aws-sagemaker-endpoint.json",
"aws-sagemaker-endpointconfig.json",
"aws-sagemaker-featuregroup.json",
@@ -2251,7 +2256,6 @@
"aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
"aws-sagemaker-modelexplainabilityjobdefinition.json",
- "aws-sagemaker-modelpackage.json",
"aws-sagemaker-modelpackagegroup.json",
"aws-sagemaker-modelqualityjobdefinition.json",
"aws-sagemaker-monitoringschedule.json",
@@ -2259,12 +2263,11 @@
"aws-sagemaker-notebookinstancelifecycleconfig.json",
"aws-sagemaker-pipeline.json",
"aws-sagemaker-project.json",
- "aws-sagemaker-space.json",
- "aws-sagemaker-userprofile.json",
"aws-sagemaker-workteam.json",
"aws-scheduler-schedule.json",
"aws-scheduler-schedulegroup.json",
"aws-sdb-domain.json",
+ "aws-secretsmanager-resourcepolicy.json",
"aws-secretsmanager-rotationschedule.json",
"aws-secretsmanager-secret.json",
"aws-secretsmanager-secrettargetattachment.json",
@@ -2277,7 +2280,6 @@
"aws-securityhub-organizationconfiguration.json",
"aws-securityhub-policyassociation.json",
"aws-securityhub-productsubscription.json",
- "aws-securityhub-securitycontrol.json",
"aws-securityhub-standard.json",
"aws-securitylake-awslogsource.json",
"aws-securitylake-datalake.json",
@@ -2327,6 +2329,7 @@
"aws-shield-drtaccess.json",
"aws-shield-proactiveengagement.json",
"aws-shield-protection.json",
+ "aws-shield-protectiongroup.json",
"aws-signer-profilepermission.json",
"aws-signer-signingprofile.json",
"aws-simspaceweaver-simulation.json",
@@ -2429,8 +2432,10 @@
"aws-workspacesweb-identityprovider.json",
"aws-workspacesweb-ipaccesssettings.json",
"aws-workspacesweb-networksettings.json",
+ "aws-workspacesweb-portal.json",
"aws-workspacesweb-truststore.json",
"aws-workspacesweb-useraccessloggingsettings.json",
+ "aws-workspacesweb-usersettings.json",
"aws-xray-group.json",
"aws-xray-resourcepolicy.json",
"aws-xray-samplingrule.json",
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cleanroomsml-trainingdataset.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cleanroomsml-trainingdataset.json
new file mode 100644
index 0000000000..bdb81299cb
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cleanroomsml-trainingdataset.json
@@ -0,0 +1,249 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Description",
+ "/properties/Name",
+ "/properties/RoleArn",
+ "/properties/TrainingData"
+ ],
+ "definitions": {
+ "ColumnSchema": {
+ "additionalProperties": false,
+ "properties": {
+ "ColumnName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ },
+ "ColumnTypes": {
+ "items": {
+ "$ref": "#/definitions/ColumnType"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "ColumnName",
+ "ColumnTypes"
+ ],
+ "type": "object"
+ },
+ "ColumnType": {
+ "enum": [
+ "USER_ID",
+ "ITEM_ID",
+ "TIMESTAMP",
+ "CATEGORICAL_FEATURE",
+ "NUMERICAL_FEATURE"
+ ],
+ "type": "string"
+ },
+ "DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "GlueDataSource": {
+ "$ref": "#/definitions/GlueDataSource"
+ }
+ },
+ "required": [
+ "GlueDataSource"
+ ],
+ "type": "object"
+ },
+ "Dataset": {
+ "additionalProperties": false,
+ "properties": {
+ "InputConfig": {
+ "$ref": "#/definitions/DatasetInputConfig"
+ },
+ "Type": {
+ "$ref": "#/definitions/DatasetType"
+ }
+ },
+ "required": [
+ "InputConfig",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "DatasetInputConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "DataSource": {
+ "$ref": "#/definitions/DataSource"
+ },
+ "Schema": {
+ "items": {
+ "$ref": "#/definitions/ColumnSchema"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "DataSource",
+ "Schema"
+ ],
+ "type": "object"
+ },
+ "DatasetType": {
+ "enum": [
+ "INTERACTIONS"
+ ],
+ "type": "string"
+ },
+ "GlueDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "CatalogId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^[0-9]{12}$",
+ "type": "string"
+ },
+ "DatabaseName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_]+-)*([a-zA-Z0-9_]+))?$",
+ "type": "string"
+ },
+ "TableName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DatabaseName",
+ "TableName"
+ ],
+ "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"
+ },
+ "TrainingDatasetStatus": {
+ "enum": [
+ "ACTIVE"
+ ],
+ "type": "string"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "cleanrooms-ml:CreateTrainingDataset",
+ "cleanrooms-ml:GetTrainingDataset",
+ "cleanrooms-ml:TagResource",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "cleanrooms-ml:DeleteTrainingDataset"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "cleanrooms-ml:ListTrainingDatasets"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "cleanrooms-ml:GetTrainingDataset"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "cleanrooms-ml:TagResource",
+ "cleanrooms-ml:UntagResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/TrainingDatasetArn"
+ ],
+ "properties": {
+ "Description": {
+ "maxLength": 255,
+ "pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$",
+ "type": "string"
+ },
+ "RoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[-a-z]*:iam::[0-9]{12}:role/.+$",
+ "type": "string"
+ },
+ "Status": {
+ "$ref": "#/definitions/TrainingDatasetStatus"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TrainingData": {
+ "items": {
+ "$ref": "#/definitions/Dataset"
+ },
+ "maxItems": 1,
+ "minItems": 1,
+ "type": "array"
+ },
+ "TrainingDatasetArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:training-dataset/[-a-zA-Z0-9_/.]+$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Status",
+ "/properties/TrainingDatasetArn"
+ ],
+ "required": [
+ "Name",
+ "RoleArn",
+ "TrainingData"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CleanRoomsML::TrainingDataset"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-dms-replicationconfig.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-dms-replicationconfig.json
deleted file mode 100644
index 83b9074702..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-dms-replicationconfig.json
+++ /dev/null
@@ -1,204 +0,0 @@
-{
- "additionalIdentifiers": [
- [
- "/properties/ReplicationConfigIdentifier"
- ]
- ],
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ResourceIdentifier"
- ],
- "definitions": {
- "ComputeConfig": {
- "additionalProperties": false,
- "properties": {
- "AvailabilityZone": {
- "type": "string"
- },
- "DnsNameServers": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "MaxCapacityUnits": {
- "type": "integer"
- },
- "MinCapacityUnits": {
- "type": "integer"
- },
- "MultiAZ": {
- "type": "boolean"
- },
- "PreferredMaintenanceWindow": {
- "type": "string"
- },
- "ReplicationSubnetGroupId": {
- "type": "string"
- },
- "VpcSecurityGroupIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "MaxCapacityUnits"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "dms:CreateReplicationConfig",
- "dms:AddTagsToResource",
- "dms:ListTagsForResource",
- "iam:CreateServiceLinkedRole",
- "iam:AttachRolePolicy",
- "iam:PutRolePolicy",
- "iam:UpdateRoleDescription"
- ]
- },
- "delete": {
- "permissions": [
- "dms:DescribeReplicationConfigs",
- "dms:DeleteReplicationConfig",
- "dms:ListTagsForResource",
- "iam:DeleteServiceLinkedRole",
- "iam:GetServiceLinkedRoleDeletionStatus"
- ]
- },
- "list": {
- "permissions": [
- "dms:DescribeReplicationConfigs",
- "dms:ListTagsForResource"
- ]
- },
- "read": {
- "permissions": [
- "dms:DescribeReplicationConfigs",
- "dms:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "dms:ModifyReplicationConfig",
- "dms:AddTagsToResource",
- "dms:RemoveTagsFromResource",
- "dms:ListTagsForResource",
- "iam:CreateServiceLinkedRole",
- "iam:AttachRolePolicy",
- "iam:PutRolePolicy",
- "iam:UpdateRoleDescription"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/ReplicationConfigArn"
- ],
- "properties": {
- "ComputeConfig": {
- "$ref": "#/definitions/ComputeConfig"
- },
- "ReplicationConfigArn": {
- "type": "string"
- },
- "ReplicationConfigIdentifier": {
- "type": "string"
- },
- "ReplicationSettings": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "ReplicationType": {
- "enum": [
- "full-load",
- "full-load-and-cdc",
- "cdc"
- ],
- "type": "string"
- },
- "ResourceIdentifier": {
- "type": "string"
- },
- "SourceEndpointArn": {
- "type": "string"
- },
- "SupplementalSettings": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "TableMappings": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 200,
- "minItems": 1,
- "type": "array"
- },
- "TargetEndpointArn": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/ReplicationConfigArn"
- ],
- "required": [
- "ReplicationConfigIdentifier",
- "SourceEndpointArn",
- "TargetEndpointArn",
- "ReplicationType",
- "ComputeConfig",
- "TableMappings"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-dms",
- "tagging": {
- "cloudFormationSystemTags": false,
- "permissions": [
- "dms:AddTagsToResource",
- "dms:ListTagsForResource",
- "dms:RemoveTagsFromResource"
- ],
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::DMS::ReplicationConfig"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-securitygroup.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-securitygroup.json
new file mode 100644
index 0000000000..8ab5cdc451
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-securitygroup.json
@@ -0,0 +1,240 @@
+{
+ "$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:DescribeSecurityGroups",
+ "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-vpnconnection.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpnconnection.json
index 769330c57d..0e94eb57e5 100644
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpnconnection.json
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpnconnection.json
@@ -6,6 +6,7 @@
"/properties/CustomerGatewayId",
"/properties/VpnGatewayId",
"/properties/TransitGatewayId",
+ "/properties/EnableAcceleration",
"/properties/VpnTunnelOptionsSpecifications",
"/properties/StaticRoutesOnly"
],
@@ -78,6 +79,9 @@
"CustomerGatewayId": {
"type": "string"
},
+ "EnableAcceleration": {
+ "type": "boolean"
+ },
"StaticRoutesOnly": {
"type": "boolean"
},
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpngatewayroutepropagation.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpngatewayroutepropagation.json
new file mode 100644
index 0000000000..95e415765e
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpngatewayroutepropagation.json
@@ -0,0 +1,57 @@
+{
+ "additionalProperties": false,
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:EnableVgwRoutePropagation",
+ "ec2:DescribeRouteTables"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DisableVgwRoutePropagation",
+ "ec2:DescribeRouteTables"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:EnableVgwRoutePropagation",
+ "ec2:DescribeRouteTables"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Id": {
+ "type": "string"
+ },
+ "RouteTableIds": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpnGatewayId": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id"
+ ],
+ "required": [
+ "RouteTableIds",
+ "VpnGatewayId"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::EC2::VPNGatewayRoutePropagation"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-cluster.json
deleted file mode 100644
index 174109bffd..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-eks-cluster.json
+++ /dev/null
@@ -1,409 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/OutpostConfig",
- "/properties/EncryptionConfig",
- "/properties/KubernetesNetworkConfig",
- "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions",
- "/properties/Name",
- "/properties/RoleArn",
- "/properties/BootstrapSelfManagedAddons"
- ],
- "definitions": {
- "AccessConfig": {
- "additionalProperties": false,
- "properties": {
- "AuthenticationMode": {
- "enum": [
- "CONFIG_MAP",
- "API_AND_CONFIG_MAP",
- "API"
- ],
- "type": "string"
- },
- "BootstrapClusterCreatorAdminPermissions": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ClusterLogging": {
- "additionalProperties": false,
- "properties": {
- "EnabledTypes": {
- "$ref": "#/definitions/EnabledTypes"
- }
- },
- "type": "object"
- },
- "ControlPlanePlacement": {
- "additionalProperties": false,
- "properties": {
- "GroupName": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "EnabledTypes": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LoggingTypeConfig"
- },
- "type": "array"
- },
- "EncryptionConfig": {
- "additionalProperties": false,
- "properties": {
- "Provider": {
- "$ref": "#/definitions/Provider"
- },
- "Resources": {
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "KubernetesNetworkConfig": {
- "additionalProperties": false,
- "properties": {
- "IpFamily": {
- "enum": [
- "ipv4",
- "ipv6"
- ],
- "type": "string"
- },
- "ServiceIpv4Cidr": {
- "type": "string"
- },
- "ServiceIpv6Cidr": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Logging": {
- "additionalProperties": false,
- "properties": {
- "ClusterLogging": {
- "$ref": "#/definitions/ClusterLogging"
- }
- },
- "type": "object"
- },
- "LoggingTypeConfig": {
- "additionalProperties": false,
- "properties": {
- "Type": {
- "enum": [
- "api",
- "audit",
- "authenticator",
- "controllerManager",
- "scheduler"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "OutpostConfig": {
- "additionalProperties": false,
- "properties": {
- "ControlPlaneInstanceType": {
- "type": "string"
- },
- "ControlPlanePlacement": {
- "$ref": "#/definitions/ControlPlanePlacement"
- },
- "OutpostArns": {
- "insertionOrder": false,
- "items": {
- "minItems": 1,
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "OutpostArns",
- "ControlPlaneInstanceType"
- ],
- "type": "object"
- },
- "Provider": {
- "additionalProperties": false,
- "properties": {
- "KeyArn": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "RemoteNodeNetwork": {
- "additionalProperties": false,
- "properties": {
- "Cidrs": {
- "insertionOrder": false,
- "items": {
- "minItems": 1,
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "Cidrs"
- ],
- "type": "object"
- },
- "RemoteNodeNetworks": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/RemoteNodeNetwork"
- },
- "type": "array"
- },
- "RemotePodNetwork": {
- "additionalProperties": false,
- "properties": {
- "Cidrs": {
- "insertionOrder": false,
- "items": {
- "minItems": 1,
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "Cidrs"
- ],
- "type": "object"
- },
- "RemotePodNetworks": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/RemotePodNetwork"
- },
- "type": "array"
- },
- "ResourcesVpcConfig": {
- "additionalProperties": false,
- "properties": {
- "EndpointPrivateAccess": {
- "type": "boolean"
- },
- "EndpointPublicAccess": {
- "type": "boolean"
- },
- "PublicAccessCidrs": {
- "insertionOrder": false,
- "items": {
- "minItems": 1,
- "type": "string"
- },
- "type": "array"
- },
- "SecurityGroupIds": {
- "format": "AWS::EC2::SecurityGroup.Ids",
- "insertionOrder": false,
- "items": {
- "format": "AWS::EC2::SecurityGroup.GroupId",
- "minItems": 1,
- "type": "string"
- },
- "type": "array"
- },
- "SubnetIds": {
- "insertionOrder": false,
- "items": {
- "minItems": 1,
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "SubnetIds"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "eks:CreateCluster",
- "eks:DescribeCluster",
- "eks:TagResource",
- "iam:PassRole",
- "iam:GetRole",
- "iam:ListAttachedRolePolicies",
- "iam:CreateServiceLinkedRole",
- "iam:CreateInstanceProfile",
- "iam:TagInstanceProfile",
- "iam:AddRoleToInstanceProfile",
- "iam:GetInstanceProfile",
- "iam:DeleteInstanceProfile",
- "iam:RemoveRoleFromInstanceProfile",
- "ec2:DescribeSubnets",
- "ec2:DescribeVpcs",
- "kms:DescribeKey",
- "kms:CreateGrant"
- ]
- },
- "delete": {
- "permissions": [
- "eks:DeleteCluster",
- "eks:DescribeCluster"
- ]
- },
- "list": {
- "permissions": [
- "eks:ListClusters"
- ]
- },
- "read": {
- "permissions": [
- "eks:DescribeCluster"
- ]
- },
- "update": {
- "permissions": [
- "iam:PassRole",
- "eks:UpdateClusterConfig",
- "eks:UpdateClusterVersion",
- "eks:DescribeCluster",
- "eks:DescribeUpdate",
- "eks:TagResource",
- "eks:UntagResource"
- ],
- "timeoutInMinutes": 180
- }
- },
- "primaryIdentifier": [
- "/properties/Name"
- ],
- "properties": {
- "AccessConfig": {
- "$ref": "#/definitions/AccessConfig"
- },
- "Arn": {
- "type": "string"
- },
- "BootstrapSelfManagedAddons": {
- "type": "boolean"
- },
- "CertificateAuthorityData": {
- "type": "string"
- },
- "ClusterSecurityGroupId": {
- "type": "string"
- },
- "EncryptionConfig": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/EncryptionConfig",
- "maxItems": 1
- },
- "type": "array"
- },
- "EncryptionConfigKeyArn": {
- "type": "string"
- },
- "Endpoint": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "KubernetesNetworkConfig": {
- "$ref": "#/definitions/KubernetesNetworkConfig"
- },
- "Logging": {
- "$ref": "#/definitions/Logging"
- },
- "Name": {
- "maxLength": 100,
- "minLength": 1,
- "pattern": "^[0-9A-Za-z][A-Za-z0-9\\-_]*",
- "type": "string"
- },
- "OpenIdConnectIssuerUrl": {
- "type": "string"
- },
- "OutpostConfig": {
- "$ref": "#/definitions/OutpostConfig"
- },
- "ResourcesVpcConfig": {
- "$ref": "#/definitions/ResourcesVpcConfig"
- },
- "RoleArn": {
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Version": {
- "pattern": "1\\.\\d\\d",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn",
- "/properties/Endpoint",
- "/properties/CertificateAuthorityData",
- "/properties/ClusterSecurityGroupId",
- "/properties/EncryptionConfigKeyArn",
- "/properties/OpenIdConnectIssuerUrl",
- "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr"
- ],
- "required": [
- "RoleArn",
- "ResourcesVpcConfig"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::EKS::Cluster",
- "writeOnlyProperties": [
- "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions",
- "/properties/BootstrapSelfManagedAddons"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-inspectorv2-cisscanconfiguration.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-inspectorv2-cisscanconfiguration.json
new file mode 100644
index 0000000000..207b596d71
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-inspectorv2-cisscanconfiguration.json
@@ -0,0 +1,245 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "CisSecurityLevel": {
+ "enum": [
+ "LEVEL_1",
+ "LEVEL_2"
+ ],
+ "type": "string"
+ },
+ "CisTagMap": {
+ "additionalProperties": false,
+ "patternProperties": {
+ "^.{2,127}$": {
+ "pattern": "^.{1,255}$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CisTargets": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountIds": {
+ "items": {
+ "pattern": "^\\d{12}|ALL_MEMBERS|SELF$",
+ "type": "string"
+ },
+ "maxItems": 10000,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetResourceTags": {
+ "$ref": "#/definitions/TargetResourceTags"
+ }
+ },
+ "required": [
+ "AccountIds"
+ ]
+ },
+ "DailySchedule": {
+ "additionalProperties": false,
+ "properties": {
+ "StartTime": {
+ "$ref": "#/definitions/Time"
+ }
+ },
+ "required": [
+ "StartTime"
+ ],
+ "type": "object"
+ },
+ "Day": {
+ "enum": [
+ "MON",
+ "TUE",
+ "WED",
+ "THU",
+ "FRI",
+ "SAT",
+ "SUN"
+ ],
+ "type": "string"
+ },
+ "DaysList": {
+ "items": {
+ "$ref": "#/definitions/Day"
+ },
+ "maxItems": 7,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MonthlySchedule": {
+ "additionalProperties": false,
+ "properties": {
+ "Day": {
+ "$ref": "#/definitions/Day"
+ },
+ "StartTime": {
+ "$ref": "#/definitions/Time"
+ }
+ },
+ "required": [
+ "StartTime",
+ "Day"
+ ],
+ "type": "object"
+ },
+ "OneTimeSchedule": {
+ "format": "json",
+ "type": [
+ "object",
+ "string"
+ ]
+ },
+ "Schedule": {
+ "properties": {
+ "Daily": {
+ "$ref": "#/definitions/DailySchedule"
+ },
+ "Monthly": {
+ "$ref": "#/definitions/MonthlySchedule"
+ },
+ "OneTime": {
+ "$ref": "#/definitions/OneTimeSchedule"
+ },
+ "Weekly": {
+ "$ref": "#/definitions/WeeklySchedule"
+ }
+ }
+ },
+ "TagValueList": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "TargetResourceTags": {
+ "additionalProperties": false,
+ "maxProperties": 5,
+ "patternProperties": {
+ "^.+$": {
+ "$ref": "#/definitions/TagValueList"
+ }
+ }
+ },
+ "Time": {
+ "additionalProperties": false,
+ "properties": {
+ "TimeOfDay": {
+ "pattern": "^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$",
+ "type": "string"
+ },
+ "TimeZone": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TimeOfDay",
+ "TimeZone"
+ ],
+ "type": "object"
+ },
+ "WeeklySchedule": {
+ "additionalProperties": false,
+ "properties": {
+ "Days": {
+ "$ref": "#/definitions/DaysList"
+ },
+ "StartTime": {
+ "$ref": "#/definitions/Time"
+ }
+ },
+ "required": [
+ "StartTime",
+ "Days"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "inspector2:CreateCisScanConfiguration",
+ "inspector2:ListCisScanConfigurations",
+ "inspector2:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "inspector2:ListCisScanConfigurations",
+ "inspector2:DeleteCisScanConfiguration",
+ "inspector2:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "inspector2:ListCisScanConfigurations",
+ "inspector2:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "inspector2:ListCisScanConfigurations",
+ "inspector2:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "inspector2:ListCisScanConfigurations",
+ "inspector2:UpdateCisScanConfiguration",
+ "inspector2:TagResource",
+ "inspector2:UntagResource",
+ "inspector2:ListTagsForResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "ScanName": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "Schedule": {
+ "$ref": "#/definitions/Schedule"
+ },
+ "SecurityLevel": {
+ "$ref": "#/definitions/CisSecurityLevel"
+ },
+ "Tags": {
+ "$ref": "#/definitions/CisTagMap"
+ },
+ "Targets": {
+ "$ref": "#/definitions/CisTargets"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "required": [
+ "ScanName",
+ "SecurityLevel",
+ "Schedule",
+ "Targets"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-inspector.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::InspectorV2::CisScanConfiguration"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ivschat-room.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ivschat-room.json
new file mode 100644
index 0000000000..9d5445797c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ivschat-room.json
@@ -0,0 +1,158 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "MessageReviewHandler": {
+ "additionalProperties": false,
+ "properties": {
+ "FallbackResult": {
+ "default": "ALLOW",
+ "enum": [
+ "ALLOW",
+ "DENY"
+ ],
+ "type": "string"
+ },
+ "Uri": {
+ "maxLength": 170,
+ "minLength": 0,
+ "pattern": "^$|^arn:aws:lambda:[a-z0-9-]+:[0-9]{12}:function:.+",
+ "type": "string"
+ }
+ },
+ "required": [],
+ "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": [
+ "ivschat:CreateRoom",
+ "ivschat:TagResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ivschat:DeleteRoom",
+ "ivschat:UntagResource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ivschat:ListRooms",
+ "ivschat:ListTagsForResource"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ivschat:GetRoom",
+ "ivschat:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ivschat:UpdateRoom",
+ "ivschat:TagResource",
+ "ivschat:UntagResource",
+ "ivschat:ListTagsForResource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^arn:aws:ivschat:[a-z0-9-]+:[0-9]+:room/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "Id": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "LoggingConfigurationIdentifiers": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^arn:aws:ivschat:[a-z0-9-]+:[0-9]+:logging-configuration/[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "MaximumMessageLength": {
+ "default": 500,
+ "maximum": 500,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "MaximumMessageRatePerSecond": {
+ "default": 10,
+ "maximum": 10,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "MessageReviewHandler": {
+ "$ref": "#/definitions/MessageReviewHandler"
+ },
+ "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/Id"
+ ],
+ "required": [],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ivschat.git",
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "permissions": [
+ "ivschat:TagResource",
+ "ivschat:ListTagsForResource",
+ "ivschat:UntagResource"
+ ],
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::IVSChat::Room"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-organizations-organization.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-organizations-organization.json
deleted file mode 100644
index 844033a13a..0000000000
--- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-organizations-organization.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "additionalProperties": false,
- "handlers": {
- "create": {
- "permissions": [
- "organizations:CreateOrganization",
- "organizations:DescribeOrganization",
- "iam:CreateServiceLinkedRole",
- "organizations:ListRoots"
- ]
- },
- "delete": {
- "permissions": [
- "organizations:DeleteOrganization",
- "organizations:DescribeOrganization"
- ]
- },
- "list": {
- "permissions": [
- "organizations:DescribeOrganization"
- ]
- },
- "read": {
- "permissions": [
- "organizations:DescribeOrganization",
- "organizations:ListRoots"
- ]
- },
- "update": {
- "permissions": [
- "organizations:DescribeOrganization"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "pattern": "^arn:aws.*:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}",
- "type": "string"
- },
- "FeatureSet": {
- "default": "ALL",
- "enum": [
- "ALL",
- "CONSOLIDATED_BILLING"
- ],
- "type": "string"
- },
- "Id": {
- "pattern": "^o-[a-z0-9]{10,32}$",
- "type": "string"
- },
- "ManagementAccountArn": {
- "pattern": "^arn:aws.*:organizations::\\d{12}:account\\/o-[a-z0-9]{10,32}\\/\\d{12}",
- "type": "string"
- },
- "ManagementAccountEmail": {
- "maxLength": 64,
- "minLength": 6,
- "pattern": "[^\\s@]+@[^\\s@]+\\.[^\\s@]+",
- "type": "string"
- },
- "ManagementAccountId": {
- "pattern": "^\\d{12}$",
- "type": "string"
- },
- "RootId": {
- "maxLength": 64,
- "pattern": "^r-[0-9a-z]{4,32}$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn",
- "/properties/ManagementAccountArn",
- "/properties/ManagementAccountId",
- "/properties/ManagementAccountEmail",
- "/properties/RootId"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations.git",
- "tagging": {
- "taggable": false
- },
- "typeName": "AWS::Organizations::Organization"
-}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-route53-cidrcollection.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-route53-cidrcollection.json
new file mode 100644
index 0000000000..4fa6fea8fc
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-route53-cidrcollection.json
@@ -0,0 +1,101 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name"
+ ],
+ "definitions": {
+ "Location": {
+ "additionalProperties": false,
+ "properties": {
+ "CidrList": {
+ "insertionOrder": false,
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "LocationName": {
+ "maxLength": 16,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "LocationName",
+ "CidrList"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "route53:CreateCidrCollection",
+ "route53:ChangeCidrCollection"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "route53:DeleteCidrCollection",
+ "route53:ChangeCidrCollection",
+ "route53:ListCidrBlocks"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "route53:ListCidrCollections",
+ "route53:ListCidrBlocks"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "route53:ListCidrCollections",
+ "route53:ListCidrBlocks"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "route53:ChangeCidrCollection"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "Locations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Location"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "Name": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[0-9A-Za-z_\\-]+$",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn"
+ ],
+ "required": [
+ "Name"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53.git",
+ "tagging": {
+ "tagUpdatable": false,
+ "taggable": false
+ },
+ "typeName": "AWS::Route53::CidrCollection"
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-app.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-app.json
new file mode 100644
index 0000000000..d565ffb835
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-app.json
@@ -0,0 +1,210 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/Tags",
+ "/properties/ResourceSpec"
+ ],
+ "definitions": {
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DescribeApp"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListApps"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeApp",
+ "sagemaker:DescribeApp"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/AppName",
+ "/properties/AppType",
+ "/properties/DomainId",
+ "/properties/UserProfileName"
+ ],
+ "properties": {
+ "AppArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:app/.*",
+ "type": "string"
+ },
+ "AppName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "KernelGateway",
+ "RStudioServerPro",
+ "RSessionGateway",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "ResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/AppArn"
+ ],
+ "required": [
+ "AppName",
+ "AppType",
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::App",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-domain.json
new file mode 100644
index 0000000000..5cd4ea45fa
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-domain.json
@@ -0,0 +1,831 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/AuthMode",
+ "/properties/DomainName",
+ "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec",
+ "/properties/KmsKeyId",
+ "/properties/VpcId",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "AppType": {
+ "enum": [
+ "JupyterServer",
+ "TensorBoard",
+ "RStudioServerPro",
+ "JupyterLab",
+ "CodeEditor",
+ "DetailedProfiler",
+ "Canvas"
+ ],
+ "type": "string"
+ },
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "DockerSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "EnableDockerAccess": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "VpcOnlyTrustedAccounts": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^\\d+$",
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "DomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DockerSettings": {
+ "$ref": "#/definitions/DockerSettings"
+ },
+ "RStudioServerProDomainSettings": {
+ "$ref": "#/definitions/RStudioServerProDomainSettings"
+ },
+ "SecurityGroupIds": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "MlTools": {
+ "enum": [
+ "DataWrangler",
+ "FeatureStore",
+ "EmrClusters",
+ "AutoML",
+ "Experiments",
+ "Training",
+ "ModelEvaluation",
+ "Pipelines",
+ "Models",
+ "JumpStart",
+ "InferenceRecommender",
+ "Endpoints",
+ "Projects"
+ ],
+ "type": "string"
+ },
+ "RSessionAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 200,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProDomainSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "DomainExecutionRoleArn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "RStudioConnectUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ },
+ "RStudioPackageManagerUrl": {
+ "pattern": "^(https:|http:|www\\.)\\S*",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DomainExecutionRoleArn"
+ ],
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "LifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "HiddenAppTypes": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/AppType"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "HiddenMlTools": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/MlTools"
+ },
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RSessionAppSettings": {
+ "$ref": "#/definitions/RSessionAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "insertionOrder": false,
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "StudioWebPortalSettings": {
+ "$ref": "#/definitions/StudioWebPortalSettings"
+ }
+ },
+ "required": [
+ "ExecutionRole"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:CreateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:CreateServiceLinkedRole",
+ "iam:PassRole",
+ "efs:CreateFileSystem",
+ "kms:CreateGrant",
+ "kms:Decrypt",
+ "kms:DescribeKey",
+ "kms:GenerateDataKeyWithoutPlainText"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteApp",
+ "sagemaker:DeleteDomain",
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListDomains"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeDomain"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:CreateApp",
+ "sagemaker:UpdateDomain",
+ "sagemaker:DescribeDomain",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "AppNetworkAccessType": {
+ "enum": [
+ "PublicInternetOnly",
+ "VpcOnly"
+ ],
+ "type": "string"
+ },
+ "AppSecurityGroupManagement": {
+ "enum": [
+ "Service",
+ "Customer"
+ ],
+ "type": "string"
+ },
+ "AuthMode": {
+ "enum": [
+ "SSO",
+ "IAM"
+ ],
+ "type": "string"
+ },
+ "DefaultSpaceSettings": {
+ "$ref": "#/definitions/DefaultSpaceSettings"
+ },
+ "DefaultUserSettings": {
+ "$ref": "#/definitions/UserSettings"
+ },
+ "DomainArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*",
+ "type": "string"
+ },
+ "DomainId": {
+ "maxLength": 63,
+ "pattern": "^d-(-*[a-z0-9])+",
+ "type": "string"
+ },
+ "DomainName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "DomainSettings": {
+ "$ref": "#/definitions/DomainSettings"
+ },
+ "HomeEfsFileSystemId": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "SecurityGroupIdForDomainBoundary": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "SingleSignOnApplicationArn": {
+ "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$",
+ "type": "string"
+ },
+ "SingleSignOnManagedApplicationInstanceId": {
+ "maxLength": 256,
+ "type": "string"
+ },
+ "SubnetIds": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 16,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "Url": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "VpcId": {
+ "format": "AWS::EC2::VPC.Id",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/DomainArn",
+ "/properties/Url",
+ "/properties/DomainId",
+ "/properties/HomeEfsFileSystemId",
+ "/properties/SecurityGroupIdForDomainBoundary",
+ "/properties/SingleSignOnManagedApplicationInstanceId",
+ "/properties/SingleSignOnApplicationArn"
+ ],
+ "required": [
+ "AuthMode",
+ "DefaultUserSettings",
+ "DomainName",
+ "SubnetIds",
+ "VpcId"
+ ],
+ "typeName": "AWS::SageMaker::Domain",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-modelpackage.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-modelpackage.json
new file mode 100644
index 0000000000..04be3e312c
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-sagemaker-modelpackage.json
@@ -0,0 +1,1135 @@
+{
+ "additionalProperties": false,
+ "conditionalCreateOnlyProperties": [
+ "/properties/ModelCard",
+ "/properties/SourceUri"
+ ],
+ "createOnlyProperties": [
+ "/properties/ModelPackageGroupName",
+ "/properties/ModelPackageDescription",
+ "/properties/InferenceSpecification",
+ "/properties/ValidationSpecification",
+ "/properties/SourceAlgorithmSpecification",
+ "/properties/MetadataProperties",
+ "/properties/ModelMetrics",
+ "/properties/ClientToken",
+ "/properties/DriftCheckBaselines",
+ "/properties/Domain",
+ "/properties/Task",
+ "/properties/SamplePayloadUrl",
+ "/properties/SecurityConfig"
+ ],
+ "definitions": {
+ "AdditionalInferenceSpecificationDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ModelPackageContainerDefinition"
+ },
+ "maxItems": 15,
+ "minItems": 1,
+ "type": "array"
+ },
+ "Description": {
+ "maxLength": 1024,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 63,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "SupportedContentTypes": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ContentType"
+ },
+ "type": "array"
+ },
+ "SupportedRealtimeInferenceInstanceTypes": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/InferenceInstanceType"
+ },
+ "type": "array"
+ },
+ "SupportedResponseMIMETypes": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResponseMIMEType"
+ },
+ "type": "array"
+ },
+ "SupportedTransformInstanceTypes": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/TransformInstanceType"
+ },
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Containers",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "AdditionalInferenceSpecifications": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/AdditionalInferenceSpecificationDefinition"
+ },
+ "maxItems": 15,
+ "minItems": 1,
+ "type": "array"
+ },
+ "ApprovalDescription": {
+ "maxLength": 1024,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "Bias": {
+ "additionalProperties": false,
+ "properties": {
+ "PostTrainingReport": {
+ "$ref": "#/definitions/MetricsSource"
+ },
+ "PreTrainingReport": {
+ "$ref": "#/definitions/MetricsSource"
+ },
+ "Report": {
+ "$ref": "#/definitions/MetricsSource"
+ }
+ },
+ "type": "object"
+ },
+ "CertifyForMarketplace": {
+ "type": "boolean"
+ },
+ "ClientToken": {
+ "maxLength": 36,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-]+$",
+ "type": "string"
+ },
+ "ContentType": {
+ "maxLength": 256,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "CreationTime": {
+ "type": "string"
+ },
+ "CustomerMetadataProperties": {
+ "additionalProperties": false,
+ "maxProperties": 50,
+ "minProperties": 1,
+ "patternProperties": {
+ "^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*)${1,128}": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*)${1,256}": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "S3DataSource": {
+ "$ref": "#/definitions/S3DataSource"
+ }
+ },
+ "required": [
+ "S3DataSource"
+ ],
+ "type": "object"
+ },
+ "Domain": {
+ "type": "string"
+ },
+ "DriftCheckBaselines": {
+ "additionalProperties": false,
+ "properties": {
+ "Bias": {
+ "$ref": "#/definitions/DriftCheckBias"
+ },
+ "Explainability": {
+ "$ref": "#/definitions/DriftCheckExplainability"
+ },
+ "ModelDataQuality": {
+ "$ref": "#/definitions/DriftCheckModelDataQuality"
+ },
+ "ModelQuality": {
+ "$ref": "#/definitions/DriftCheckModelQuality"
+ }
+ },
+ "type": "object"
+ },
+ "DriftCheckBias": {
+ "additionalProperties": false,
+ "properties": {
+ "ConfigFile": {
+ "$ref": "#/definitions/FileSource"
+ },
+ "PostTrainingConstraints": {
+ "$ref": "#/definitions/MetricsSource"
+ },
+ "PreTrainingConstraints": {
+ "$ref": "#/definitions/MetricsSource"
+ }
+ },
+ "type": "object"
+ },
+ "DriftCheckExplainability": {
+ "additionalProperties": false,
+ "properties": {
+ "ConfigFile": {
+ "$ref": "#/definitions/FileSource"
+ },
+ "Constraints": {
+ "$ref": "#/definitions/MetricsSource"
+ }
+ },
+ "type": "object"
+ },
+ "DriftCheckModelDataQuality": {
+ "additionalProperties": false,
+ "properties": {
+ "Constraints": {
+ "$ref": "#/definitions/MetricsSource"
+ },
+ "Statistics": {
+ "$ref": "#/definitions/MetricsSource"
+ }
+ },
+ "type": "object"
+ },
+ "DriftCheckModelQuality": {
+ "additionalProperties": false,
+ "properties": {
+ "Constraints": {
+ "$ref": "#/definitions/MetricsSource"
+ },
+ "Statistics": {
+ "$ref": "#/definitions/MetricsSource"
+ }
+ },
+ "type": "object"
+ },
+ "Environment": {
+ "additionalProperties": false,
+ "maxProperties": 16,
+ "patternProperties": {
+ "[\\S\\s]*": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "[a-zA-Z_][a-zA-Z0-9_]*": {
+ "maxLength": 1024,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Explainability": {
+ "additionalProperties": false,
+ "properties": {
+ "Report": {
+ "$ref": "#/definitions/MetricsSource"
+ }
+ },
+ "type": "object"
+ },
+ "FileSource": {
+ "additionalProperties": false,
+ "properties": {
+ "ContentDigest": {
+ "maxLength": 72,
+ "pattern": "^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$",
+ "type": "string"
+ },
+ "ContentType": {
+ "maxLength": 256,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3Uri": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "S3Uri"
+ ],
+ "type": "object"
+ },
+ "InferenceInstanceType": {
+ "type": "string"
+ },
+ "InferenceSpecification": {
+ "additionalProperties": false,
+ "properties": {
+ "Containers": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ModelPackageContainerDefinition"
+ },
+ "maxItems": 15,
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "SupportedContentTypes": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ContentType"
+ },
+ "type": "array"
+ },
+ "SupportedRealtimeInferenceInstanceTypes": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/InferenceInstanceType"
+ },
+ "type": "array"
+ },
+ "SupportedResponseMIMETypes": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/ResponseMIMEType"
+ },
+ "type": "array"
+ },
+ "SupportedTransformInstanceTypes": {
+ "insertionOrder": true,
+ "items": {
+ "$ref": "#/definitions/TransformInstanceType"
+ },
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Containers",
+ "SupportedContentTypes",
+ "SupportedResponseMIMETypes"
+ ],
+ "type": "object"
+ },
+ "LastModifiedTime": {
+ "type": "string"
+ },
+ "MetadataProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "CommitId": {
+ "maxLength": 1024,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "GeneratedBy": {
+ "maxLength": 1024,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "ProjectId": {
+ "maxLength": 1024,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "Repository": {
+ "maxLength": 1024,
+ "pattern": ".*",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "MetricsSource": {
+ "additionalProperties": false,
+ "properties": {
+ "ContentDigest": {
+ "maxLength": 72,
+ "pattern": "^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$",
+ "type": "string"
+ },
+ "ContentType": {
+ "maxLength": 256,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3Uri": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "ContentType",
+ "S3Uri"
+ ],
+ "type": "object"
+ },
+ "ModelAccessConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "AcceptEula": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "AcceptEula"
+ ],
+ "type": "object"
+ },
+ "ModelApprovalStatus": {
+ "enum": [
+ "Approved",
+ "Rejected",
+ "PendingManualApproval"
+ ],
+ "type": "string"
+ },
+ "ModelCard": {
+ "additionalProperties": false,
+ "properties": {
+ "ModelCardContent": {
+ "maxLength": 100000,
+ "minLength": 0,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "ModelCardStatus": {
+ "enum": [
+ "Draft",
+ "PendingReview",
+ "Approved",
+ "Archived"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "ModelCardContent",
+ "ModelCardStatus"
+ ],
+ "type": "object"
+ },
+ "ModelDataQuality": {
+ "additionalProperties": false,
+ "properties": {
+ "Constraints": {
+ "$ref": "#/definitions/MetricsSource"
+ },
+ "Statistics": {
+ "$ref": "#/definitions/MetricsSource"
+ }
+ },
+ "type": "object"
+ },
+ "ModelDataSource": {
+ "additionalProperties": false,
+ "properties": {
+ "S3DataSource": {
+ "$ref": "#/definitions/S3ModelDataSource"
+ }
+ },
+ "type": "object"
+ },
+ "ModelMetrics": {
+ "additionalProperties": false,
+ "properties": {
+ "Bias": {
+ "$ref": "#/definitions/Bias"
+ },
+ "Explainability": {
+ "$ref": "#/definitions/Explainability"
+ },
+ "ModelDataQuality": {
+ "$ref": "#/definitions/ModelDataQuality"
+ },
+ "ModelQuality": {
+ "$ref": "#/definitions/ModelQuality"
+ }
+ },
+ "type": "object"
+ },
+ "ModelPackageArn": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "pattern": "^arn:aws(-cn|-us-gov)?:sagemaker:[a-z0-9\\-]{9,16}:[0-9]{12}:model-package/[\\S]{1,2048}$",
+ "type": "string"
+ },
+ "ModelPackageContainerDefinition": {
+ "additionalProperties": false,
+ "properties": {
+ "ContainerHostname": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "Environment": {
+ "$ref": "#/definitions/Environment"
+ },
+ "Framework": {
+ "type": "string"
+ },
+ "FrameworkVersion": {
+ "maxLength": 10,
+ "minLength": 3,
+ "pattern": "[0-9]\\.[A-Za-z0-9.]+",
+ "type": "string"
+ },
+ "Image": {
+ "maxLength": 255,
+ "minLength": 1,
+ "pattern": "[\\S]{1,255}",
+ "type": "string"
+ },
+ "ImageDigest": {
+ "maxLength": 72,
+ "pattern": "^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$",
+ "type": "string"
+ },
+ "ModelDataSource": {
+ "$ref": "#/definitions/ModelDataSource"
+ },
+ "ModelDataUrl": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ },
+ "ModelInput": {
+ "additionalProperties": false,
+ "properties": {
+ "DataInputConfig": {
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "[\\S\\s]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "DataInputConfig"
+ ],
+ "type": "object"
+ },
+ "NearestModelName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Image"
+ ],
+ "type": "object"
+ },
+ "ModelPackageDescription": {
+ "maxLength": 1024,
+ "pattern": "[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]*",
+ "type": "string"
+ },
+ "ModelPackageGroupName": {
+ "maxLength": 170,
+ "minLength": 1,
+ "pattern": "(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:[a-z\\-]*\\/)?([a-zA-Z0-9]([a-zA-Z0-9-]){0,62})(?