From d3e9358663d2cc9d2230969cb1f80d0bb36f9ac7 Mon Sep 17 00:00:00 2001 From: Kevin DeJong Date: Wed, 26 Jun 2024 03:26:39 -0700 Subject: [PATCH] JSON object type cleanup --- ...63a1bf4413531ad420ff60a5a0d7965d.meta.json | 2 +- ...376aa3fe15197e3bb0e9290ff8719b4e.meta.json | 2 +- ...f60a7b5acfc406ebb10d5748cbb8ed41.meta.json | 2 +- ...f35136af536e92a84ccbaf062c315066.meta.json | 2 +- ...98ac34d4109512e0e0947ef752dcb9c9.meta.json | 2 +- ...7e4a4542365d35fd75466abcf306eeca.meta.json | 2 +- ...69b7533eabab32ecfc0a00cb19e55a5f.meta.json | 2 +- ...e783fe32b6bb6b13774c32fcca1d303a.meta.json | 2 +- ...05f2567698dfdfa979bf0ccdb68cb856.meta.json | 2 +- ...6bb7f975b606f8db57532faddfcdd8c8.meta.json | 2 +- ...73ff097c685cda0a63c08a6416dc58ed.meta.json | 2 +- ...26b315ef6f38515840537c02de23abe2.meta.json | 2 +- ...cf908a34e6b4c3fb3e97e2b584f651ca.meta.json | 2 +- ...b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json | 2 +- ...b2d398fe33547eed780b9b70f10eb4a2.meta.json | 2 +- ...3b69878d351cffd417dc9a457df808af.meta.json | 2 +- .../all/aws_apigateway_model/__init__.py | 0 .../all/aws_apigateway_model/schema.json | 19 + .../all/aws_apigateway_restapi/__init__.py | 0 .../all/aws_apigateway_restapi/body.json | 19 + .../all/aws_apigateway_restapi/policy.json | 19 + .../all/aws_apigatewayv2_vpclink/__init__.py | 0 .../all/aws_apigatewayv2_vpclink/tags.json | 19 + .../__init__.py | 0 .../data.json | 17 + .../all/aws_codepipeline_pipeline/__init__.py | 0 .../actiondeclaration_configuration.json | 19 + .../all/aws_cognito_identitypool/__init__.py | 0 .../cognitoevents.json | 19 + .../supportedloginproviders.json | 19 + .../__init__.py | 0 .../rolemappings.json | 19 + .../roles.json | 19 + .../all/aws_cognito_userpool/__init__.py | 0 .../aws_cognito_userpool/userpooltags.json | 19 + .../all/aws_cognito_userpooluser/__init__.py | 0 .../clientmetadata.json | 19 + .../__init__.py | 0 .../enabledcontrolparameter_value.json | 25 + .../crossregioncopytargets.json | 5 +- .../aws_dlm_lifecyclepolicy/excludetags.json | 5 +- .../excludevolumetypeslist.json | 5 +- .../__init__.py | 0 .../parameters.json | 19 + .../providers/all/aws_iot_policy/__init__.py | 0 .../all/aws_iot_policy/policydocument.json | 19 + .../servicemanageds3.json | 5 +- .../jsonconfiguration.json | 5 +- .../servicemanageds3.json | 5 +- .../tablewildcard.json | 5 +- .../tablewildcard.json | 5 +- .../tablewildcard.json | 5 +- .../aribdestinationsettings.json | 5 +- .../aribsourcesettings.json | 5 +- .../colorspacepassthroughsettings.json | 5 +- .../dolbyvision81settings.json | 5 +- .../embeddeddestinationsettings.json | 5 +- ...embeddedplusscte20destinationsettings.json | 5 +- .../framecapturehlssettings.json | 5 +- .../htmlmotiongraphicssettings.json | 5 +- .../mediapackageoutputsettings.json | 5 +- .../multiplexgroupsettings.json | 5 +- .../passthroughsettings.json | 5 +- .../pipelinelockingsettings.json | 5 +- .../aws_medialive_channel/rawsettings.json | 5 +- .../aws_medialive_channel/rec601settings.json | 5 +- .../aws_medialive_channel/rec709settings.json | 5 +- .../rtmpcaptioninfodestinationsettings.json | 5 +- ...scte20plusembeddeddestinationsettings.json | 5 +- .../scte27destinationsettings.json | 5 +- .../smptettdestinationsettings.json | 5 +- .../teletextdestinationsettings.json | 5 +- .../__init__.py | 0 .../parameters.json | 19 + .../aws_neptune_dbparametergroup/__init__.py | 0 .../parameters.json | 19 + .../all/aws_opsworks_layer/__init__.py | 0 .../all/aws_opsworks_layer/customjson.json | 19 + .../all/aws_opsworks_stack/__init__.py | 0 .../all/aws_opsworks_stack/customjson.json | 19 + .../all/aws_pinpoint_app/__init__.py | 0 .../providers/all/aws_pinpoint_app/tags.json | 18 + .../all/aws_pinpoint_segment/__init__.py | 0 .../segmentdimensions_attributes.json | 19 + .../segmentdimensions_metrics.json | 19 + .../segmentdimensions_userattributes.json | 19 + .../all/aws_pinpoint_segment/tags.json | 18 + .../noauthconfiguration.json | 5 +- .../allsheetsfilterscopeconfiguration.json | 5 +- .../axisdisplaydatadrivenrange.json | 5 +- .../allsheetsfilterscopeconfiguration.json | 5 +- .../axisdisplaydatadrivenrange.json | 5 +- .../allsheetsfilterscopeconfiguration.json | 5 +- .../axisdisplaydatadrivenrange.json | 5 +- .../all/aws_robomaker_fleet/__init__.py | 0 .../all/aws_robomaker_fleet/tags.json | 18 + .../all/aws_robomaker_robot/__init__.py | 0 .../all/aws_robomaker_robot/tags.json | 18 + .../__init__.py | 0 .../aws_robomaker_robotapplication/tags.json | 18 + .../__init__.py | 0 .../tags.json | 18 + .../schemas/providers/af_south_1/__init__.py | 7 +- .../af_south_1/aws-apigateway-domainname.json | 123 --- .../af_south_1/aws-apigatewayv2-vpclink.json | 5 +- .../aws-cloudformation-waitcondition.json | 4 +- .../af_south_1/aws-codepipeline-pipeline.json | 5 +- .../aws-controltower-enabledcontrol.json | 50 +- .../aws-elasticbeanstalk-environment.json | 183 ----- .../providers/af_south_1/aws-iot-policy.json | 5 +- .../af_south_1/aws-mediaconnect-gateway.json | 104 +++ .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../af_south_1/aws-opsworks-layer.json | 5 +- .../af_south_1/aws-opsworks-stack.json | 5 +- .../af_south_1/aws-rds-dbcluster.json | 3 + .../af_south_1/aws-rds-globalcluster.json | 96 --- .../af_south_1/aws-resiliencehub-app.json | 288 ------- .../af_south_1/aws-ses-configurationset.json | 166 ---- ...ws-verifiedpermissions-identitysource.json | 209 ----- .../schemas/providers/ap_east_1/__init__.py | 5 + .../ap_east_1/aws-apigateway-domainname.json | 123 --- .../ap_east_1/aws-apigatewayv2-vpclink.json | 5 +- .../ap_east_1/aws-cognito-identitypool.json | 10 +- ...ws-cognito-identitypoolroleattachment.json | 10 +- .../ap_east_1/aws-cognito-userpool.json | 5 +- .../ap_east_1/aws-cognito-userpooluser.json | 5 +- .../aws-controltower-enabledcontrol.json | 50 +- .../aws-docdb-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../ap_east_1/aws-rds-dbcluster.json | 503 ------------ .../ap_east_1/aws-rds-dbinstance.json | 670 --------------- .../ap_east_1/aws-rds-globalcluster.json | 96 --- .../ap_east_1/aws-resiliencehub-app.json | 288 ------- .../providers/ap_northeast_1/__init__.py | 3 +- .../aws-ecr-repositorycreationtemplate.json | 168 ++++ .../aws-mediaconnect-gateway.json | 104 +++ .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../ap_northeast_1/aws-pinpoint-app.json | 4 +- .../ap_northeast_1/aws-pinpoint-segment.json | 19 +- .../ap_northeast_1/aws-sagemaker-domain.json | 774 ------------------ .../providers/ap_northeast_2/__init__.py | 5 + .../aws-apigateway-domainname.json | 123 --- .../aws-controltower-enabledcontrol.json | 50 +- .../aws-elasticbeanstalk-environment.json | 183 ----- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../ap_northeast_2/aws-pinpoint-app.json | 4 +- .../ap_northeast_2/aws-pinpoint-segment.json | 19 +- .../ap_northeast_2/aws-rds-globalcluster.json | 96 --- .../ap_northeast_2/aws-robomaker-fleet.json | 4 +- .../ap_northeast_2/aws-robomaker-robot.json | 4 +- .../aws-robomaker-robotapplication.json | 4 +- .../aws-robomaker-simulationapplication.json | 4 +- .../aws-ses-configurationset.json | 166 ---- ...ws-verifiedpermissions-identitysource.json | 209 ----- .../ap_northeast_3/aws-apigateway-model.json | 5 +- .../aws-apigateway-restapi.json | 10 +- .../aws-apigatewayv2-vpclink.json | 5 +- .../aws-controltower-enabledcontrol.json | 50 +- .../ap_northeast_3/aws-iot-policy.json | 5 +- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../aws-controltower-enabledcontrol.json | 50 +- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../ap_south_1/aws-robomaker-fleet.json | 4 +- .../ap_south_1/aws-robomaker-robot.json | 4 +- .../aws-robomaker-robotapplication.json | 4 +- .../aws-robomaker-simulationapplication.json | 4 +- .../schemas/providers/ap_south_2/__init__.py | 4 + .../ap_south_2/aws-apigateway-model.json | 5 +- .../ap_south_2/aws-apigateway-restapi.json | 10 +- .../aws-cloudformation-waitcondition.json | 4 +- .../aws-controltower-enabledcontrol.json | 50 +- .../aws-docdb-dbclusterparametergroup.json | 5 +- .../providers/ap_south_2/aws-iot-policy.json | 5 +- .../ap_south_2/aws-opsworks-layer.json | 5 +- .../ap_south_2/aws-opsworks-stack.json | 5 +- .../ap_south_2/aws-rds-dbcluster.json | 503 ------------ .../ap_south_2/aws-rds-dbinstance.json | 670 --------------- .../ap_south_2/aws-rds-globalcluster.json | 96 --- ...ws-verifiedpermissions-identitysource.json | 209 ----- .../providers/ap_southeast_1/__init__.py | 4 +- .../aws-controltower-enabledcontrol.json | 198 ----- .../aws-docdb-dbclusterparametergroup.json | 5 +- .../aws-ecr-repositorycreationtemplate.json | 168 ++++ .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../ap_southeast_1/aws-pinpoint-app.json | 4 +- .../ap_southeast_1/aws-pinpoint-segment.json | 19 +- .../ap_southeast_1/aws-resiliencehub-app.json | 288 ------- .../ap_southeast_1/aws-sagemaker-domain.json | 774 ------------------ .../aws-controltower-enabledcontrol.json | 50 +- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../ap_southeast_2/aws-robomaker-fleet.json | 4 +- .../ap_southeast_2/aws-robomaker-robot.json | 4 +- .../aws-robomaker-robotapplication.json | 4 +- .../aws-robomaker-simulationapplication.json | 4 +- .../providers/ap_southeast_3/__init__.py | 4 + .../ap_southeast_3/aws-apigateway-model.json | 5 +- .../aws-apigateway-restapi.json | 10 +- .../aws-cloudformation-waitcondition.json | 4 +- .../aws-controltower-enabledcontrol.json | 50 +- .../aws-elasticbeanstalk-environment.json | 183 ----- .../ap_southeast_3/aws-iot-policy.json | 5 +- .../ap_southeast_3/aws-opsworks-layer.json | 5 +- .../ap_southeast_3/aws-opsworks-stack.json | 5 +- .../ap_southeast_3/aws-rds-dbcluster.json | 3 + .../ap_southeast_3/aws-rds-globalcluster.json | 96 --- .../aws-ses-configurationset.json | 166 ---- ...ws-verifiedpermissions-identitysource.json | 209 ----- .../ap_southeast_4/aws-apigateway-model.json | 5 +- .../aws-apigateway-restapi.json | 10 +- .../aws-cloudformation-waitcondition.json | 4 +- .../aws-controltower-enabledcontrol.json | 50 +- .../ap_southeast_4/aws-iot-policy.json | 5 +- .../ap_southeast_4/aws-opsworks-layer.json | 5 +- .../ap_southeast_4/aws-opsworks-stack.json | 5 +- .../providers/ca_central_1/__init__.py | 7 +- .../aws-controltower-enabledcontrol.json | 198 ----- .../aws-docdb-dbclusterparametergroup.json | 5 +- .../aws-ecr-repositorycreationtemplate.json | 168 ++++ .../aws-elasticbeanstalk-environment.json | 183 ----- .../ca_central_1/aws-pinpoint-app.json | 4 +- .../ca_central_1/aws-pinpoint-segment.json | 19 +- .../ca_central_1/aws-rds-dbcluster.json | 503 ------------ .../ca_central_1/aws-rds-dbinstance.json | 670 --------------- .../ca_central_1/aws-resiliencehub-app.json | 288 ------- .../aws-ses-configurationset.json | 166 ---- .../schemas/providers/ca_west_1/__init__.py | 1 + .../ca_west_1/aws-apigateway-model.json | 5 +- .../ca_west_1/aws-apigateway-restapi.json | 10 +- .../aws-cloudformation-waitcondition.json | 4 +- .../aws-controltower-enabledcontrol.json | 50 +- .../providers/ca_west_1/aws-eks-cluster.json | 356 -------- .../providers/ca_west_1/aws-iot-policy.json | 5 +- .../ca_west_1/aws-opsworks-layer.json | 5 +- .../ca_west_1/aws-opsworks-stack.json | 5 +- .../aws-docdb-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../aws-docdb-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../providers/eu_central_1/__init__.py | 2 - .../aws-cloudwatch-dashboard.json | 57 ++ .../aws-ecr-repositorycreationtemplate.json | 168 ++++ .../providers/eu_central_2/__init__.py | 3 + .../eu_central_2/aws-apigateway-model.json | 5 +- .../eu_central_2/aws-apigateway-restapi.json | 10 +- .../aws-cloudformation-waitcondition.json | 4 +- .../aws-codepipeline-pipeline.json | 5 +- .../aws-controltower-enabledcontrol.json | 50 +- .../eu_central_2/aws-eks-cluster.json | 356 -------- .../eu_central_2/aws-iot-policy.json | 5 +- .../eu_central_2/aws-opsworks-layer.json | 5 +- .../eu_central_2/aws-opsworks-stack.json | 5 +- .../eu_central_2/aws-rds-globalcluster.json | 96 --- ...ws-verifiedpermissions-identitysource.json | 209 ----- .../aws-controltower-enabledcontrol.json | 50 +- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../eu_south_1/aws-apigatewayv2-vpclink.json | 5 +- .../aws-cloudformation-waitcondition.json | 4 +- .../aws-controltower-enabledcontrol.json | 50 +- .../aws-docdb-dbclusterparametergroup.json | 5 +- .../providers/eu_south_1/aws-iot-policy.json | 5 +- .../eu_south_1/aws-opsworks-layer.json | 5 +- .../eu_south_1/aws-opsworks-stack.json | 5 +- .../eu_south_2/aws-apigateway-model.json | 5 +- .../eu_south_2/aws-apigateway-restapi.json | 10 +- .../aws-cloudformation-waitcondition.json | 4 +- .../aws-controltower-enabledcontrol.json | 50 +- .../providers/eu_south_2/aws-iot-policy.json | 5 +- .../eu_south_2/aws-opsworks-layer.json | 5 +- .../eu_south_2/aws-opsworks-stack.json | 5 +- .../aws-controltower-enabledcontrol.json | 50 +- .../providers/eu_west_2/aws-pinpoint-app.json | 4 +- .../eu_west_2/aws-pinpoint-segment.json | 19 +- .../schemas/providers/eu_west_3/__init__.py | 6 + .../eu_west_3/aws-apigateway-domainname.json | 123 --- .../aws-controltower-enabledcontrol.json | 198 ----- .../aws-docdb-dbclusterparametergroup.json | 5 +- .../aws-elasticbeanstalk-environment.json | 183 ----- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../eu_west_3/aws-rds-globalcluster.json | 96 --- .../eu_west_3/aws-resiliencehub-app.json | 288 ------- .../eu_west_3/aws-ses-configurationset.json | 166 ---- .../providers/il_central_1/__init__.py | 6 + .../il_central_1/aws-apigateway-model.json | 5 +- .../il_central_1/aws-apigateway-restapi.json | 10 +- .../aws-cloudformation-waitcondition.json | 4 +- .../aws-controltower-enabledcontrol.json | 50 +- .../il_central_1/aws-eks-cluster.json | 356 -------- .../il_central_1/aws-iot-policy.json | 5 +- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../il_central_1/aws-opsworks-layer.json | 5 +- .../il_central_1/aws-opsworks-stack.json | 5 +- .../il_central_1/aws-rds-dbcluster.json | 3 + .../il_central_1/aws-rds-globalcluster.json | 96 --- .../il_central_1/aws-sagemaker-domain.json | 774 ------------------ ...ws-verifiedpermissions-identitysource.json | 209 ----- .../me_central_1/aws-apigateway-model.json | 5 +- .../me_central_1/aws-apigateway-restapi.json | 10 +- .../aws-cloudformation-waitcondition.json | 4 +- .../aws-controltower-enabledcontrol.json | 50 +- .../aws-docdb-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../me_central_1/aws-opsworks-layer.json | 5 +- .../me_central_1/aws-opsworks-stack.json | 5 +- .../schemas/providers/me_south_1/__init__.py | 5 + .../me_south_1/aws-apigateway-domainname.json | 123 --- .../me_south_1/aws-apigatewayv2-vpclink.json | 5 +- .../aws-controltower-enabledcontrol.json | 50 +- .../aws-elasticbeanstalk-environment.json | 183 ----- .../me_south_1/aws-rds-globalcluster.json | 96 --- .../me_south_1/aws-ses-configurationset.json | 166 ---- ...ws-verifiedpermissions-identitysource.json | 209 ----- .../schemas/providers/sa_east_1/__init__.py | 5 +- .../aws-controltower-enabledcontrol.json | 198 ----- .../aws-docdb-dbclusterparametergroup.json | 5 +- .../aws-ecr-repositorycreationtemplate.json | 168 ++++ .../sa_east_1/aws-mediaconnect-gateway.json | 104 +++ .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../sa_east_1/aws-resiliencehub-app.json | 288 ------- .../sa_east_1/aws-ses-configurationset.json | 166 ---- .../aws-cloudformation-waitcondition.json | 4 +- .../us_east_1/aws-codepipeline-pipeline.json | 5 +- .../us_east_1/aws-cognito-identitypool.json | 10 +- .../aws-controltower-enabledcontrol.json | 50 +- .../us_east_1/aws-dlm-lifecyclepolicy.json | 15 +- .../aws-docdb-dbclusterparametergroup.json | 5 +- .../us_east_1/aws-iotanalytics-channel.json | 5 +- .../us_east_1/aws-iotanalytics-datastore.json | 10 +- .../aws-lakeformation-permissions.json | 5 +- ...ws-lakeformation-principalpermissions.json | 5 +- .../aws-lakeformation-tagassociation.json | 5 +- .../us_east_1/aws-medialive-channel.json | 100 ++- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../us_east_1/aws-opsworks-layer.json | 5 +- .../us_east_1/aws-opsworks-stack.json | 5 +- .../providers/us_east_1/aws-pinpoint-app.json | 4 +- .../us_east_1/aws-pinpoint-segment.json | 19 +- .../us_east_1/aws-qbusiness-plugin.json | 5 +- .../us_east_1/aws-quicksight-analysis.json | 10 +- .../us_east_1/aws-quicksight-dashboard.json | 10 +- .../us_east_1/aws-quicksight-template.json | 10 +- .../us_gov_east_1/aws-apigateway-model.json | 5 +- .../us_gov_east_1/aws-apigateway-restapi.json | 10 +- .../aws-apigatewayv2-vpclink.json | 5 +- .../aws-codepipeline-pipeline.json | 5 +- .../aws-controltower-enabledcontrol.json | 50 +- .../aws-docdb-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../us_gov_west_1/aws-apigateway-model.json | 5 +- .../us_gov_west_1/aws-apigateway-restapi.json | 10 +- .../aws-apigatewayv2-vpclink.json | 5 +- .../aws-controltower-enabledcontrol.json | 50 +- .../aws-docdb-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../us_gov_west_1/aws-pinpoint-app.json | 4 +- .../us_gov_west_1/aws-pinpoint-segment.json | 19 +- .../schemas/providers/us_west_1/__init__.py | 6 + .../aws-controltower-enabledcontrol.json | 198 ----- .../aws-neptune-dbclusterparametergroup.json | 5 +- .../aws-neptune-dbparametergroup.json | 5 +- .../us_west_1/aws-rds-dbcluster.json | 503 ------------ .../us_west_1/aws-rds-dbinstance.json | 670 --------------- .../us_west_1/aws-resiliencehub-app.json | 288 ------- .../us_west_1/aws-sagemaker-domain.json | 774 ------------------ .../us_west_1/aws-ses-configurationset.json | 166 ---- .../providers/base.definition.schema.v1.json | 8 + 383 files changed, 3195 insertions(+), 18234 deletions(-) create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_model/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_model/schema.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_restapi/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_restapi/body.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_restapi/policy.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_apigatewayv2_vpclink/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_apigatewayv2_vpclink/tags.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_cloudformation_waitcondition/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_cloudformation_waitcondition/data.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_codepipeline_pipeline/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_codepipeline_pipeline/actiondeclaration_configuration.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypool/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypool/cognitoevents.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypool/supportedloginproviders.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypoolroleattachment/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypoolroleattachment/rolemappings.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypoolroleattachment/roles.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpool/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpool/userpooltags.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpooluser/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpooluser/clientmetadata.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_controltower_enabledcontrol/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_controltower_enabledcontrol/enabledcontrolparameter_value.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_docdb_dbclusterparametergroup/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_docdb_dbclusterparametergroup/parameters.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_iot_policy/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_iot_policy/policydocument.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbclusterparametergroup/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbclusterparametergroup/parameters.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbparametergroup/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbparametergroup/parameters.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_layer/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_layer/customjson.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_stack/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_stack/customjson.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_app/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_app/tags.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/segmentdimensions_attributes.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/segmentdimensions_metrics.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/segmentdimensions_userattributes.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/tags.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_fleet/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_fleet/tags.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robot/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robot/tags.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robotapplication/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robotapplication/tags.json create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_simulationapplication/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_simulationapplication/tags.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainname.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-elasticbeanstalk-environment.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-mediaconnect-gateway.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-rds-globalcluster.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-resiliencehub-app.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-ses-configurationset.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-verifiedpermissions-identitysource.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-apigateway-domainname.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbcluster.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-globalcluster.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-resiliencehub-app.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ecr-repositorycreationtemplate.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-mediaconnect-gateway.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-domain.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-apigateway-domainname.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-elasticbeanstalk-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-globalcluster.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ses-configurationset.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-verifiedpermissions-identitysource.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-dbcluster.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-globalcluster.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-verifiedpermissions-identitysource.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-controltower-enabledcontrol.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ecr-repositorycreationtemplate.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-resiliencehub-app.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-domain.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-elasticbeanstalk-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-globalcluster.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ses-configurationset.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-verifiedpermissions-identitysource.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-controltower-enabledcontrol.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-ecr-repositorycreationtemplate.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-elasticbeanstalk-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbcluster.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-resiliencehub-app.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-ses-configurationset.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-eks-cluster.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudwatch-dashboard.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-ecr-repositorycreationtemplate.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-eks-cluster.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-globalcluster.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-verifiedpermissions-identitysource.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-apigateway-domainname.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-controltower-enabledcontrol.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-elasticbeanstalk-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-globalcluster.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-resiliencehub-app.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ses-configurationset.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-eks-cluster.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-rds-globalcluster.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-verifiedpermissions-identitysource.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainname.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-elasticbeanstalk-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-rds-globalcluster.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ses-configurationset.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-verifiedpermissions-identitysource.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-controltower-enabledcontrol.json create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-ecr-repositorycreationtemplate.json create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-mediaconnect-gateway.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-resiliencehub-app.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-ses-configurationset.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-controltower-enabledcontrol.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-resiliencehub-app.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-domain.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-ses-configurationset.json diff --git a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json index b4039e71ab..b7d000cfd2 100644 --- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json @@ -1 +1 @@ -{"etag": "\"f4596a32fd0b6531d59cfc8073c6f232\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"d86dac5be15c65fc9d69f9ce57021a39\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json index 3834b4432b..401cdadb31 100644 --- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json @@ -1 +1 @@ -{"etag": "\"2c94c363b9942d92dff6b4157a4c13e2\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"081ab5175646b6357afd33378944d98a\"", "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 31704c17f3..161a4c1028 100644 --- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json @@ -1 +1 @@ -{"etag": "\"5797f8af733215d6fab2c48ec3085136\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"6ae36848ad74ca3105f1377a35305a68\"", "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 cd8d37c382..c00599e96f 100644 --- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json @@ -1 +1 @@ -{"etag": "\"3bdb97f468b70c32eb06242fc5bdc2b7\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"aaec615c9d17bca9639fc85e7f5417c5\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json index 376f1d71a2..e4828932e1 100644 --- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json @@ -1 +1 @@ -{"etag": "\"06bdc5dfe39aca598c743967a27e566e\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2329af4dc82a5bb397a97b6ff5bb5140\"", "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 5d35d12563..443dbc4fd3 100644 --- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json @@ -1 +1 @@ -{"etag": "\"eaa4c653144c22d2f81de85edc820c97\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"642274f1b902fa08157ccca7f8ebc916\"", "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 8d4c8105c6..9df12112fa 100644 --- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json @@ -1 +1 @@ -{"etag": "\"7eda474ddfbcaef0bd128f22bfe24dbb\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"82953168abb7fcfd4e0bece24229e8bc\"", "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 edc1fd9e0d..ab82a48936 100644 --- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json @@ -1 +1 @@ -{"etag": "\"336c8f9179674321494b919a66ca97c6\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"19d64679dc6517ed552203d89c568d02\"", "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 12495ba5df..40b2c83099 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"154d3d8330985f7930412837d817b42c\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"b042c1566c6a396b8a8c96a7e0c98f08\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json index 729e4d466d..2e679ad89d 100644 --- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json @@ -1 +1 @@ -{"etag": "\"fe5a3a64879b49ba07f6d0e40f7cda4e\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"bb135f465b3346b7dea602d254e4c44c\"", "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 5cc2d0d769..3d9afa9bc4 100644 --- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json @@ -1 +1 @@ -{"etag": "\"c17d95a2d30cb74ab3531aaf22a75418\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9aac5a850660c85b1be687f9f74e1273\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json index c37bed6573..dcff54770a 100644 --- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json @@ -1 +1 @@ -{"etag": "\"09e64454f48831b73280d42c6e2cf9a4\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"de18136d6aea454757b3fd02ad993f3c\"", "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 deb295279f..9755bc002f 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"7d0837fbd3430bcca80d3b5255592366\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"7d7e65889665bafa9538f690a093f8fd\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json index 1f2cd85849..4a60a72587 100644 --- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json @@ -1 +1 @@ -{"etag": "\"86f33a9bad21f79a2b04532e087227a7\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a7dbad34f3f2e92d95834810cdb81fac\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json index 72b45a0d22..b027324dbe 100644 --- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json @@ -1 +1 @@ -{"etag": "\"c8561dab9a5ce0ef617d471c28f0894b\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8cba15e9bf02f9e39faf695df5d2405e\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json index 07a897269e..bce302098b 100644 --- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json @@ -1 +1 @@ -{"etag": "\"a912bc8a66266d2bd4ca5e59a507289b\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"3d70d37afc36ae4775cfeca5f2da076a\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_model/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_model/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_model/schema.json b/src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_model/schema.json new file mode 100644 index 0000000000..0bbbe3b4a0 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_model/schema.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/Schema", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Schema", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_restapi/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_restapi/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_restapi/body.json b/src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_restapi/body.json new file mode 100644 index 0000000000..49d995db12 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_restapi/body.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/Body", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Body", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_restapi/policy.json b/src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_restapi/policy.json new file mode 100644 index 0000000000..f2cd485f7a --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_apigateway_restapi/policy.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/Policy", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Policy", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_apigatewayv2_vpclink/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_apigatewayv2_vpclink/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_apigatewayv2_vpclink/tags.json b/src/cfnlint/data/schemas/patches/providers/all/aws_apigatewayv2_vpclink/tags.json new file mode 100644 index 0000000000..79cd834d08 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_apigatewayv2_vpclink/tags.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/Tags", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Tags", + "value": { + "type": [ + "object", + "string" + ] + } + } +] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cloudformation_waitcondition/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_cloudformation_waitcondition/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cloudformation_waitcondition/data.json b/src/cfnlint/data/schemas/patches/providers/all/aws_cloudformation_waitcondition/data.json new file mode 100644 index 0000000000..ad3de7cd12 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_cloudformation_waitcondition/data.json @@ -0,0 +1,17 @@ +[ + { + "op": "test", + "path": "/properties/Data", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Data", + "value": { + "type": + ["object"] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_codepipeline_pipeline/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_codepipeline_pipeline/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_codepipeline_pipeline/actiondeclaration_configuration.json b/src/cfnlint/data/schemas/patches/providers/all/aws_codepipeline_pipeline/actiondeclaration_configuration.json new file mode 100644 index 0000000000..0d08353b70 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_codepipeline_pipeline/actiondeclaration_configuration.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/definitions/ActionDeclaration/properties/Configuration", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/definitions/ActionDeclaration/properties/Configuration", + "value": { + "type": [ + "object", + "string" + ] + } + } +] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypool/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypool/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypool/cognitoevents.json b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypool/cognitoevents.json new file mode 100644 index 0000000000..a5461445cc --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypool/cognitoevents.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/CognitoEvents", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/CognitoEvents", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypool/supportedloginproviders.json b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypool/supportedloginproviders.json new file mode 100644 index 0000000000..238bfacf6f --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypool/supportedloginproviders.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/SupportedLoginProviders", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/SupportedLoginProviders", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypoolroleattachment/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypoolroleattachment/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypoolroleattachment/rolemappings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypoolroleattachment/rolemappings.json new file mode 100644 index 0000000000..4a156d3f7e --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypoolroleattachment/rolemappings.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/RoleMappings", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/RoleMappings", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypoolroleattachment/roles.json b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypoolroleattachment/roles.json new file mode 100644 index 0000000000..46eb95f2e6 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_identitypoolroleattachment/roles.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/Roles", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Roles", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpool/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpool/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpool/userpooltags.json b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpool/userpooltags.json new file mode 100644 index 0000000000..5f655cb107 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpool/userpooltags.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/UserPoolTags", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/UserPoolTags", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpooluser/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpooluser/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpooluser/clientmetadata.json b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpooluser/clientmetadata.json new file mode 100644 index 0000000000..5a8b08ddad --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_cognito_userpooluser/clientmetadata.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/ClientMetadata", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/ClientMetadata", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_controltower_enabledcontrol/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_controltower_enabledcontrol/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_controltower_enabledcontrol/enabledcontrolparameter_value.json b/src/cfnlint/data/schemas/patches/providers/all/aws_controltower_enabledcontrol/enabledcontrolparameter_value.json new file mode 100644 index 0000000000..2b481d714d --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_controltower_enabledcontrol/enabledcontrolparameter_value.json @@ -0,0 +1,25 @@ +[ + { + "op": "replace", + "path": "/definitions/EnabledControlParameter/properties/Value", + "value": { + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" + ] + } + } +] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_dlm_lifecyclepolicy/crossregioncopytargets.json b/src/cfnlint/data/schemas/patches/providers/all/aws_dlm_lifecyclepolicy/crossregioncopytargets.json index 987b567fbc..f65d6b73a0 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_dlm_lifecyclepolicy/crossregioncopytargets.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_dlm_lifecyclepolicy/crossregioncopytargets.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/CrossRegionCopyTargets", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_dlm_lifecyclepolicy/excludetags.json b/src/cfnlint/data/schemas/patches/providers/all/aws_dlm_lifecyclepolicy/excludetags.json index aead3f1b35..9ed778b141 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_dlm_lifecyclepolicy/excludetags.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_dlm_lifecyclepolicy/excludetags.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/ExcludeTags", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_dlm_lifecyclepolicy/excludevolumetypeslist.json b/src/cfnlint/data/schemas/patches/providers/all/aws_dlm_lifecyclepolicy/excludevolumetypeslist.json index 38d5018384..6e686fd120 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_dlm_lifecyclepolicy/excludevolumetypeslist.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_dlm_lifecyclepolicy/excludevolumetypeslist.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/ExcludeVolumeTypesList", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_docdb_dbclusterparametergroup/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_docdb_dbclusterparametergroup/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_docdb_dbclusterparametergroup/parameters.json b/src/cfnlint/data/schemas/patches/providers/all/aws_docdb_dbclusterparametergroup/parameters.json new file mode 100644 index 0000000000..f97b35b36c --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_docdb_dbclusterparametergroup/parameters.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/Parameters", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Parameters", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_iot_policy/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_iot_policy/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_iot_policy/policydocument.json b/src/cfnlint/data/schemas/patches/providers/all/aws_iot_policy/policydocument.json new file mode 100644 index 0000000000..a7cdf439ed --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_iot_policy/policydocument.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/PolicyDocument", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/PolicyDocument", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_iotanalytics_channel/servicemanageds3.json b/src/cfnlint/data/schemas/patches/providers/all/aws_iotanalytics_channel/servicemanageds3.json index 711a859ebc..475cbdc7a8 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_iotanalytics_channel/servicemanageds3.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_iotanalytics_channel/servicemanageds3.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/ServiceManagedS3", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_iotanalytics_datastore/jsonconfiguration.json b/src/cfnlint/data/schemas/patches/providers/all/aws_iotanalytics_datastore/jsonconfiguration.json index 3b7699d5d8..97142b2b3c 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_iotanalytics_datastore/jsonconfiguration.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_iotanalytics_datastore/jsonconfiguration.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/JsonConfiguration", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_iotanalytics_datastore/servicemanageds3.json b/src/cfnlint/data/schemas/patches/providers/all/aws_iotanalytics_datastore/servicemanageds3.json index 711a859ebc..475cbdc7a8 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_iotanalytics_datastore/servicemanageds3.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_iotanalytics_datastore/servicemanageds3.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/ServiceManagedS3", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_lakeformation_permissions/tablewildcard.json b/src/cfnlint/data/schemas/patches/providers/all/aws_lakeformation_permissions/tablewildcard.json index b9222c514b..0dd3a737c1 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_lakeformation_permissions/tablewildcard.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_lakeformation_permissions/tablewildcard.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/TableWildcard", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_lakeformation_principalpermissions/tablewildcard.json b/src/cfnlint/data/schemas/patches/providers/all/aws_lakeformation_principalpermissions/tablewildcard.json index b9222c514b..0dd3a737c1 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_lakeformation_principalpermissions/tablewildcard.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_lakeformation_principalpermissions/tablewildcard.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/TableWildcard", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_lakeformation_tagassociation/tablewildcard.json b/src/cfnlint/data/schemas/patches/providers/all/aws_lakeformation_tagassociation/tablewildcard.json index b9222c514b..0dd3a737c1 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_lakeformation_tagassociation/tablewildcard.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_lakeformation_tagassociation/tablewildcard.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/TableWildcard", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/aribdestinationsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/aribdestinationsettings.json index 09e6d6eabf..6ad78796f1 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/aribdestinationsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/aribdestinationsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/AribDestinationSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/aribsourcesettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/aribsourcesettings.json index e596b9383c..f28a05dba4 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/aribsourcesettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/aribsourcesettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/AribSourceSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/colorspacepassthroughsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/colorspacepassthroughsettings.json index 9a6c42fb65..2e2fde5d35 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/colorspacepassthroughsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/colorspacepassthroughsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/ColorSpacePassthroughSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/dolbyvision81settings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/dolbyvision81settings.json index e23eb1e8f8..ac973fc357 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/dolbyvision81settings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/dolbyvision81settings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/DolbyVision81Settings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/embeddeddestinationsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/embeddeddestinationsettings.json index db8ffa0076..159504f848 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/embeddeddestinationsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/embeddeddestinationsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/EmbeddedDestinationSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/embeddedplusscte20destinationsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/embeddedplusscte20destinationsettings.json index 02c8b94df7..2b11ff0fa4 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/embeddedplusscte20destinationsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/embeddedplusscte20destinationsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/EmbeddedPlusScte20DestinationSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/framecapturehlssettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/framecapturehlssettings.json index 4ef914fe3d..f952e952a5 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/framecapturehlssettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/framecapturehlssettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/FrameCaptureHlsSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/htmlmotiongraphicssettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/htmlmotiongraphicssettings.json index 97a7e69a6b..e33adf1881 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/htmlmotiongraphicssettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/htmlmotiongraphicssettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/HtmlMotionGraphicsSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/mediapackageoutputsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/mediapackageoutputsettings.json index 91e00dbbae..94d03d9568 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/mediapackageoutputsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/mediapackageoutputsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/MediaPackageOutputSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/multiplexgroupsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/multiplexgroupsettings.json index 392359163b..9cc959cc1a 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/multiplexgroupsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/multiplexgroupsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/MultiplexGroupSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/passthroughsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/passthroughsettings.json index c0eed2eb83..0a53a0418c 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/passthroughsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/passthroughsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/PassThroughSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/pipelinelockingsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/pipelinelockingsettings.json index c8a9c66e65..963f39df07 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/pipelinelockingsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/pipelinelockingsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/PipelineLockingSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rawsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rawsettings.json index dc7fbdf7ec..abe943cd35 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rawsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rawsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/RawSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rec601settings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rec601settings.json index 8f71122068..7f8c79ecfa 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rec601settings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rec601settings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/Rec601Settings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rec709settings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rec709settings.json index b9ab75231a..777510999d 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rec709settings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rec709settings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/Rec709Settings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rtmpcaptioninfodestinationsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rtmpcaptioninfodestinationsettings.json index 8d2e134b6a..8fc979665b 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rtmpcaptioninfodestinationsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/rtmpcaptioninfodestinationsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/RtmpCaptionInfoDestinationSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/scte20plusembeddeddestinationsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/scte20plusembeddeddestinationsettings.json index d552746700..56aadd675d 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/scte20plusembeddeddestinationsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/scte20plusembeddeddestinationsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/Scte20PlusEmbeddedDestinationSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/scte27destinationsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/scte27destinationsettings.json index f430380f04..d59f580943 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/scte27destinationsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/scte27destinationsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/Scte27DestinationSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/smptettdestinationsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/smptettdestinationsettings.json index c139b30591..5200368a2c 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/smptettdestinationsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/smptettdestinationsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/SmpteTtDestinationSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/teletextdestinationsettings.json b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/teletextdestinationsettings.json index 7cc9f9e003..250a00424d 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/teletextdestinationsettings.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_medialive_channel/teletextdestinationsettings.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/TeletextDestinationSettings", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbclusterparametergroup/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbclusterparametergroup/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbclusterparametergroup/parameters.json b/src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbclusterparametergroup/parameters.json new file mode 100644 index 0000000000..f97b35b36c --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbclusterparametergroup/parameters.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/Parameters", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Parameters", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbparametergroup/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbparametergroup/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbparametergroup/parameters.json b/src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbparametergroup/parameters.json new file mode 100644 index 0000000000..f97b35b36c --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_neptune_dbparametergroup/parameters.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/Parameters", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Parameters", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_layer/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_layer/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_layer/customjson.json b/src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_layer/customjson.json new file mode 100644 index 0000000000..75b0ded446 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_layer/customjson.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/CustomJson", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/CustomJson", + "value": { + "type": [ + "object", + "string" + ] + } + } +] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_stack/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_stack/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_stack/customjson.json b/src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_stack/customjson.json new file mode 100644 index 0000000000..75b0ded446 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_opsworks_stack/customjson.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/properties/CustomJson", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/CustomJson", + "value": { + "type": [ + "object", + "string" + ] + } + } +] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_app/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_app/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_app/tags.json b/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_app/tags.json new file mode 100644 index 0000000000..227239c2d5 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_app/tags.json @@ -0,0 +1,18 @@ +[ + { + "op": "test", + "path": "/properties/Tags", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Tags", + "value": { + "type": [ + "object" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/segmentdimensions_attributes.json b/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/segmentdimensions_attributes.json new file mode 100644 index 0000000000..83924f38ea --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/segmentdimensions_attributes.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/definitions/SegmentDimensions/properties/Attributes", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/definitions/SegmentDimensions/properties/Attributes", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/segmentdimensions_metrics.json b/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/segmentdimensions_metrics.json new file mode 100644 index 0000000000..2b14453147 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/segmentdimensions_metrics.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/definitions/SegmentDimensions/properties/Metrics", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/definitions/SegmentDimensions/properties/Metrics", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/segmentdimensions_userattributes.json b/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/segmentdimensions_userattributes.json new file mode 100644 index 0000000000..4598921388 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/segmentdimensions_userattributes.json @@ -0,0 +1,19 @@ +[ + { + "op": "test", + "path": "/definitions/SegmentDimensions/properties/UserAttributes", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/definitions/SegmentDimensions/properties/UserAttributes", + "value": { + "type": [ + "object", + "string" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/tags.json b/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/tags.json new file mode 100644 index 0000000000..227239c2d5 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_pinpoint_segment/tags.json @@ -0,0 +1,18 @@ +[ + { + "op": "test", + "path": "/properties/Tags", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Tags", + "value": { + "type": [ + "object" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_qbusiness_plugin/noauthconfiguration.json b/src/cfnlint/data/schemas/patches/providers/all/aws_qbusiness_plugin/noauthconfiguration.json index cca4f05857..deebe0930b 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_qbusiness_plugin/noauthconfiguration.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_qbusiness_plugin/noauthconfiguration.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/NoAuthConfiguration", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_analysis/allsheetsfilterscopeconfiguration.json b/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_analysis/allsheetsfilterscopeconfiguration.json index d76d2a4d8a..acc94eae1c 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_analysis/allsheetsfilterscopeconfiguration.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_analysis/allsheetsfilterscopeconfiguration.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/AllSheetsFilterScopeConfiguration", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_analysis/axisdisplaydatadrivenrange.json b/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_analysis/axisdisplaydatadrivenrange.json index 7efbfe0942..10ff80f06c 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_analysis/axisdisplaydatadrivenrange.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_analysis/axisdisplaydatadrivenrange.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/AxisDisplayDataDrivenRange", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_dashboard/allsheetsfilterscopeconfiguration.json b/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_dashboard/allsheetsfilterscopeconfiguration.json index d76d2a4d8a..acc94eae1c 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_dashboard/allsheetsfilterscopeconfiguration.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_dashboard/allsheetsfilterscopeconfiguration.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/AllSheetsFilterScopeConfiguration", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_dashboard/axisdisplaydatadrivenrange.json b/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_dashboard/axisdisplaydatadrivenrange.json index 7efbfe0942..10ff80f06c 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_dashboard/axisdisplaydatadrivenrange.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_dashboard/axisdisplaydatadrivenrange.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/AxisDisplayDataDrivenRange", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_template/allsheetsfilterscopeconfiguration.json b/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_template/allsheetsfilterscopeconfiguration.json index d76d2a4d8a..acc94eae1c 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_template/allsheetsfilterscopeconfiguration.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_template/allsheetsfilterscopeconfiguration.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/AllSheetsFilterScopeConfiguration", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_template/axisdisplaydatadrivenrange.json b/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_template/axisdisplaydatadrivenrange.json index 7efbfe0942..10ff80f06c 100644 --- a/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_template/axisdisplaydatadrivenrange.json +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_quicksight_template/axisdisplaydatadrivenrange.json @@ -11,7 +11,10 @@ "op": "replace", "path": "/definitions/AxisDisplayDataDrivenRange", "value": { - "type": "object" + "type": [ + "object", + "string" + ] } } ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_fleet/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_fleet/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_fleet/tags.json b/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_fleet/tags.json new file mode 100644 index 0000000000..227239c2d5 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_fleet/tags.json @@ -0,0 +1,18 @@ +[ + { + "op": "test", + "path": "/properties/Tags", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Tags", + "value": { + "type": [ + "object" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robot/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robot/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robot/tags.json b/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robot/tags.json new file mode 100644 index 0000000000..227239c2d5 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robot/tags.json @@ -0,0 +1,18 @@ +[ + { + "op": "test", + "path": "/properties/Tags", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Tags", + "value": { + "type": [ + "object" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robotapplication/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robotapplication/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robotapplication/tags.json b/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robotapplication/tags.json new file mode 100644 index 0000000000..227239c2d5 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_robotapplication/tags.json @@ -0,0 +1,18 @@ +[ + { + "op": "test", + "path": "/properties/Tags", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Tags", + "value": { + "type": [ + "object" + ] + } + } + ] diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_simulationapplication/__init__.py b/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_simulationapplication/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_simulationapplication/tags.json b/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_simulationapplication/tags.json new file mode 100644 index 0000000000..227239c2d5 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/providers/all/aws_robomaker_simulationapplication/tags.json @@ -0,0 +1,18 @@ +[ + { + "op": "test", + "path": "/properties/Tags", + "value": { + "type": "object" + } + }, + { + "op": "replace", + "path": "/properties/Tags", + "value": { + "type": [ + "object" + ] + } + } + ] 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 adb0ad0520..9158bd55bf 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py @@ -876,6 +876,7 @@ "aws-acmpca-permission.json", "aws-neptune-dbsubnetgroup.json", "aws-transfer-server.json", + "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -958,6 +959,7 @@ "aws-elasticache-replicationgroup.json", "aws-stepfunctions-statemachinealias.json", "aws-cognito-userpoolresourceserver.json", + "aws-rds-globalcluster.json", "aws-cloudformation-moduledefaultversion.json", "aws-applicationsignals-servicelevelobjective.json", "aws-route53profiles-profileresourceassociation.json", @@ -1013,6 +1015,7 @@ "aws-fis-targetaccountconfiguration.json", "aws-wafv2-rulegroup.json", "aws-sagemaker-modelpackagegroup.json", + "aws-ses-configurationset.json", "aws-networkfirewall-loggingconfiguration.json", "aws-glue-classifier.json", "aws-connect-securityprofile.json", @@ -1185,9 +1188,9 @@ "aws-systemsmanagersap-application.json", "aws-dms-replicationtask.json", "aws-ec2-routetable.json", - "aws-mediaconnect-gateway.json", "aws-rds-dbproxyendpoint.json", "aws-datasync-locationsmb.json", + "aws-resiliencehub-app.json", "aws-securityhub-standard.json", "aws-rolesanywhere-crl.json", "aws-sns-topicinlinepolicy.json", @@ -1282,6 +1285,7 @@ "aws-ec2-localgatewayroutetable.json", "aws-apigateway-resource.json", "aws-sagemaker-appimageconfig.json", + "aws-verifiedpermissions-identitysource.json", "aws-macie-session.json", "aws-elasticloadbalancingv2-targetgroup.json", "aws-applicationautoscaling-scalingpolicy.json", @@ -1521,6 +1525,7 @@ "aws-cognito-userpoolriskconfigurationattachment.json", "aws-mediatailor-playbackconfiguration.json", "aws-pcaconnectorad-serviceprincipalname.json", + "aws-elasticbeanstalk-environment.json", "aws-cognito-userpoolclient.json", "aws-wafregional-sqlinjectionmatchset.json", "aws-lambda-version.json", diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainname.json deleted file mode 100644 index 1eb496645f..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainname.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "apigateway:*" - ] - }, - "delete": { - "permissions": [ - "apigateway:*" - ] - }, - "list": { - "permissions": [ - "apigateway:*" - ] - }, - "read": { - "permissions": [ - "apigateway:*" - ] - }, - "update": { - "permissions": [ - "apigateway:*" - ] - } - }, - "primaryIdentifier": [ - "/properties/DomainName" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DistributionDomainName": { - "type": "string" - }, - "DistributionHostedZoneId": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/MutualTlsAuthentication" - }, - "OwnershipVerificationCertificateArn": { - "type": "string" - }, - "RegionalCertificateArn": { - "type": "string" - }, - "RegionalDomainName": { - "type": "string" - }, - "RegionalHostedZoneId": { - "type": "string" - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/RegionalHostedZoneId", - "/properties/DistributionDomainName", - "/properties/RegionalDomainName", - "/properties/DistributionHostedZoneId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::ApiGateway::DomainName" -} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-apigatewayv2-vpclink.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-apigatewayv2-vpclink.json index 1b5fa4c74d..7e1ebb78bc 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-apigatewayv2-vpclink.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-apigatewayv2-vpclink.json @@ -31,7 +31,10 @@ "uniqueItems": false }, "Tags": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudformation-waitcondition.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudformation-waitcondition.json index 56569e9e3d..a95be9629a 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudformation-waitcondition.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudformation-waitcondition.json @@ -8,7 +8,9 @@ "type": "integer" }, "Data": { - "type": "object" + "type": [ + "object" + ] }, "Handle": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-codepipeline-pipeline.json index 97d26f6088..4575c69e2a 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-codepipeline-pipeline.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-codepipeline-pipeline.json @@ -11,7 +11,10 @@ "$ref": "#/definitions/ActionTypeId" }, "Configuration": { - "type": "object" + "type": [ + "object", + "string" + ] }, "InputArtifacts": { "items": { diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-elasticbeanstalk-environment.json deleted file mode 100644 index 2fa4fe9b33..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-elasticbeanstalk-environment.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CNAMEPrefix", - "/properties/EnvironmentName", - "/properties/ApplicationName", - "/properties/SolutionStackName", - "/properties/Tier/Name", - "/properties/Tier/Type" - ], - "definitions": { - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:CreateEnvironment", - "iam:PassRole" - ], - "timeoutInMinutes": 120 - }, - "delete": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:TerminateEnvironment" - ], - "timeoutInMinutes": 210 - }, - "list": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments" - ] - }, - "read": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:DescribeConfigurationSettings", - "elasticbeanstalk:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:UpdateEnvironment", - "elasticbeanstalk:UpdateTagsForResource", - "elasticbeanstalk:AssociateEnvironmentOperationsRole", - "elasticbeanstalk:DisassociateEnvironmentOperationsRole", - "iam:PassRole" - ], - "timeoutInMinutes": 300 - } - }, - "primaryIdentifier": [ - "/properties/EnvironmentName" - ], - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointURL": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OperationsRole": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array", - "uniqueItems": false - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/Tier" - }, - "VersionLabel": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/EndpointURL" - ], - "required": [ - "ApplicationName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ElasticBeanstalk::Environment", - "writeOnlyProperties": [ - "/properties/TemplateName", - "/properties/OptionSettings", - "/properties/OptionSettings/*/OptionName", - "/properties/OptionSettings/*/ResourceName", - "/properties/OptionSettings/*/Namespace", - "/properties/OptionSettings/*/Value" - ] -} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-iot-policy.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-iot-policy.json index 5fe07786fe..2fe7a81560 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-iot-policy.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-iot-policy.json @@ -15,7 +15,10 @@ "type": "string" }, "PolicyDocument": { - "type": "object" + "type": [ + "object", + "string" + ] }, "PolicyName": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-mediaconnect-gateway.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-mediaconnect-gateway.json new file mode 100644 index 0000000000..283caabff1 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-mediaconnect-gateway.json @@ -0,0 +1,104 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/EgressCidrBlocks", + "/properties/Networks" + ], + "definitions": { + "GatewayNetwork": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name", + "CidrBlock" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:CreateServiceLinkedRole", + "mediaconnect:CreateGateway", + "mediaconnect:DescribeGateway" + ] + }, + "delete": { + "permissions": [ + "iam:CreateServiceLinkedRole", + "mediaconnect:DescribeGateway", + "mediaconnect:DeleteGateway" + ] + }, + "list": { + "permissions": [ + "mediaconnect:ListGateways" + ] + }, + "read": { + "permissions": [ + "mediaconnect:DescribeGateway" + ] + } + }, + "primaryIdentifier": [ + "/properties/GatewayArn" + ], + "properties": { + "EgressCidrBlocks": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array" + }, + "GatewayArn": { + "type": "string" + }, + "GatewayState": { + "enum": [ + "CREATING", + "ACTIVE", + "UPDATING", + "ERROR", + "DELETING", + "DELETED" + ], + "type": "string" + }, + "Name": { + "type": "string" + }, + "Networks": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/GatewayNetwork" + }, + "maxItems": 4, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/GatewayArn", + "/properties/GatewayState" + ], + "required": [ + "Name", + "EgressCidrBlocks", + "Networks" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-mediaconnect.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::MediaConnect::Gateway" +} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-opsworks-layer.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-opsworks-layer.json index 7688721865..2713480ea1 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-opsworks-layer.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-opsworks-layer.json @@ -181,7 +181,10 @@ "type": "string" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "CustomRecipes": { "$ref": "#/definitions/Recipes" diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-opsworks-stack.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-opsworks-stack.json index aac55c0767..a70f0a1a62 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-opsworks-stack.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-opsworks-stack.json @@ -148,7 +148,10 @@ "$ref": "#/definitions/Source" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DefaultAvailabilityZone": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json index 62a3797fcd..e0756eb08e 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json @@ -302,6 +302,9 @@ "EnableIAMDatabaseAuthentication": { "type": "boolean" }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, "Endpoint": { "$ref": "#/definitions/Endpoint" }, diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-globalcluster.json deleted file mode 100644 index fccf366023..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-globalcluster.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/GlobalClusterIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/Engine" - ], - "handlers": { - "create": { - "permissions": [ - "rds:CreateGlobalCluster", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters" - ] - }, - "delete": { - "permissions": [ - "rds:DescribeGlobalClusters", - "rds:DeleteGlobalCluster", - "rds:RemoveFromGlobalCluster", - "rds:DescribeDBClusters" - ] - }, - "list": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "update": { - "permissions": [ - "rds:ModifyGlobalCluster", - "rds:DescribeGlobalClusters" - ] - } - }, - "oneOf": [ - { - "required": [ - "SourceDBClusterIdentifier" - ] - }, - { - "required": [ - "Engine" - ] - } - ], - "primaryIdentifier": [ - "/properties/GlobalClusterIdentifier" - ], - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Engine": { - "enum": [ - "aurora", - "aurora-mysql", - "aurora-postgresql" - ], - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "oneOf": [ - { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$" - }, - { - "pattern": "^(?=.{40,128}$)arn.*" - } - ], - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - } - }, - "propertyTransform": { - "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)" - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::GlobalCluster" -} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-resiliencehub-app.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-resiliencehub-app.json deleted file mode 100644 index 0c20764ed8..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-resiliencehub-app.json +++ /dev/null @@ -1,288 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "EventSubscription": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "ScheduledAssessmentFailure", - "DriftDetected" - ], - "type": "string" - }, - "Name": { - "maxLength": 256, - "type": "string" - }, - "SnsTopicArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+.-]{0,1023}$", - "type": "string" - } - }, - "required": [ - "Name", - "EventType" - ], - "type": "object" - }, - "IamRoleArn": { - "pattern": "arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):iam::[0-9]{12}:role\\/(([\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}$", - "type": "string" - }, - "PermissionModel": { - "additionalProperties": false, - "properties": { - "CrossAccountRoleArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/IamRoleArn" - }, - "type": "array", - "uniqueItems": false - }, - "InvokerRoleName": { - "pattern": "((\\u002F[\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}", - "type": "string" - }, - "Type": { - "enum": [ - "LegacyIAMUser", - "RoleBased" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PhysicalResourceId": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "pattern": "^[0-9]{12}$", - "type": "string" - }, - "AwsRegion": { - "pattern": "^[a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]$", - "type": "string" - }, - "Identifier": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Type": { - "pattern": "Arn|Native", - "type": "string" - } - }, - "required": [ - "Identifier", - "Type" - ], - "type": "object" - }, - "ResourceMapping": { - "additionalProperties": false, - "properties": { - "EksSourceName": { - "type": "string" - }, - "LogicalStackName": { - "type": "string" - }, - "MappingType": { - "pattern": "CfnStack|Resource|Terraform|EKS", - "type": "string" - }, - "PhysicalResourceId": { - "$ref": "#/definitions/PhysicalResourceId" - }, - "ResourceName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "TerraformSourceName": { - "type": "string" - } - }, - "required": [ - "MappingType", - "PhysicalResourceId" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "patternProperties": { - ".{1,128}": { - "$ref": "#/definitions/TagValue" - } - }, - "type": "object" - }, - "TagValue": { - "maxLength": 256, - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - }, - "delete": { - "permissions": [ - "resiliencehub:DeleteApp", - "resiliencehub:UntagResource", - "resiliencehub:ListApps" - ] - }, - "list": { - "permissions": [ - "resiliencehub:ListApps" - ] - }, - "read": { - "permissions": [ - "resiliencehub:DescribeApp", - "resiliencehub:DescribeAppVersionTemplate", - "resiliencehub:ListAppVersionResourceMappings", - "resiliencehub:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - } - }, - "primaryIdentifier": [ - "/properties/AppArn" - ], - "properties": { - "AppArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "AppAssessmentSchedule": { - "enum": [ - "Disabled", - "Daily" - ], - "type": "string" - }, - "AppTemplateBody": { - "maxLength": 409600, - "minLength": 0, - "pattern": "^[\\w\\s:,-\\.'\\/{}\\[\\]:\"]+$", - "type": "string" - }, - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "DriftStatus": { - "enum": [ - "NotChecked", - "NotDetected", - "Detected" - ], - "type": "string" - }, - "EventSubscriptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EventSubscription" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "PermissionModel": { - "$ref": "#/definitions/PermissionModel" - }, - "ResiliencyPolicyArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "ResourceMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceMapping" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "$ref": "#/definitions/TagMap" - } - }, - "readOnlyProperties": [ - "/properties/AppArn", - "/properties/DriftStatus" - ], - "required": [ - "Name", - "AppTemplateBody", - "ResourceMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-resiliencehub", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ResilienceHub::App" -} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-ses-configurationset.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ses-configurationset.json deleted file mode 100644 index 7e6285d5ea..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-ses-configurationset.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - }, - "TlsPolicy": { - "pattern": "REQUIRE|OPTIONAL", - "type": "string" - } - }, - "type": "object" - }, - "GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "insertionOrder": false, - "items": { - "pattern": "BOUNCE|COMPLAINT", - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "type": "object" - }, - "VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/GuardianOptions" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSet" - ] - }, - "list": { - "permissions": [ - "ses:ListConfigurationSets" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSet", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:PutConfigurationSetTrackingOptions", - "ses:PutConfigurationSetDeliveryOptions", - "ses:PutConfigurationSetReputationOptions", - "ses:PutConfigurationSetSendingOptions", - "ses:PutConfigurationSetSuppressionOptions", - "ses:PutConfigurationSetVdmOptions" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/DeliveryOptions" - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{1,64}$", - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/SuppressionOptions" - }, - "TrackingOptions": { - "$ref": "#/definitions/TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/VdmOptions" - } - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSet" -} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-verifiedpermissions-identitysource.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-verifiedpermissions-identitysource.json deleted file mode 100644 index df3e631ae0..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-verifiedpermissions-identitysource.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyStoreId" - ], - "definitions": { - "CognitoGroupConfiguration": { - "additionalProperties": false, - "properties": { - "GroupEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^([_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*$", - "type": "string" - } - }, - "required": [ - "GroupEntityType" - ], - "type": "object" - }, - "CognitoUserPoolConfiguration": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "GroupConfiguration": { - "$ref": "#/definitions/CognitoGroupConfiguration" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "required": [ - "UserPoolArn" - ], - "type": "object" - }, - "IdentitySourceConfiguration": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "CognitoUserPoolConfiguration": { - "$ref": "#/definitions/CognitoUserPoolConfiguration" - } - }, - "required": [ - "CognitoUserPoolConfiguration" - ], - "title": "CognitoUserPoolConfiguration", - "type": "object" - } - ] - }, - "IdentitySourceDetails": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "DiscoveryUrl": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^https://.*$", - "type": "string" - }, - "OpenIdIssuer": { - "$ref": "#/definitions/OpenIdIssuer" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "type": "object" - }, - "OpenIdIssuer": { - "enum": [ - "COGNITO" - ], - "type": "string" - } - }, - "deprecatedProperties": [ - "/properties/Details" - ], - "handlers": { - "create": { - "permissions": [ - "verifiedpermissions:CreateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "delete": { - "permissions": [ - "verifiedpermissions:DeleteIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "PolicyStoreId": { - "$ref": "resource-schema.json#/properties/PolicyStoreId" - } - }, - "required": [ - "PolicyStoreId" - ] - }, - "permissions": [ - "verifiedpermissions:ListIdentitySources", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "read": { - "permissions": [ - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "update": { - "permissions": [ - "verifiedpermissions:UpdateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - } - }, - "primaryIdentifier": [ - "/properties/IdentitySourceId", - "/properties/PolicyStoreId" - ], - "properties": { - "Configuration": { - "$ref": "#/definitions/IdentitySourceConfiguration" - }, - "Details": { - "$ref": "#/definitions/IdentitySourceDetails" - }, - "IdentitySourceId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PolicyStoreId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PrincipalEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Details", - "/properties/IdentitySourceId" - ], - "required": [ - "Configuration", - "PolicyStoreId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-avp", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::VerifiedPermissions::IdentitySource" -} 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 ba4c6c4854..a30a0fc914 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py @@ -827,6 +827,7 @@ "aws-iot-topicruledestination.json", "aws-amplify-branch.json", "aws-redshift-clustersubnetgroup.json", + "aws-rds-dbinstance.json", "aws-ec2-vpcdhcpoptionsassociation.json", "aws-apigateway-model.json", "aws-apigatewayv2-integrationresponse.json", @@ -856,6 +857,7 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", + "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-autoscaling-autoscalinggroup.json", @@ -937,6 +939,7 @@ "aws-elasticache-replicationgroup.json", "aws-stepfunctions-statemachinealias.json", "aws-cassandra-table.json", + "aws-rds-globalcluster.json", "aws-cloudformation-moduledefaultversion.json", "aws-ce-costcategory.json", "aws-applicationsignals-servicelevelobjective.json", @@ -1169,6 +1172,7 @@ "aws-mediaconnect-gateway.json", "aws-rds-dbproxyendpoint.json", "aws-datasync-locationsmb.json", + "aws-resiliencehub-app.json", "aws-securityhub-standard.json", "aws-rolesanywhere-crl.json", "aws-sns-topicinlinepolicy.json", @@ -1237,6 +1241,7 @@ "aws-emr-cluster.json", "aws-codepipeline-webhook.json", "aws-apigatewayv2-domainname.json", + "aws-rds-dbcluster.json", "aws-servicecatalog-resourceupdateconstraint.json", "aws-transfer-agreement.json", "aws-chatbot-slackchannelconfiguration.json", diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigateway-domainname.json deleted file mode 100644 index 1eb496645f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigateway-domainname.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "apigateway:*" - ] - }, - "delete": { - "permissions": [ - "apigateway:*" - ] - }, - "list": { - "permissions": [ - "apigateway:*" - ] - }, - "read": { - "permissions": [ - "apigateway:*" - ] - }, - "update": { - "permissions": [ - "apigateway:*" - ] - } - }, - "primaryIdentifier": [ - "/properties/DomainName" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DistributionDomainName": { - "type": "string" - }, - "DistributionHostedZoneId": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/MutualTlsAuthentication" - }, - "OwnershipVerificationCertificateArn": { - "type": "string" - }, - "RegionalCertificateArn": { - "type": "string" - }, - "RegionalDomainName": { - "type": "string" - }, - "RegionalHostedZoneId": { - "type": "string" - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/RegionalHostedZoneId", - "/properties/DistributionDomainName", - "/properties/RegionalDomainName", - "/properties/DistributionHostedZoneId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::ApiGateway::DomainName" -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-vpclink.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-vpclink.json index 1b5fa4c74d..7e1ebb78bc 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-vpclink.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigatewayv2-vpclink.json @@ -31,7 +31,10 @@ "uniqueItems": false }, "Tags": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypool.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypool.json index 2cb7542fb6..46ac1fba2e 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypool.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypool.json @@ -59,7 +59,10 @@ "type": "boolean" }, "CognitoEvents": { - "type": "object" + "type": [ + "object", + "string" + ] }, "CognitoIdentityProviders": { "items": { @@ -101,7 +104,10 @@ "uniqueItems": false }, "SupportedLoginProviders": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypoolroleattachment.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypoolroleattachment.json index d4ea2e7ad7..a988ab33e8 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypoolroleattachment.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypoolroleattachment.json @@ -14,10 +14,16 @@ "type": "string" }, "RoleMappings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Roles": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpool.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpool.json index 86d975c369..ee04e1224c 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpool.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpool.json @@ -361,7 +361,10 @@ "type": "string" }, "UserPoolTags": { - "type": "object" + "type": [ + "object", + "string" + ] }, "UsernameAttributes": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpooluser.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpooluser.json index d996b0aae2..d6d1bec9ff 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpooluser.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpooluser.json @@ -29,7 +29,10 @@ ], "properties": { "ClientMetadata": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DesiredDeliveryMediums": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-docdb-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-docdb-dbclusterparametergroup.json index a7815b3030..b3e75356b1 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-docdb-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-docdb-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbcluster.json deleted file mode 100644 index e0756eb08e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbcluster.json +++ /dev/null @@ -1,503 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::EC2::SecurityGroup" - } - } - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbinstance.json deleted file mode 100644 index d92125d3b5..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbinstance.json +++ /dev/null @@ -1,670 +0,0 @@ -{ - "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": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "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": { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::RDS::DBSecurityGroup" - }, - "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": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "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": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], - "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": { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - }, - "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/ap_east_1/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-globalcluster.json deleted file mode 100644 index fccf366023..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-globalcluster.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/GlobalClusterIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/Engine" - ], - "handlers": { - "create": { - "permissions": [ - "rds:CreateGlobalCluster", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters" - ] - }, - "delete": { - "permissions": [ - "rds:DescribeGlobalClusters", - "rds:DeleteGlobalCluster", - "rds:RemoveFromGlobalCluster", - "rds:DescribeDBClusters" - ] - }, - "list": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "update": { - "permissions": [ - "rds:ModifyGlobalCluster", - "rds:DescribeGlobalClusters" - ] - } - }, - "oneOf": [ - { - "required": [ - "SourceDBClusterIdentifier" - ] - }, - { - "required": [ - "Engine" - ] - } - ], - "primaryIdentifier": [ - "/properties/GlobalClusterIdentifier" - ], - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Engine": { - "enum": [ - "aurora", - "aurora-mysql", - "aurora-postgresql" - ], - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "oneOf": [ - { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$" - }, - { - "pattern": "^(?=.{40,128}$)arn.*" - } - ], - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - } - }, - "propertyTransform": { - "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)" - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::GlobalCluster" -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-resiliencehub-app.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-resiliencehub-app.json deleted file mode 100644 index 0c20764ed8..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-resiliencehub-app.json +++ /dev/null @@ -1,288 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "EventSubscription": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "ScheduledAssessmentFailure", - "DriftDetected" - ], - "type": "string" - }, - "Name": { - "maxLength": 256, - "type": "string" - }, - "SnsTopicArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+.-]{0,1023}$", - "type": "string" - } - }, - "required": [ - "Name", - "EventType" - ], - "type": "object" - }, - "IamRoleArn": { - "pattern": "arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):iam::[0-9]{12}:role\\/(([\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}$", - "type": "string" - }, - "PermissionModel": { - "additionalProperties": false, - "properties": { - "CrossAccountRoleArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/IamRoleArn" - }, - "type": "array", - "uniqueItems": false - }, - "InvokerRoleName": { - "pattern": "((\\u002F[\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}", - "type": "string" - }, - "Type": { - "enum": [ - "LegacyIAMUser", - "RoleBased" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PhysicalResourceId": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "pattern": "^[0-9]{12}$", - "type": "string" - }, - "AwsRegion": { - "pattern": "^[a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]$", - "type": "string" - }, - "Identifier": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Type": { - "pattern": "Arn|Native", - "type": "string" - } - }, - "required": [ - "Identifier", - "Type" - ], - "type": "object" - }, - "ResourceMapping": { - "additionalProperties": false, - "properties": { - "EksSourceName": { - "type": "string" - }, - "LogicalStackName": { - "type": "string" - }, - "MappingType": { - "pattern": "CfnStack|Resource|Terraform|EKS", - "type": "string" - }, - "PhysicalResourceId": { - "$ref": "#/definitions/PhysicalResourceId" - }, - "ResourceName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "TerraformSourceName": { - "type": "string" - } - }, - "required": [ - "MappingType", - "PhysicalResourceId" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "patternProperties": { - ".{1,128}": { - "$ref": "#/definitions/TagValue" - } - }, - "type": "object" - }, - "TagValue": { - "maxLength": 256, - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - }, - "delete": { - "permissions": [ - "resiliencehub:DeleteApp", - "resiliencehub:UntagResource", - "resiliencehub:ListApps" - ] - }, - "list": { - "permissions": [ - "resiliencehub:ListApps" - ] - }, - "read": { - "permissions": [ - "resiliencehub:DescribeApp", - "resiliencehub:DescribeAppVersionTemplate", - "resiliencehub:ListAppVersionResourceMappings", - "resiliencehub:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - } - }, - "primaryIdentifier": [ - "/properties/AppArn" - ], - "properties": { - "AppArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "AppAssessmentSchedule": { - "enum": [ - "Disabled", - "Daily" - ], - "type": "string" - }, - "AppTemplateBody": { - "maxLength": 409600, - "minLength": 0, - "pattern": "^[\\w\\s:,-\\.'\\/{}\\[\\]:\"]+$", - "type": "string" - }, - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "DriftStatus": { - "enum": [ - "NotChecked", - "NotDetected", - "Detected" - ], - "type": "string" - }, - "EventSubscriptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EventSubscription" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "PermissionModel": { - "$ref": "#/definitions/PermissionModel" - }, - "ResiliencyPolicyArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "ResourceMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceMapping" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "$ref": "#/definitions/TagMap" - } - }, - "readOnlyProperties": [ - "/properties/AppArn", - "/properties/DriftStatus" - ], - "required": [ - "Name", - "AppTemplateBody", - "ResourceMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-resiliencehub", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ResilienceHub::App" -} 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 82580cab1b..b5e4dca803 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py @@ -1704,6 +1704,7 @@ "aws-ivs-recordingconfiguration.json", "aws-securityhub-configurationpolicy.json", "aws-medialive-inputsecuritygroup.json", + "aws-sagemaker-domain.json", "aws-greengrass-coredefinitionversion.json", "aws-codebuild-fleet.json", "aws-certificatemanager-certificate.json", @@ -1820,7 +1821,6 @@ "aws-systemsmanagersap-application.json", "aws-dms-replicationtask.json", "aws-ec2-routetable.json", - "aws-mediaconnect-gateway.json", "aws-rds-dbproxyendpoint.json", "aws-datasync-locationsmb.json", "aws-resiliencehub-app.json", @@ -2318,7 +2318,6 @@ "aws-databrew-job.json", "aws-ec2-transitgatewaypeeringattachment.json", "aws-connect-queue.json", - "aws-ecr-repositorycreationtemplate.json", "aws-quicksight-template.json", "aws-supportapp-slackchannelconfiguration.json", "aws-iotwireless-fuotatask.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ecr-repositorycreationtemplate.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ecr-repositorycreationtemplate.json new file mode 100644 index 0000000000..57b0b79095 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ecr-repositorycreationtemplate.json @@ -0,0 +1,168 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Prefix" + ], + "definitions": { + "AppliedForItem": { + "enum": [ + "REPLICATION", + "PULL_THROUGH_CACHE" + ], + "type": "string" + }, + "EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "$ref": "#/definitions/EncryptionType" + }, + "KmsKey": { + "$ref": "#/definitions/KmsKey" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "EncryptionType": { + "enum": [ + "AES256", + "KMS" + ], + "type": "string" + }, + "KmsKey": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ecr:CreateRepositoryCreationTemplate", + "ecr:PutLifecyclePolicy", + "ecr:SetRepositoryPolicy", + "ecr:CreateRepository", + "iam:CreateServiceLinkedRole" + ] + }, + "delete": { + "permissions": [ + "ecr:DeleteRepositoryCreationTemplate" + ] + }, + "list": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates" + ] + }, + "read": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates" + ] + }, + "update": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates", + "ecr:UpdateRepositoryCreationTemplate", + "ecr:PutLifecyclePolicy", + "ecr:SetRepositoryPolicy", + "ecr:CreateRepository", + "iam:CreateServiceLinkedRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Prefix" + ], + "properties": { + "AppliedFor": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppliedForItem" + }, + "type": "array", + "uniqueItems": true + }, + "CreatedAt": { + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/EncryptionConfiguration" + }, + "ImageTagMutability": { + "enum": [ + "MUTABLE", + "IMMUTABLE" + ], + "type": "string" + }, + "LifecyclePolicy": { + "maxLength": 30720, + "minLength": 100, + "type": "string" + }, + "Prefix": { + "maxLength": 256, + "minLength": 1, + "pattern": "^((?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*/?|ROOT)$", + "type": "string" + }, + "RepositoryPolicy": { + "type": "string" + }, + "ResourceTags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UpdatedAt": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/UpdatedAt" + ], + "required": [ + "Prefix", + "AppliedFor" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecr.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::ECR::RepositoryCreationTemplate" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-mediaconnect-gateway.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-mediaconnect-gateway.json new file mode 100644 index 0000000000..283caabff1 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-mediaconnect-gateway.json @@ -0,0 +1,104 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/EgressCidrBlocks", + "/properties/Networks" + ], + "definitions": { + "GatewayNetwork": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name", + "CidrBlock" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:CreateServiceLinkedRole", + "mediaconnect:CreateGateway", + "mediaconnect:DescribeGateway" + ] + }, + "delete": { + "permissions": [ + "iam:CreateServiceLinkedRole", + "mediaconnect:DescribeGateway", + "mediaconnect:DeleteGateway" + ] + }, + "list": { + "permissions": [ + "mediaconnect:ListGateways" + ] + }, + "read": { + "permissions": [ + "mediaconnect:DescribeGateway" + ] + } + }, + "primaryIdentifier": [ + "/properties/GatewayArn" + ], + "properties": { + "EgressCidrBlocks": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array" + }, + "GatewayArn": { + "type": "string" + }, + "GatewayState": { + "enum": [ + "CREATING", + "ACTIVE", + "UPDATING", + "ERROR", + "DELETING", + "DELETED" + ], + "type": "string" + }, + "Name": { + "type": "string" + }, + "Networks": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/GatewayNetwork" + }, + "maxItems": 4, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/GatewayArn", + "/properties/GatewayState" + ], + "required": [ + "Name", + "EgressCidrBlocks", + "Networks" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-mediaconnect.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::MediaConnect::Gateway" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-pinpoint-app.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-pinpoint-app.json index af8ce90d32..444ed27dd6 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-pinpoint-app.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-pinpoint-app.json @@ -17,7 +17,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-pinpoint-segment.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-pinpoint-segment.json index 6ea1a3f3a5..3763227d9e 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-pinpoint-segment.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-pinpoint-segment.json @@ -127,7 +127,10 @@ "additionalProperties": false, "properties": { "Attributes": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Behavior": { "$ref": "#/definitions/Behavior" @@ -139,10 +142,16 @@ "$ref": "#/definitions/Location" }, "Metrics": { - "type": "object" + "type": [ + "object", + "string" + ] }, "UserAttributes": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "type": "object" @@ -218,7 +227,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ 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 deleted file mode 100644 index b1615520a0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-domain.json +++ /dev/null @@ -1,774 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AuthMode", - "/properties/DomainName", - "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", - "/properties/KmsKeyId", - "/properties/VpcId", - "/properties/Tags" - ], - "definitions": { - "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": 10, - "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" - }, - "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" - }, - "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" - } - }, - "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/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py index 985be60fd1..91b5622b19 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py @@ -1204,6 +1204,7 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", + "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1322,6 +1323,7 @@ "aws-stepfunctions-statemachinealias.json", "aws-cassandra-table.json", "aws-cognito-userpoolresourceserver.json", + "aws-rds-globalcluster.json", "aws-cloudformation-moduledefaultversion.json", "aws-ce-costcategory.json", "aws-applicationsignals-servicelevelobjective.json", @@ -1406,6 +1408,7 @@ "aws-wisdom-assistant.json", "aws-wafv2-rulegroup.json", "aws-sagemaker-modelpackagegroup.json", + "aws-ses-configurationset.json", "aws-networkfirewall-loggingconfiguration.json", "aws-glue-classifier.json", "aws-connect-securityprofile.json", @@ -1784,6 +1787,7 @@ "aws-ec2-localgatewayroutetable.json", "aws-apigateway-resource.json", "aws-sagemaker-appimageconfig.json", + "aws-verifiedpermissions-identitysource.json", "aws-macie-session.json", "aws-elasticloadbalancingv2-targetgroup.json", "aws-applicationautoscaling-scalingpolicy.json", @@ -2134,6 +2138,7 @@ "aws-mediatailor-playbackconfiguration.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-datazone-projectmembership.json", + "aws-elasticbeanstalk-environment.json", "aws-proton-servicetemplate.json", "aws-cognito-userpoolclient.json", "aws-mediapackage-packaginggroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-apigateway-domainname.json deleted file mode 100644 index 1eb496645f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-apigateway-domainname.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "apigateway:*" - ] - }, - "delete": { - "permissions": [ - "apigateway:*" - ] - }, - "list": { - "permissions": [ - "apigateway:*" - ] - }, - "read": { - "permissions": [ - "apigateway:*" - ] - }, - "update": { - "permissions": [ - "apigateway:*" - ] - } - }, - "primaryIdentifier": [ - "/properties/DomainName" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DistributionDomainName": { - "type": "string" - }, - "DistributionHostedZoneId": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/MutualTlsAuthentication" - }, - "OwnershipVerificationCertificateArn": { - "type": "string" - }, - "RegionalCertificateArn": { - "type": "string" - }, - "RegionalDomainName": { - "type": "string" - }, - "RegionalHostedZoneId": { - "type": "string" - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/RegionalHostedZoneId", - "/properties/DistributionDomainName", - "/properties/RegionalDomainName", - "/properties/DistributionHostedZoneId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::ApiGateway::DomainName" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-elasticbeanstalk-environment.json deleted file mode 100644 index 2fa4fe9b33..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-elasticbeanstalk-environment.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CNAMEPrefix", - "/properties/EnvironmentName", - "/properties/ApplicationName", - "/properties/SolutionStackName", - "/properties/Tier/Name", - "/properties/Tier/Type" - ], - "definitions": { - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:CreateEnvironment", - "iam:PassRole" - ], - "timeoutInMinutes": 120 - }, - "delete": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:TerminateEnvironment" - ], - "timeoutInMinutes": 210 - }, - "list": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments" - ] - }, - "read": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:DescribeConfigurationSettings", - "elasticbeanstalk:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:UpdateEnvironment", - "elasticbeanstalk:UpdateTagsForResource", - "elasticbeanstalk:AssociateEnvironmentOperationsRole", - "elasticbeanstalk:DisassociateEnvironmentOperationsRole", - "iam:PassRole" - ], - "timeoutInMinutes": 300 - } - }, - "primaryIdentifier": [ - "/properties/EnvironmentName" - ], - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointURL": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OperationsRole": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array", - "uniqueItems": false - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/Tier" - }, - "VersionLabel": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/EndpointURL" - ], - "required": [ - "ApplicationName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ElasticBeanstalk::Environment", - "writeOnlyProperties": [ - "/properties/TemplateName", - "/properties/OptionSettings", - "/properties/OptionSettings/*/OptionName", - "/properties/OptionSettings/*/ResourceName", - "/properties/OptionSettings/*/Namespace", - "/properties/OptionSettings/*/Value" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-pinpoint-app.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-pinpoint-app.json index af8ce90d32..444ed27dd6 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-pinpoint-app.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-pinpoint-app.json @@ -17,7 +17,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-pinpoint-segment.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-pinpoint-segment.json index 6ea1a3f3a5..3763227d9e 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-pinpoint-segment.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-pinpoint-segment.json @@ -127,7 +127,10 @@ "additionalProperties": false, "properties": { "Attributes": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Behavior": { "$ref": "#/definitions/Behavior" @@ -139,10 +142,16 @@ "$ref": "#/definitions/Location" }, "Metrics": { - "type": "object" + "type": [ + "object", + "string" + ] }, "UserAttributes": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "type": "object" @@ -218,7 +227,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-globalcluster.json deleted file mode 100644 index fccf366023..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-globalcluster.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/GlobalClusterIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/Engine" - ], - "handlers": { - "create": { - "permissions": [ - "rds:CreateGlobalCluster", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters" - ] - }, - "delete": { - "permissions": [ - "rds:DescribeGlobalClusters", - "rds:DeleteGlobalCluster", - "rds:RemoveFromGlobalCluster", - "rds:DescribeDBClusters" - ] - }, - "list": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "update": { - "permissions": [ - "rds:ModifyGlobalCluster", - "rds:DescribeGlobalClusters" - ] - } - }, - "oneOf": [ - { - "required": [ - "SourceDBClusterIdentifier" - ] - }, - { - "required": [ - "Engine" - ] - } - ], - "primaryIdentifier": [ - "/properties/GlobalClusterIdentifier" - ], - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Engine": { - "enum": [ - "aurora", - "aurora-mysql", - "aurora-postgresql" - ], - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "oneOf": [ - { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$" - }, - { - "pattern": "^(?=.{40,128}$)arn.*" - } - ], - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - } - }, - "propertyTransform": { - "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)" - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::GlobalCluster" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-fleet.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-fleet.json index 149b0ad719..42078134c3 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-fleet.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-fleet.json @@ -17,7 +17,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-robot.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-robot.json index 44c4ce00a2..4422ddb81d 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-robot.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-robot.json @@ -26,7 +26,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-robotapplication.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-robotapplication.json index 1ec7438e7e..4d4d4fe72c 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-robotapplication.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-robotapplication.json @@ -69,7 +69,9 @@ "uniqueItems": false }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-simulationapplication.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-simulationapplication.json index c54458425c..aaf8f117ee 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-simulationapplication.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-robomaker-simulationapplication.json @@ -109,7 +109,9 @@ "uniqueItems": false }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ses-configurationset.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ses-configurationset.json deleted file mode 100644 index 7e6285d5ea..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ses-configurationset.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - }, - "TlsPolicy": { - "pattern": "REQUIRE|OPTIONAL", - "type": "string" - } - }, - "type": "object" - }, - "GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "insertionOrder": false, - "items": { - "pattern": "BOUNCE|COMPLAINT", - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "type": "object" - }, - "VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/GuardianOptions" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSet" - ] - }, - "list": { - "permissions": [ - "ses:ListConfigurationSets" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSet", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:PutConfigurationSetTrackingOptions", - "ses:PutConfigurationSetDeliveryOptions", - "ses:PutConfigurationSetReputationOptions", - "ses:PutConfigurationSetSendingOptions", - "ses:PutConfigurationSetSuppressionOptions", - "ses:PutConfigurationSetVdmOptions" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/DeliveryOptions" - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{1,64}$", - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/SuppressionOptions" - }, - "TrackingOptions": { - "$ref": "#/definitions/TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/VdmOptions" - } - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSet" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-verifiedpermissions-identitysource.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-verifiedpermissions-identitysource.json deleted file mode 100644 index df3e631ae0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-verifiedpermissions-identitysource.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyStoreId" - ], - "definitions": { - "CognitoGroupConfiguration": { - "additionalProperties": false, - "properties": { - "GroupEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^([_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*$", - "type": "string" - } - }, - "required": [ - "GroupEntityType" - ], - "type": "object" - }, - "CognitoUserPoolConfiguration": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "GroupConfiguration": { - "$ref": "#/definitions/CognitoGroupConfiguration" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "required": [ - "UserPoolArn" - ], - "type": "object" - }, - "IdentitySourceConfiguration": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "CognitoUserPoolConfiguration": { - "$ref": "#/definitions/CognitoUserPoolConfiguration" - } - }, - "required": [ - "CognitoUserPoolConfiguration" - ], - "title": "CognitoUserPoolConfiguration", - "type": "object" - } - ] - }, - "IdentitySourceDetails": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "DiscoveryUrl": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^https://.*$", - "type": "string" - }, - "OpenIdIssuer": { - "$ref": "#/definitions/OpenIdIssuer" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "type": "object" - }, - "OpenIdIssuer": { - "enum": [ - "COGNITO" - ], - "type": "string" - } - }, - "deprecatedProperties": [ - "/properties/Details" - ], - "handlers": { - "create": { - "permissions": [ - "verifiedpermissions:CreateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "delete": { - "permissions": [ - "verifiedpermissions:DeleteIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "PolicyStoreId": { - "$ref": "resource-schema.json#/properties/PolicyStoreId" - } - }, - "required": [ - "PolicyStoreId" - ] - }, - "permissions": [ - "verifiedpermissions:ListIdentitySources", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "read": { - "permissions": [ - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "update": { - "permissions": [ - "verifiedpermissions:UpdateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - } - }, - "primaryIdentifier": [ - "/properties/IdentitySourceId", - "/properties/PolicyStoreId" - ], - "properties": { - "Configuration": { - "$ref": "#/definitions/IdentitySourceConfiguration" - }, - "Details": { - "$ref": "#/definitions/IdentitySourceDetails" - }, - "IdentitySourceId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PolicyStoreId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PrincipalEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Details", - "/properties/IdentitySourceId" - ], - "required": [ - "Configuration", - "PolicyStoreId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-avp", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::VerifiedPermissions::IdentitySource" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-model.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-model.json index c17fb93fff..8122317a63 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-model.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-model.json @@ -25,7 +25,10 @@ "type": "string" }, "Schema": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-restapi.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-restapi.json index 76a7d9ffcc..26d3794e3b 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-restapi.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-restapi.json @@ -75,7 +75,10 @@ "uniqueItems": true }, "Body": { - "type": "object" + "type": [ + "object", + "string" + ] }, "BodyS3Location": { "$ref": "#/definitions/S3Location" @@ -116,7 +119,10 @@ "type": "object" }, "Policy": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RootResourceId": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigatewayv2-vpclink.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigatewayv2-vpclink.json index 1b5fa4c74d..7e1ebb78bc 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigatewayv2-vpclink.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigatewayv2-vpclink.json @@ -31,7 +31,10 @@ "uniqueItems": false }, "Tags": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-iot-policy.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-iot-policy.json index feaf6d58e1..d874b4bb99 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-iot-policy.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-iot-policy.json @@ -15,7 +15,10 @@ "type": "string" }, "PolicyDocument": { - "type": "object" + "type": [ + "object", + "string" + ] }, "PolicyName": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-fleet.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-fleet.json index 149b0ad719..42078134c3 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-fleet.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-fleet.json @@ -17,7 +17,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-robot.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-robot.json index 44c4ce00a2..4422ddb81d 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-robot.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-robot.json @@ -26,7 +26,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-robotapplication.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-robotapplication.json index 1ec7438e7e..4d4d4fe72c 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-robotapplication.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-robotapplication.json @@ -69,7 +69,9 @@ "uniqueItems": false }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-simulationapplication.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-simulationapplication.json index c54458425c..aaf8f117ee 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-simulationapplication.json +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-robomaker-simulationapplication.json @@ -109,7 +109,9 @@ "uniqueItems": false }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ 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 5c08bb5889..948cc70de7 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py @@ -632,6 +632,7 @@ "aws-appconfig-extensionassociation.json", "aws-ec2-ipampoolcidr.json", "aws-redshift-clustersubnetgroup.json", + "aws-rds-dbinstance.json", "aws-ec2-vpcdhcpoptionsassociation.json", "aws-ec2-networkacl.json", "aws-lambda-eventsourcemapping.json", @@ -709,6 +710,7 @@ "aws-s3objectlambda-accesspointpolicy.json", "aws-elasticache-replicationgroup.json", "aws-stepfunctions-statemachinealias.json", + "aws-rds-globalcluster.json", "aws-applicationsignals-servicelevelobjective.json", "aws-route53profiles-profileresourceassociation.json", "aws-sso-permissionset.json", @@ -918,6 +920,7 @@ "aws-codebuild-sourcecredential.json", "aws-emr-instancefleetconfig.json", "aws-emr-cluster.json", + "aws-rds-dbcluster.json", "aws-servicecatalog-resourceupdateconstraint.json", "aws-transfer-agreement.json", "aws-chatbot-slackchannelconfiguration.json", @@ -932,6 +935,7 @@ "aws-glue-mltransform.json", "aws-appconfig-hostedconfigurationversion.json", "aws-datasync-locationefs.json", + "aws-verifiedpermissions-identitysource.json", "aws-elasticloadbalancingv2-targetgroup.json", "aws-applicationautoscaling-scalingpolicy.json", "aws-pipes-pipe.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-model.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-model.json index d5bd5b2c83..5086400724 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-model.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-model.json @@ -25,7 +25,10 @@ "type": "string" }, "Schema": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-restapi.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-restapi.json index 76a7d9ffcc..26d3794e3b 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-restapi.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-restapi.json @@ -75,7 +75,10 @@ "uniqueItems": true }, "Body": { - "type": "object" + "type": [ + "object", + "string" + ] }, "BodyS3Location": { "$ref": "#/definitions/S3Location" @@ -116,7 +119,10 @@ "type": "object" }, "Policy": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RootResourceId": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudformation-waitcondition.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudformation-waitcondition.json index 56569e9e3d..a95be9629a 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudformation-waitcondition.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudformation-waitcondition.json @@ -8,7 +8,9 @@ "type": "integer" }, "Data": { - "type": "object" + "type": [ + "object" + ] }, "Handle": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-docdb-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-docdb-dbclusterparametergroup.json index a7815b3030..b3e75356b1 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-docdb-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-docdb-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-iot-policy.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-iot-policy.json index 5fe07786fe..2fe7a81560 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-iot-policy.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-iot-policy.json @@ -15,7 +15,10 @@ "type": "string" }, "PolicyDocument": { - "type": "object" + "type": [ + "object", + "string" + ] }, "PolicyName": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-opsworks-layer.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-opsworks-layer.json index 7688721865..2713480ea1 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-opsworks-layer.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-opsworks-layer.json @@ -181,7 +181,10 @@ "type": "string" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "CustomRecipes": { "$ref": "#/definitions/Recipes" diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-opsworks-stack.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-opsworks-stack.json index aac55c0767..a70f0a1a62 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-opsworks-stack.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-opsworks-stack.json @@ -148,7 +148,10 @@ "$ref": "#/definitions/Source" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DefaultAvailabilityZone": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-dbcluster.json deleted file mode 100644 index e0756eb08e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-dbcluster.json +++ /dev/null @@ -1,503 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::EC2::SecurityGroup" - } - } - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-dbinstance.json deleted file mode 100644 index d92125d3b5..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-dbinstance.json +++ /dev/null @@ -1,670 +0,0 @@ -{ - "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": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "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": { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::RDS::DBSecurityGroup" - }, - "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": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "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": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], - "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": { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - }, - "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/ap_south_2/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-globalcluster.json deleted file mode 100644 index fccf366023..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-rds-globalcluster.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/GlobalClusterIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/Engine" - ], - "handlers": { - "create": { - "permissions": [ - "rds:CreateGlobalCluster", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters" - ] - }, - "delete": { - "permissions": [ - "rds:DescribeGlobalClusters", - "rds:DeleteGlobalCluster", - "rds:RemoveFromGlobalCluster", - "rds:DescribeDBClusters" - ] - }, - "list": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "update": { - "permissions": [ - "rds:ModifyGlobalCluster", - "rds:DescribeGlobalClusters" - ] - } - }, - "oneOf": [ - { - "required": [ - "SourceDBClusterIdentifier" - ] - }, - { - "required": [ - "Engine" - ] - } - ], - "primaryIdentifier": [ - "/properties/GlobalClusterIdentifier" - ], - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Engine": { - "enum": [ - "aurora", - "aurora-mysql", - "aurora-postgresql" - ], - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "oneOf": [ - { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$" - }, - { - "pattern": "^(?=.{40,128}$)arn.*" - } - ], - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - } - }, - "propertyTransform": { - "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)" - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::GlobalCluster" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-verifiedpermissions-identitysource.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-verifiedpermissions-identitysource.json deleted file mode 100644 index df3e631ae0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-verifiedpermissions-identitysource.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyStoreId" - ], - "definitions": { - "CognitoGroupConfiguration": { - "additionalProperties": false, - "properties": { - "GroupEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^([_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*$", - "type": "string" - } - }, - "required": [ - "GroupEntityType" - ], - "type": "object" - }, - "CognitoUserPoolConfiguration": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "GroupConfiguration": { - "$ref": "#/definitions/CognitoGroupConfiguration" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "required": [ - "UserPoolArn" - ], - "type": "object" - }, - "IdentitySourceConfiguration": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "CognitoUserPoolConfiguration": { - "$ref": "#/definitions/CognitoUserPoolConfiguration" - } - }, - "required": [ - "CognitoUserPoolConfiguration" - ], - "title": "CognitoUserPoolConfiguration", - "type": "object" - } - ] - }, - "IdentitySourceDetails": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "DiscoveryUrl": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^https://.*$", - "type": "string" - }, - "OpenIdIssuer": { - "$ref": "#/definitions/OpenIdIssuer" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "type": "object" - }, - "OpenIdIssuer": { - "enum": [ - "COGNITO" - ], - "type": "string" - } - }, - "deprecatedProperties": [ - "/properties/Details" - ], - "handlers": { - "create": { - "permissions": [ - "verifiedpermissions:CreateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "delete": { - "permissions": [ - "verifiedpermissions:DeleteIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "PolicyStoreId": { - "$ref": "resource-schema.json#/properties/PolicyStoreId" - } - }, - "required": [ - "PolicyStoreId" - ] - }, - "permissions": [ - "verifiedpermissions:ListIdentitySources", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "read": { - "permissions": [ - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "update": { - "permissions": [ - "verifiedpermissions:UpdateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - } - }, - "primaryIdentifier": [ - "/properties/IdentitySourceId", - "/properties/PolicyStoreId" - ], - "properties": { - "Configuration": { - "$ref": "#/definitions/IdentitySourceConfiguration" - }, - "Details": { - "$ref": "#/definitions/IdentitySourceDetails" - }, - "IdentitySourceId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PolicyStoreId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PrincipalEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Details", - "/properties/IdentitySourceId" - ], - "required": [ - "Configuration", - "PolicyStoreId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-avp", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::VerifiedPermissions::IdentitySource" -} 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 2f3fdf0f1a..51c40558b9 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py @@ -1299,6 +1299,7 @@ "aws-cleanrooms-analysistemplate.json", "aws-redshift-endpointauthorization.json", "aws-ec2-transitgatewayroutetable.json", + "aws-controltower-enabledcontrol.json", "aws-networkmanager-connectattachment.json", "aws-lightsail-container.json", "aws-s3-accessgrantsinstance.json", @@ -1665,6 +1666,7 @@ "aws-kinesisanalyticsv2-applicationoutput.json", "aws-securityhub-configurationpolicy.json", "aws-medialive-inputsecuritygroup.json", + "aws-sagemaker-domain.json", "aws-greengrass-coredefinitionversion.json", "aws-codebuild-fleet.json", "aws-certificatemanager-certificate.json", @@ -1786,6 +1788,7 @@ "aws-mediaconnect-gateway.json", "aws-rds-dbproxyendpoint.json", "aws-datasync-locationsmb.json", + "aws-resiliencehub-app.json", "aws-securityhub-standard.json", "aws-rolesanywhere-crl.json", "aws-cleanrooms-privacybudgettemplate.json", @@ -2264,7 +2267,6 @@ "aws-databrew-job.json", "aws-ec2-transitgatewaypeeringattachment.json", "aws-connect-queue.json", - "aws-ecr-repositorycreationtemplate.json", "aws-quicksight-template.json", "aws-supportapp-slackchannelconfiguration.json", "aws-cloudfront-cachepolicy.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-controltower-enabledcontrol.json deleted file mode 100644 index 75018496ac..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-controltower-enabledcontrol.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/TargetIdentifier", - "/properties/ControlIdentifier" - ], - "definitions": { - "EnabledControlParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:GetControlOperation", - "controltower:EnableControl", - "controltower:TagResource", - "organizations:UpdatePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - }, - "delete": { - "permissions": [ - "controltower:GetControlOperation", - "controltower:DisableControl", - "organizations:UpdatePolicy", - "organizations:DeletePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "TargetIdentifier": { - "$ref": "resource-schema.json#/properties/TargetIdentifier" - } - }, - "required": [ - "TargetIdentifier" - ] - }, - "permissions": [ - "controltower:ListEnabledControls" - ] - }, - "read": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:GetControlOperation", - "controltower:UpdateEnabledControl", - "controltower:UntagResource", - "controltower:TagResource", - "organizations:UpdatePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/TargetIdentifier", - "/properties/ControlIdentifier" - ], - "properties": { - "ControlIdentifier": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$", - "type": "string" - }, - "Parameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EnabledControlParameter" - }, - "minItems": 1, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "TargetIdentifier": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$", - "type": "string" - } - }, - "required": [ - "TargetIdentifier", - "ControlIdentifier" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ControlTower::EnabledControl" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-docdb-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-docdb-dbclusterparametergroup.json index a7815b3030..b3e75356b1 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-docdb-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-docdb-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ecr-repositorycreationtemplate.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ecr-repositorycreationtemplate.json new file mode 100644 index 0000000000..57b0b79095 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-ecr-repositorycreationtemplate.json @@ -0,0 +1,168 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Prefix" + ], + "definitions": { + "AppliedForItem": { + "enum": [ + "REPLICATION", + "PULL_THROUGH_CACHE" + ], + "type": "string" + }, + "EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "$ref": "#/definitions/EncryptionType" + }, + "KmsKey": { + "$ref": "#/definitions/KmsKey" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "EncryptionType": { + "enum": [ + "AES256", + "KMS" + ], + "type": "string" + }, + "KmsKey": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ecr:CreateRepositoryCreationTemplate", + "ecr:PutLifecyclePolicy", + "ecr:SetRepositoryPolicy", + "ecr:CreateRepository", + "iam:CreateServiceLinkedRole" + ] + }, + "delete": { + "permissions": [ + "ecr:DeleteRepositoryCreationTemplate" + ] + }, + "list": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates" + ] + }, + "read": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates" + ] + }, + "update": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates", + "ecr:UpdateRepositoryCreationTemplate", + "ecr:PutLifecyclePolicy", + "ecr:SetRepositoryPolicy", + "ecr:CreateRepository", + "iam:CreateServiceLinkedRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Prefix" + ], + "properties": { + "AppliedFor": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppliedForItem" + }, + "type": "array", + "uniqueItems": true + }, + "CreatedAt": { + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/EncryptionConfiguration" + }, + "ImageTagMutability": { + "enum": [ + "MUTABLE", + "IMMUTABLE" + ], + "type": "string" + }, + "LifecyclePolicy": { + "maxLength": 30720, + "minLength": 100, + "type": "string" + }, + "Prefix": { + "maxLength": 256, + "minLength": 1, + "pattern": "^((?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*/?|ROOT)$", + "type": "string" + }, + "RepositoryPolicy": { + "type": "string" + }, + "ResourceTags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UpdatedAt": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/UpdatedAt" + ], + "required": [ + "Prefix", + "AppliedFor" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecr.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::ECR::RepositoryCreationTemplate" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-pinpoint-app.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-pinpoint-app.json index af8ce90d32..444ed27dd6 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-pinpoint-app.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-pinpoint-app.json @@ -17,7 +17,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-pinpoint-segment.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-pinpoint-segment.json index 6ea1a3f3a5..3763227d9e 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-pinpoint-segment.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-pinpoint-segment.json @@ -127,7 +127,10 @@ "additionalProperties": false, "properties": { "Attributes": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Behavior": { "$ref": "#/definitions/Behavior" @@ -139,10 +142,16 @@ "$ref": "#/definitions/Location" }, "Metrics": { - "type": "object" + "type": [ + "object", + "string" + ] }, "UserAttributes": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "type": "object" @@ -218,7 +227,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-resiliencehub-app.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-resiliencehub-app.json deleted file mode 100644 index 0c20764ed8..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-resiliencehub-app.json +++ /dev/null @@ -1,288 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "EventSubscription": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "ScheduledAssessmentFailure", - "DriftDetected" - ], - "type": "string" - }, - "Name": { - "maxLength": 256, - "type": "string" - }, - "SnsTopicArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+.-]{0,1023}$", - "type": "string" - } - }, - "required": [ - "Name", - "EventType" - ], - "type": "object" - }, - "IamRoleArn": { - "pattern": "arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):iam::[0-9]{12}:role\\/(([\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}$", - "type": "string" - }, - "PermissionModel": { - "additionalProperties": false, - "properties": { - "CrossAccountRoleArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/IamRoleArn" - }, - "type": "array", - "uniqueItems": false - }, - "InvokerRoleName": { - "pattern": "((\\u002F[\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}", - "type": "string" - }, - "Type": { - "enum": [ - "LegacyIAMUser", - "RoleBased" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PhysicalResourceId": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "pattern": "^[0-9]{12}$", - "type": "string" - }, - "AwsRegion": { - "pattern": "^[a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]$", - "type": "string" - }, - "Identifier": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Type": { - "pattern": "Arn|Native", - "type": "string" - } - }, - "required": [ - "Identifier", - "Type" - ], - "type": "object" - }, - "ResourceMapping": { - "additionalProperties": false, - "properties": { - "EksSourceName": { - "type": "string" - }, - "LogicalStackName": { - "type": "string" - }, - "MappingType": { - "pattern": "CfnStack|Resource|Terraform|EKS", - "type": "string" - }, - "PhysicalResourceId": { - "$ref": "#/definitions/PhysicalResourceId" - }, - "ResourceName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "TerraformSourceName": { - "type": "string" - } - }, - "required": [ - "MappingType", - "PhysicalResourceId" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "patternProperties": { - ".{1,128}": { - "$ref": "#/definitions/TagValue" - } - }, - "type": "object" - }, - "TagValue": { - "maxLength": 256, - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - }, - "delete": { - "permissions": [ - "resiliencehub:DeleteApp", - "resiliencehub:UntagResource", - "resiliencehub:ListApps" - ] - }, - "list": { - "permissions": [ - "resiliencehub:ListApps" - ] - }, - "read": { - "permissions": [ - "resiliencehub:DescribeApp", - "resiliencehub:DescribeAppVersionTemplate", - "resiliencehub:ListAppVersionResourceMappings", - "resiliencehub:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - } - }, - "primaryIdentifier": [ - "/properties/AppArn" - ], - "properties": { - "AppArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "AppAssessmentSchedule": { - "enum": [ - "Disabled", - "Daily" - ], - "type": "string" - }, - "AppTemplateBody": { - "maxLength": 409600, - "minLength": 0, - "pattern": "^[\\w\\s:,-\\.'\\/{}\\[\\]:\"]+$", - "type": "string" - }, - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "DriftStatus": { - "enum": [ - "NotChecked", - "NotDetected", - "Detected" - ], - "type": "string" - }, - "EventSubscriptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EventSubscription" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "PermissionModel": { - "$ref": "#/definitions/PermissionModel" - }, - "ResiliencyPolicyArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "ResourceMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceMapping" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "$ref": "#/definitions/TagMap" - } - }, - "readOnlyProperties": [ - "/properties/AppArn", - "/properties/DriftStatus" - ], - "required": [ - "Name", - "AppTemplateBody", - "ResourceMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-resiliencehub", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ResilienceHub::App" -} 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 deleted file mode 100644 index b1615520a0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-sagemaker-domain.json +++ /dev/null @@ -1,774 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AuthMode", - "/properties/DomainName", - "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", - "/properties/KmsKeyId", - "/properties/VpcId", - "/properties/Tags" - ], - "definitions": { - "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": 10, - "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" - }, - "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" - }, - "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" - } - }, - "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-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-fleet.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-fleet.json index 149b0ad719..42078134c3 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-fleet.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-fleet.json @@ -17,7 +17,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-robot.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-robot.json index 44c4ce00a2..4422ddb81d 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-robot.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-robot.json @@ -26,7 +26,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-robotapplication.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-robotapplication.json index 1ec7438e7e..4d4d4fe72c 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-robotapplication.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-robotapplication.json @@ -69,7 +69,9 @@ "uniqueItems": false }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-simulationapplication.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-simulationapplication.json index c54458425c..aaf8f117ee 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-simulationapplication.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-robomaker-simulationapplication.json @@ -109,7 +109,9 @@ "uniqueItems": false }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ 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 cfa036fde9..79e5d34e58 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py @@ -743,6 +743,7 @@ "aws-inspectorv2-filter.json", "aws-elasticache-replicationgroup.json", "aws-stepfunctions-statemachinealias.json", + "aws-rds-globalcluster.json", "aws-cloudformation-moduledefaultversion.json", "aws-applicationsignals-servicelevelobjective.json", "aws-route53profiles-profileresourceassociation.json", @@ -789,6 +790,7 @@ "aws-cloudformation-customresource.json", "aws-wafv2-rulegroup.json", "aws-sagemaker-modelpackagegroup.json", + "aws-ses-configurationset.json", "aws-networkfirewall-loggingconfiguration.json", "aws-codedeploy-deploymentgroup.json", "aws-cloudformation-stackset.json", @@ -979,6 +981,7 @@ "aws-datasync-locationefs.json", "aws-ec2-localgatewayroutetable.json", "aws-sagemaker-appimageconfig.json", + "aws-verifiedpermissions-identitysource.json", "aws-elasticloadbalancingv2-targetgroup.json", "aws-applicationautoscaling-scalingpolicy.json", "aws-pipes-pipe.json", @@ -1168,6 +1171,7 @@ "aws-networkmanager-linkassociation.json", "aws-cognito-userpoolriskconfigurationattachment.json", "aws-pcaconnectorad-serviceprincipalname.json", + "aws-elasticbeanstalk-environment.json", "aws-cognito-userpoolclient.json", "aws-lambda-version.json", "aws-ec2-dhcpoptions.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-model.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-model.json index d5bd5b2c83..5086400724 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-model.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-model.json @@ -25,7 +25,10 @@ "type": "string" }, "Schema": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-restapi.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-restapi.json index 76a7d9ffcc..26d3794e3b 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-restapi.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-restapi.json @@ -75,7 +75,10 @@ "uniqueItems": true }, "Body": { - "type": "object" + "type": [ + "object", + "string" + ] }, "BodyS3Location": { "$ref": "#/definitions/S3Location" @@ -116,7 +119,10 @@ "type": "object" }, "Policy": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RootResourceId": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudformation-waitcondition.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudformation-waitcondition.json index 56569e9e3d..a95be9629a 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudformation-waitcondition.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudformation-waitcondition.json @@ -8,7 +8,9 @@ "type": "integer" }, "Data": { - "type": "object" + "type": [ + "object" + ] }, "Handle": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-elasticbeanstalk-environment.json deleted file mode 100644 index 2fa4fe9b33..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-elasticbeanstalk-environment.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CNAMEPrefix", - "/properties/EnvironmentName", - "/properties/ApplicationName", - "/properties/SolutionStackName", - "/properties/Tier/Name", - "/properties/Tier/Type" - ], - "definitions": { - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:CreateEnvironment", - "iam:PassRole" - ], - "timeoutInMinutes": 120 - }, - "delete": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:TerminateEnvironment" - ], - "timeoutInMinutes": 210 - }, - "list": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments" - ] - }, - "read": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:DescribeConfigurationSettings", - "elasticbeanstalk:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:UpdateEnvironment", - "elasticbeanstalk:UpdateTagsForResource", - "elasticbeanstalk:AssociateEnvironmentOperationsRole", - "elasticbeanstalk:DisassociateEnvironmentOperationsRole", - "iam:PassRole" - ], - "timeoutInMinutes": 300 - } - }, - "primaryIdentifier": [ - "/properties/EnvironmentName" - ], - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointURL": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OperationsRole": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array", - "uniqueItems": false - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/Tier" - }, - "VersionLabel": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/EndpointURL" - ], - "required": [ - "ApplicationName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ElasticBeanstalk::Environment", - "writeOnlyProperties": [ - "/properties/TemplateName", - "/properties/OptionSettings", - "/properties/OptionSettings/*/OptionName", - "/properties/OptionSettings/*/ResourceName", - "/properties/OptionSettings/*/Namespace", - "/properties/OptionSettings/*/Value" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-iot-policy.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-iot-policy.json index 5fe07786fe..2fe7a81560 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-iot-policy.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-iot-policy.json @@ -15,7 +15,10 @@ "type": "string" }, "PolicyDocument": { - "type": "object" + "type": [ + "object", + "string" + ] }, "PolicyName": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-opsworks-layer.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-opsworks-layer.json index 7688721865..2713480ea1 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-opsworks-layer.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-opsworks-layer.json @@ -181,7 +181,10 @@ "type": "string" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "CustomRecipes": { "$ref": "#/definitions/Recipes" diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-opsworks-stack.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-opsworks-stack.json index aac55c0767..a70f0a1a62 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-opsworks-stack.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-opsworks-stack.json @@ -148,7 +148,10 @@ "$ref": "#/definitions/Source" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DefaultAvailabilityZone": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json index 62a3797fcd..e0756eb08e 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json @@ -302,6 +302,9 @@ "EnableIAMDatabaseAuthentication": { "type": "boolean" }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, "Endpoint": { "$ref": "#/definitions/Endpoint" }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-globalcluster.json deleted file mode 100644 index fccf366023..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-globalcluster.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/GlobalClusterIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/Engine" - ], - "handlers": { - "create": { - "permissions": [ - "rds:CreateGlobalCluster", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters" - ] - }, - "delete": { - "permissions": [ - "rds:DescribeGlobalClusters", - "rds:DeleteGlobalCluster", - "rds:RemoveFromGlobalCluster", - "rds:DescribeDBClusters" - ] - }, - "list": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "update": { - "permissions": [ - "rds:ModifyGlobalCluster", - "rds:DescribeGlobalClusters" - ] - } - }, - "oneOf": [ - { - "required": [ - "SourceDBClusterIdentifier" - ] - }, - { - "required": [ - "Engine" - ] - } - ], - "primaryIdentifier": [ - "/properties/GlobalClusterIdentifier" - ], - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Engine": { - "enum": [ - "aurora", - "aurora-mysql", - "aurora-postgresql" - ], - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "oneOf": [ - { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$" - }, - { - "pattern": "^(?=.{40,128}$)arn.*" - } - ], - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - } - }, - "propertyTransform": { - "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)" - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::GlobalCluster" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ses-configurationset.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ses-configurationset.json deleted file mode 100644 index 7e6285d5ea..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ses-configurationset.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - }, - "TlsPolicy": { - "pattern": "REQUIRE|OPTIONAL", - "type": "string" - } - }, - "type": "object" - }, - "GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "insertionOrder": false, - "items": { - "pattern": "BOUNCE|COMPLAINT", - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "type": "object" - }, - "VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/GuardianOptions" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSet" - ] - }, - "list": { - "permissions": [ - "ses:ListConfigurationSets" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSet", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:PutConfigurationSetTrackingOptions", - "ses:PutConfigurationSetDeliveryOptions", - "ses:PutConfigurationSetReputationOptions", - "ses:PutConfigurationSetSendingOptions", - "ses:PutConfigurationSetSuppressionOptions", - "ses:PutConfigurationSetVdmOptions" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/DeliveryOptions" - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{1,64}$", - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/SuppressionOptions" - }, - "TrackingOptions": { - "$ref": "#/definitions/TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/VdmOptions" - } - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSet" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-verifiedpermissions-identitysource.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-verifiedpermissions-identitysource.json deleted file mode 100644 index df3e631ae0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-verifiedpermissions-identitysource.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyStoreId" - ], - "definitions": { - "CognitoGroupConfiguration": { - "additionalProperties": false, - "properties": { - "GroupEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^([_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*$", - "type": "string" - } - }, - "required": [ - "GroupEntityType" - ], - "type": "object" - }, - "CognitoUserPoolConfiguration": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "GroupConfiguration": { - "$ref": "#/definitions/CognitoGroupConfiguration" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "required": [ - "UserPoolArn" - ], - "type": "object" - }, - "IdentitySourceConfiguration": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "CognitoUserPoolConfiguration": { - "$ref": "#/definitions/CognitoUserPoolConfiguration" - } - }, - "required": [ - "CognitoUserPoolConfiguration" - ], - "title": "CognitoUserPoolConfiguration", - "type": "object" - } - ] - }, - "IdentitySourceDetails": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "DiscoveryUrl": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^https://.*$", - "type": "string" - }, - "OpenIdIssuer": { - "$ref": "#/definitions/OpenIdIssuer" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "type": "object" - }, - "OpenIdIssuer": { - "enum": [ - "COGNITO" - ], - "type": "string" - } - }, - "deprecatedProperties": [ - "/properties/Details" - ], - "handlers": { - "create": { - "permissions": [ - "verifiedpermissions:CreateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "delete": { - "permissions": [ - "verifiedpermissions:DeleteIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "PolicyStoreId": { - "$ref": "resource-schema.json#/properties/PolicyStoreId" - } - }, - "required": [ - "PolicyStoreId" - ] - }, - "permissions": [ - "verifiedpermissions:ListIdentitySources", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "read": { - "permissions": [ - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "update": { - "permissions": [ - "verifiedpermissions:UpdateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - } - }, - "primaryIdentifier": [ - "/properties/IdentitySourceId", - "/properties/PolicyStoreId" - ], - "properties": { - "Configuration": { - "$ref": "#/definitions/IdentitySourceConfiguration" - }, - "Details": { - "$ref": "#/definitions/IdentitySourceDetails" - }, - "IdentitySourceId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PolicyStoreId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PrincipalEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Details", - "/properties/IdentitySourceId" - ], - "required": [ - "Configuration", - "PolicyStoreId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-avp", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::VerifiedPermissions::IdentitySource" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-model.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-model.json index d5bd5b2c83..5086400724 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-model.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-model.json @@ -25,7 +25,10 @@ "type": "string" }, "Schema": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-restapi.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-restapi.json index 76a7d9ffcc..26d3794e3b 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-restapi.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-restapi.json @@ -75,7 +75,10 @@ "uniqueItems": true }, "Body": { - "type": "object" + "type": [ + "object", + "string" + ] }, "BodyS3Location": { "$ref": "#/definitions/S3Location" @@ -116,7 +119,10 @@ "type": "object" }, "Policy": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RootResourceId": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudformation-waitcondition.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudformation-waitcondition.json index 56569e9e3d..a95be9629a 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudformation-waitcondition.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudformation-waitcondition.json @@ -8,7 +8,9 @@ "type": "integer" }, "Data": { - "type": "object" + "type": [ + "object" + ] }, "Handle": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-iot-policy.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-iot-policy.json index 5fe07786fe..2fe7a81560 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-iot-policy.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-iot-policy.json @@ -15,7 +15,10 @@ "type": "string" }, "PolicyDocument": { - "type": "object" + "type": [ + "object", + "string" + ] }, "PolicyName": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-opsworks-layer.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-opsworks-layer.json index 7688721865..2713480ea1 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-opsworks-layer.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-opsworks-layer.json @@ -181,7 +181,10 @@ "type": "string" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "CustomRecipes": { "$ref": "#/definitions/Recipes" diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-opsworks-stack.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-opsworks-stack.json index aac55c0767..a70f0a1a62 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-opsworks-stack.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-opsworks-stack.json @@ -148,7 +148,10 @@ "$ref": "#/definitions/Source" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DefaultAvailabilityZone": { "type": "string" 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 d883d850e5..ba63d823c0 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py @@ -1129,6 +1129,7 @@ "aws-amplify-branch.json", "aws-kafkaconnect-workerconfiguration.json", "aws-redshift-clustersubnetgroup.json", + "aws-rds-dbinstance.json", "aws-ec2-vpcdhcpoptionsassociation.json", "aws-lightsail-bucket.json", "aws-apigateway-model.json", @@ -1183,6 +1184,7 @@ "aws-route53-dnssec.json", "aws-redshift-endpointauthorization.json", "aws-ec2-transitgatewayroutetable.json", + "aws-controltower-enabledcontrol.json", "aws-networkmanager-connectattachment.json", "aws-lightsail-container.json", "aws-s3-accessgrantsinstance.json", @@ -1366,6 +1368,7 @@ "aws-wisdom-assistant.json", "aws-wafv2-rulegroup.json", "aws-sagemaker-modelpackagegroup.json", + "aws-ses-configurationset.json", "aws-networkfirewall-loggingconfiguration.json", "aws-glue-classifier.json", "aws-connect-securityprofile.json", @@ -1620,6 +1623,7 @@ "aws-mediaconnect-gateway.json", "aws-rds-dbproxyendpoint.json", "aws-datasync-locationsmb.json", + "aws-resiliencehub-app.json", "aws-securityhub-standard.json", "aws-rolesanywhere-crl.json", "aws-sns-topicinlinepolicy.json", @@ -1706,6 +1710,7 @@ "aws-codepipeline-webhook.json", "aws-apigatewayv2-domainname.json", "aws-customerprofiles-eventstream.json", + "aws-rds-dbcluster.json", "aws-servicecatalog-resourceupdateconstraint.json", "aws-transfer-agreement.json", "aws-lightsail-certificate.json", @@ -2050,7 +2055,6 @@ "aws-databrew-job.json", "aws-ec2-transitgatewaypeeringattachment.json", "aws-connect-queue.json", - "aws-ecr-repositorycreationtemplate.json", "aws-quicksight-template.json", "aws-supportapp-slackchannelconfiguration.json", "aws-cloudfront-cachepolicy.json", @@ -2079,6 +2083,7 @@ "aws-mediatailor-playbackconfiguration.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-datazone-projectmembership.json", + "aws-elasticbeanstalk-environment.json", "aws-proton-servicetemplate.json", "aws-opensearchserverless-lifecyclepolicy.json", "aws-cognito-userpoolclient.json", diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-controltower-enabledcontrol.json deleted file mode 100644 index 75018496ac..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-controltower-enabledcontrol.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/TargetIdentifier", - "/properties/ControlIdentifier" - ], - "definitions": { - "EnabledControlParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:GetControlOperation", - "controltower:EnableControl", - "controltower:TagResource", - "organizations:UpdatePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - }, - "delete": { - "permissions": [ - "controltower:GetControlOperation", - "controltower:DisableControl", - "organizations:UpdatePolicy", - "organizations:DeletePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "TargetIdentifier": { - "$ref": "resource-schema.json#/properties/TargetIdentifier" - } - }, - "required": [ - "TargetIdentifier" - ] - }, - "permissions": [ - "controltower:ListEnabledControls" - ] - }, - "read": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:GetControlOperation", - "controltower:UpdateEnabledControl", - "controltower:UntagResource", - "controltower:TagResource", - "organizations:UpdatePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/TargetIdentifier", - "/properties/ControlIdentifier" - ], - "properties": { - "ControlIdentifier": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$", - "type": "string" - }, - "Parameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EnabledControlParameter" - }, - "minItems": 1, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "TargetIdentifier": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$", - "type": "string" - } - }, - "required": [ - "TargetIdentifier", - "ControlIdentifier" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ControlTower::EnabledControl" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-docdb-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-docdb-dbclusterparametergroup.json index a7815b3030..b3e75356b1 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-docdb-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-docdb-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecr-repositorycreationtemplate.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecr-repositorycreationtemplate.json new file mode 100644 index 0000000000..57b0b79095 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecr-repositorycreationtemplate.json @@ -0,0 +1,168 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Prefix" + ], + "definitions": { + "AppliedForItem": { + "enum": [ + "REPLICATION", + "PULL_THROUGH_CACHE" + ], + "type": "string" + }, + "EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "$ref": "#/definitions/EncryptionType" + }, + "KmsKey": { + "$ref": "#/definitions/KmsKey" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "EncryptionType": { + "enum": [ + "AES256", + "KMS" + ], + "type": "string" + }, + "KmsKey": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ecr:CreateRepositoryCreationTemplate", + "ecr:PutLifecyclePolicy", + "ecr:SetRepositoryPolicy", + "ecr:CreateRepository", + "iam:CreateServiceLinkedRole" + ] + }, + "delete": { + "permissions": [ + "ecr:DeleteRepositoryCreationTemplate" + ] + }, + "list": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates" + ] + }, + "read": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates" + ] + }, + "update": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates", + "ecr:UpdateRepositoryCreationTemplate", + "ecr:PutLifecyclePolicy", + "ecr:SetRepositoryPolicy", + "ecr:CreateRepository", + "iam:CreateServiceLinkedRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Prefix" + ], + "properties": { + "AppliedFor": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppliedForItem" + }, + "type": "array", + "uniqueItems": true + }, + "CreatedAt": { + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/EncryptionConfiguration" + }, + "ImageTagMutability": { + "enum": [ + "MUTABLE", + "IMMUTABLE" + ], + "type": "string" + }, + "LifecyclePolicy": { + "maxLength": 30720, + "minLength": 100, + "type": "string" + }, + "Prefix": { + "maxLength": 256, + "minLength": 1, + "pattern": "^((?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*/?|ROOT)$", + "type": "string" + }, + "RepositoryPolicy": { + "type": "string" + }, + "ResourceTags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UpdatedAt": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/UpdatedAt" + ], + "required": [ + "Prefix", + "AppliedFor" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecr.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::ECR::RepositoryCreationTemplate" +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-elasticbeanstalk-environment.json deleted file mode 100644 index 2fa4fe9b33..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-elasticbeanstalk-environment.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CNAMEPrefix", - "/properties/EnvironmentName", - "/properties/ApplicationName", - "/properties/SolutionStackName", - "/properties/Tier/Name", - "/properties/Tier/Type" - ], - "definitions": { - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:CreateEnvironment", - "iam:PassRole" - ], - "timeoutInMinutes": 120 - }, - "delete": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:TerminateEnvironment" - ], - "timeoutInMinutes": 210 - }, - "list": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments" - ] - }, - "read": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:DescribeConfigurationSettings", - "elasticbeanstalk:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:UpdateEnvironment", - "elasticbeanstalk:UpdateTagsForResource", - "elasticbeanstalk:AssociateEnvironmentOperationsRole", - "elasticbeanstalk:DisassociateEnvironmentOperationsRole", - "iam:PassRole" - ], - "timeoutInMinutes": 300 - } - }, - "primaryIdentifier": [ - "/properties/EnvironmentName" - ], - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointURL": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OperationsRole": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array", - "uniqueItems": false - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/Tier" - }, - "VersionLabel": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/EndpointURL" - ], - "required": [ - "ApplicationName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ElasticBeanstalk::Environment", - "writeOnlyProperties": [ - "/properties/TemplateName", - "/properties/OptionSettings", - "/properties/OptionSettings/*/OptionName", - "/properties/OptionSettings/*/ResourceName", - "/properties/OptionSettings/*/Namespace", - "/properties/OptionSettings/*/Value" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-pinpoint-app.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-pinpoint-app.json index af8ce90d32..444ed27dd6 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-pinpoint-app.json +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-pinpoint-app.json @@ -17,7 +17,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-pinpoint-segment.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-pinpoint-segment.json index 6ea1a3f3a5..3763227d9e 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-pinpoint-segment.json +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-pinpoint-segment.json @@ -127,7 +127,10 @@ "additionalProperties": false, "properties": { "Attributes": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Behavior": { "$ref": "#/definitions/Behavior" @@ -139,10 +142,16 @@ "$ref": "#/definitions/Location" }, "Metrics": { - "type": "object" + "type": [ + "object", + "string" + ] }, "UserAttributes": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "type": "object" @@ -218,7 +227,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbcluster.json deleted file mode 100644 index e0756eb08e..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbcluster.json +++ /dev/null @@ -1,503 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::EC2::SecurityGroup" - } - } - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbinstance.json deleted file mode 100644 index d92125d3b5..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-rds-dbinstance.json +++ /dev/null @@ -1,670 +0,0 @@ -{ - "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": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "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": { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::RDS::DBSecurityGroup" - }, - "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": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "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": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], - "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": { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - }, - "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/ca_central_1/aws-resiliencehub-app.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-resiliencehub-app.json deleted file mode 100644 index 0c20764ed8..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-resiliencehub-app.json +++ /dev/null @@ -1,288 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "EventSubscription": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "ScheduledAssessmentFailure", - "DriftDetected" - ], - "type": "string" - }, - "Name": { - "maxLength": 256, - "type": "string" - }, - "SnsTopicArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+.-]{0,1023}$", - "type": "string" - } - }, - "required": [ - "Name", - "EventType" - ], - "type": "object" - }, - "IamRoleArn": { - "pattern": "arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):iam::[0-9]{12}:role\\/(([\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}$", - "type": "string" - }, - "PermissionModel": { - "additionalProperties": false, - "properties": { - "CrossAccountRoleArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/IamRoleArn" - }, - "type": "array", - "uniqueItems": false - }, - "InvokerRoleName": { - "pattern": "((\\u002F[\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}", - "type": "string" - }, - "Type": { - "enum": [ - "LegacyIAMUser", - "RoleBased" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PhysicalResourceId": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "pattern": "^[0-9]{12}$", - "type": "string" - }, - "AwsRegion": { - "pattern": "^[a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]$", - "type": "string" - }, - "Identifier": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Type": { - "pattern": "Arn|Native", - "type": "string" - } - }, - "required": [ - "Identifier", - "Type" - ], - "type": "object" - }, - "ResourceMapping": { - "additionalProperties": false, - "properties": { - "EksSourceName": { - "type": "string" - }, - "LogicalStackName": { - "type": "string" - }, - "MappingType": { - "pattern": "CfnStack|Resource|Terraform|EKS", - "type": "string" - }, - "PhysicalResourceId": { - "$ref": "#/definitions/PhysicalResourceId" - }, - "ResourceName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "TerraformSourceName": { - "type": "string" - } - }, - "required": [ - "MappingType", - "PhysicalResourceId" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "patternProperties": { - ".{1,128}": { - "$ref": "#/definitions/TagValue" - } - }, - "type": "object" - }, - "TagValue": { - "maxLength": 256, - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - }, - "delete": { - "permissions": [ - "resiliencehub:DeleteApp", - "resiliencehub:UntagResource", - "resiliencehub:ListApps" - ] - }, - "list": { - "permissions": [ - "resiliencehub:ListApps" - ] - }, - "read": { - "permissions": [ - "resiliencehub:DescribeApp", - "resiliencehub:DescribeAppVersionTemplate", - "resiliencehub:ListAppVersionResourceMappings", - "resiliencehub:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - } - }, - "primaryIdentifier": [ - "/properties/AppArn" - ], - "properties": { - "AppArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "AppAssessmentSchedule": { - "enum": [ - "Disabled", - "Daily" - ], - "type": "string" - }, - "AppTemplateBody": { - "maxLength": 409600, - "minLength": 0, - "pattern": "^[\\w\\s:,-\\.'\\/{}\\[\\]:\"]+$", - "type": "string" - }, - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "DriftStatus": { - "enum": [ - "NotChecked", - "NotDetected", - "Detected" - ], - "type": "string" - }, - "EventSubscriptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EventSubscription" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "PermissionModel": { - "$ref": "#/definitions/PermissionModel" - }, - "ResiliencyPolicyArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "ResourceMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceMapping" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "$ref": "#/definitions/TagMap" - } - }, - "readOnlyProperties": [ - "/properties/AppArn", - "/properties/DriftStatus" - ], - "required": [ - "Name", - "AppTemplateBody", - "ResourceMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-resiliencehub", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ResilienceHub::App" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ses-configurationset.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ses-configurationset.json deleted file mode 100644 index 7e6285d5ea..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ses-configurationset.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - }, - "TlsPolicy": { - "pattern": "REQUIRE|OPTIONAL", - "type": "string" - } - }, - "type": "object" - }, - "GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "insertionOrder": false, - "items": { - "pattern": "BOUNCE|COMPLAINT", - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "type": "object" - }, - "VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/GuardianOptions" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSet" - ] - }, - "list": { - "permissions": [ - "ses:ListConfigurationSets" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSet", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:PutConfigurationSetTrackingOptions", - "ses:PutConfigurationSetDeliveryOptions", - "ses:PutConfigurationSetReputationOptions", - "ses:PutConfigurationSetSendingOptions", - "ses:PutConfigurationSetSuppressionOptions", - "ses:PutConfigurationSetVdmOptions" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/DeliveryOptions" - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{1,64}$", - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/SuppressionOptions" - }, - "TrackingOptions": { - "$ref": "#/definitions/TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/VdmOptions" - } - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSet" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py index 083da43808..ac3c009626 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py @@ -667,6 +667,7 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", + "aws-eks-cluster.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", "aws-securityhub-productsubscription.json", diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-model.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-model.json index d5bd5b2c83..5086400724 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-model.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-model.json @@ -25,7 +25,10 @@ "type": "string" }, "Schema": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-restapi.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-restapi.json index 76a7d9ffcc..26d3794e3b 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-restapi.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-restapi.json @@ -75,7 +75,10 @@ "uniqueItems": true }, "Body": { - "type": "object" + "type": [ + "object", + "string" + ] }, "BodyS3Location": { "$ref": "#/definitions/S3Location" @@ -116,7 +119,10 @@ "type": "object" }, "Policy": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RootResourceId": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-waitcondition.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-waitcondition.json index 56569e9e3d..a95be9629a 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-waitcondition.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-waitcondition.json @@ -8,7 +8,9 @@ "type": "integer" }, "Data": { - "type": "object" + "type": [ + "object" + ] }, "Handle": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-eks-cluster.json deleted file mode 100644 index f90589ca3b..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-eks-cluster.json +++ /dev/null @@ -1,356 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/OutpostConfig", - "/properties/EncryptionConfig", - "/properties/KubernetesNetworkConfig", - "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", - "/properties/Name", - "/properties/RoleArn" - ], - "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" - }, - "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" - }, - "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" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-iot-policy.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-iot-policy.json index 5fe07786fe..2fe7a81560 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-iot-policy.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-iot-policy.json @@ -15,7 +15,10 @@ "type": "string" }, "PolicyDocument": { - "type": "object" + "type": [ + "object", + "string" + ] }, "PolicyName": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-opsworks-layer.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-opsworks-layer.json index 7688721865..2713480ea1 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-opsworks-layer.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-opsworks-layer.json @@ -181,7 +181,10 @@ "type": "string" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "CustomRecipes": { "$ref": "#/definitions/Recipes" diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-opsworks-stack.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-opsworks-stack.json index aac55c0767..a70f0a1a62 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-opsworks-stack.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-opsworks-stack.json @@ -148,7 +148,10 @@ "$ref": "#/definitions/Source" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DefaultAvailabilityZone": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-docdb-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-docdb-dbclusterparametergroup.json index a7815b3030..b3e75356b1 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-docdb-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-docdb-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-docdb-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-docdb-dbclusterparametergroup.json index a7815b3030..b3e75356b1 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-docdb-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-docdb-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { 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 2cfc474e5a..7b4eaf746d 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py @@ -1535,7 +1535,6 @@ "aws-wafregional-xssmatchset.json", "aws-vpclattice-rule.json", "aws-rds-dbproxytargetgroup.json", - "aws-cloudwatch-dashboard.json", "aws-cloudwatch-alarm.json", "aws-datazone-datasource.json", "aws-iot-thingtype.json", @@ -2333,7 +2332,6 @@ "aws-databrew-job.json", "aws-ec2-transitgatewaypeeringattachment.json", "aws-connect-queue.json", - "aws-ecr-repositorycreationtemplate.json", "aws-quicksight-template.json", "aws-supportapp-slackchannelconfiguration.json", "aws-iotwireless-fuotatask.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudwatch-dashboard.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudwatch-dashboard.json new file mode 100644 index 0000000000..26785160b5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudwatch-dashboard.json @@ -0,0 +1,57 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DashboardName" + ], + "handlers": { + "create": { + "permissions": [ + "cloudwatch:PutDashboard", + "cloudwatch:GetDashboard" + ] + }, + "delete": { + "permissions": [ + "cloudwatch:DeleteDashboards", + "cloudwatch:GetDashboard" + ] + }, + "list": { + "permissions": [ + "cloudwatch:ListDashboards" + ] + }, + "read": { + "permissions": [ + "cloudwatch:GetDashboard" + ] + }, + "update": { + "permissions": [ + "cloudwatch:PutDashboard" + ] + } + }, + "primaryIdentifier": [ + "/properties/DashboardName" + ], + "properties": { + "DashboardBody": { + "type": "string" + }, + "DashboardName": { + "type": "string" + } + }, + "required": [ + "DashboardBody" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::CloudWatch::Dashboard" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecr-repositorycreationtemplate.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecr-repositorycreationtemplate.json new file mode 100644 index 0000000000..57b0b79095 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecr-repositorycreationtemplate.json @@ -0,0 +1,168 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Prefix" + ], + "definitions": { + "AppliedForItem": { + "enum": [ + "REPLICATION", + "PULL_THROUGH_CACHE" + ], + "type": "string" + }, + "EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "$ref": "#/definitions/EncryptionType" + }, + "KmsKey": { + "$ref": "#/definitions/KmsKey" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "EncryptionType": { + "enum": [ + "AES256", + "KMS" + ], + "type": "string" + }, + "KmsKey": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ecr:CreateRepositoryCreationTemplate", + "ecr:PutLifecyclePolicy", + "ecr:SetRepositoryPolicy", + "ecr:CreateRepository", + "iam:CreateServiceLinkedRole" + ] + }, + "delete": { + "permissions": [ + "ecr:DeleteRepositoryCreationTemplate" + ] + }, + "list": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates" + ] + }, + "read": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates" + ] + }, + "update": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates", + "ecr:UpdateRepositoryCreationTemplate", + "ecr:PutLifecyclePolicy", + "ecr:SetRepositoryPolicy", + "ecr:CreateRepository", + "iam:CreateServiceLinkedRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Prefix" + ], + "properties": { + "AppliedFor": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppliedForItem" + }, + "type": "array", + "uniqueItems": true + }, + "CreatedAt": { + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/EncryptionConfiguration" + }, + "ImageTagMutability": { + "enum": [ + "MUTABLE", + "IMMUTABLE" + ], + "type": "string" + }, + "LifecyclePolicy": { + "maxLength": 30720, + "minLength": 100, + "type": "string" + }, + "Prefix": { + "maxLength": 256, + "minLength": 1, + "pattern": "^((?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*/?|ROOT)$", + "type": "string" + }, + "RepositoryPolicy": { + "type": "string" + }, + "ResourceTags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UpdatedAt": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/UpdatedAt" + ], + "required": [ + "Prefix", + "AppliedFor" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecr.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::ECR::RepositoryCreationTemplate" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py index e48e64226a..f843e0362d 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py @@ -679,6 +679,7 @@ "aws-inspectorv2-filter.json", "aws-elasticache-replicationgroup.json", "aws-stepfunctions-statemachinealias.json", + "aws-rds-globalcluster.json", "aws-applicationsignals-servicelevelobjective.json", "aws-route53profiles-profileresourceassociation.json", "aws-sso-permissionset.json", @@ -776,6 +777,7 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", + "aws-eks-cluster.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", "aws-securityhub-productsubscription.json", @@ -894,6 +896,7 @@ "aws-glue-mltransform.json", "aws-appconfig-hostedconfigurationversion.json", "aws-datasync-locationefs.json", + "aws-verifiedpermissions-identitysource.json", "aws-elasticloadbalancingv2-targetgroup.json", "aws-applicationautoscaling-scalingpolicy.json", "aws-pipes-pipe.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-model.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-model.json index d5bd5b2c83..5086400724 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-model.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-model.json @@ -25,7 +25,10 @@ "type": "string" }, "Schema": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-restapi.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-restapi.json index 76a7d9ffcc..26d3794e3b 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-restapi.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-restapi.json @@ -75,7 +75,10 @@ "uniqueItems": true }, "Body": { - "type": "object" + "type": [ + "object", + "string" + ] }, "BodyS3Location": { "$ref": "#/definitions/S3Location" @@ -116,7 +119,10 @@ "type": "object" }, "Policy": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RootResourceId": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudformation-waitcondition.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudformation-waitcondition.json index 56569e9e3d..a95be9629a 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudformation-waitcondition.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudformation-waitcondition.json @@ -8,7 +8,9 @@ "type": "integer" }, "Data": { - "type": "object" + "type": [ + "object" + ] }, "Handle": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-codepipeline-pipeline.json index 97d26f6088..4575c69e2a 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-codepipeline-pipeline.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-codepipeline-pipeline.json @@ -11,7 +11,10 @@ "$ref": "#/definitions/ActionTypeId" }, "Configuration": { - "type": "object" + "type": [ + "object", + "string" + ] }, "InputArtifacts": { "items": { diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-eks-cluster.json deleted file mode 100644 index f90589ca3b..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-eks-cluster.json +++ /dev/null @@ -1,356 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/OutpostConfig", - "/properties/EncryptionConfig", - "/properties/KubernetesNetworkConfig", - "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", - "/properties/Name", - "/properties/RoleArn" - ], - "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" - }, - "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" - }, - "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" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-iot-policy.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-iot-policy.json index 5fe07786fe..2fe7a81560 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-iot-policy.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-iot-policy.json @@ -15,7 +15,10 @@ "type": "string" }, "PolicyDocument": { - "type": "object" + "type": [ + "object", + "string" + ] }, "PolicyName": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-opsworks-layer.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-opsworks-layer.json index 7688721865..2713480ea1 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-opsworks-layer.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-opsworks-layer.json @@ -181,7 +181,10 @@ "type": "string" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "CustomRecipes": { "$ref": "#/definitions/Recipes" diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-opsworks-stack.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-opsworks-stack.json index aac55c0767..a70f0a1a62 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-opsworks-stack.json +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-opsworks-stack.json @@ -148,7 +148,10 @@ "$ref": "#/definitions/Source" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DefaultAvailabilityZone": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-globalcluster.json deleted file mode 100644 index fccf366023..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-rds-globalcluster.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/GlobalClusterIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/Engine" - ], - "handlers": { - "create": { - "permissions": [ - "rds:CreateGlobalCluster", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters" - ] - }, - "delete": { - "permissions": [ - "rds:DescribeGlobalClusters", - "rds:DeleteGlobalCluster", - "rds:RemoveFromGlobalCluster", - "rds:DescribeDBClusters" - ] - }, - "list": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "update": { - "permissions": [ - "rds:ModifyGlobalCluster", - "rds:DescribeGlobalClusters" - ] - } - }, - "oneOf": [ - { - "required": [ - "SourceDBClusterIdentifier" - ] - }, - { - "required": [ - "Engine" - ] - } - ], - "primaryIdentifier": [ - "/properties/GlobalClusterIdentifier" - ], - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Engine": { - "enum": [ - "aurora", - "aurora-mysql", - "aurora-postgresql" - ], - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "oneOf": [ - { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$" - }, - { - "pattern": "^(?=.{40,128}$)arn.*" - } - ], - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - } - }, - "propertyTransform": { - "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)" - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::GlobalCluster" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-verifiedpermissions-identitysource.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-verifiedpermissions-identitysource.json deleted file mode 100644 index df3e631ae0..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-verifiedpermissions-identitysource.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyStoreId" - ], - "definitions": { - "CognitoGroupConfiguration": { - "additionalProperties": false, - "properties": { - "GroupEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^([_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*$", - "type": "string" - } - }, - "required": [ - "GroupEntityType" - ], - "type": "object" - }, - "CognitoUserPoolConfiguration": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "GroupConfiguration": { - "$ref": "#/definitions/CognitoGroupConfiguration" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "required": [ - "UserPoolArn" - ], - "type": "object" - }, - "IdentitySourceConfiguration": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "CognitoUserPoolConfiguration": { - "$ref": "#/definitions/CognitoUserPoolConfiguration" - } - }, - "required": [ - "CognitoUserPoolConfiguration" - ], - "title": "CognitoUserPoolConfiguration", - "type": "object" - } - ] - }, - "IdentitySourceDetails": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "DiscoveryUrl": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^https://.*$", - "type": "string" - }, - "OpenIdIssuer": { - "$ref": "#/definitions/OpenIdIssuer" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "type": "object" - }, - "OpenIdIssuer": { - "enum": [ - "COGNITO" - ], - "type": "string" - } - }, - "deprecatedProperties": [ - "/properties/Details" - ], - "handlers": { - "create": { - "permissions": [ - "verifiedpermissions:CreateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "delete": { - "permissions": [ - "verifiedpermissions:DeleteIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "PolicyStoreId": { - "$ref": "resource-schema.json#/properties/PolicyStoreId" - } - }, - "required": [ - "PolicyStoreId" - ] - }, - "permissions": [ - "verifiedpermissions:ListIdentitySources", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "read": { - "permissions": [ - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "update": { - "permissions": [ - "verifiedpermissions:UpdateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - } - }, - "primaryIdentifier": [ - "/properties/IdentitySourceId", - "/properties/PolicyStoreId" - ], - "properties": { - "Configuration": { - "$ref": "#/definitions/IdentitySourceConfiguration" - }, - "Details": { - "$ref": "#/definitions/IdentitySourceDetails" - }, - "IdentitySourceId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PolicyStoreId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PrincipalEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Details", - "/properties/IdentitySourceId" - ], - "required": [ - "Configuration", - "PolicyStoreId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-avp", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::VerifiedPermissions::IdentitySource" -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-apigatewayv2-vpclink.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-apigatewayv2-vpclink.json index 1b5fa4c74d..7e1ebb78bc 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-apigatewayv2-vpclink.json +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-apigatewayv2-vpclink.json @@ -31,7 +31,10 @@ "uniqueItems": false }, "Tags": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudformation-waitcondition.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudformation-waitcondition.json index 56569e9e3d..a95be9629a 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudformation-waitcondition.json +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudformation-waitcondition.json @@ -8,7 +8,9 @@ "type": "integer" }, "Data": { - "type": "object" + "type": [ + "object" + ] }, "Handle": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-docdb-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-docdb-dbclusterparametergroup.json index a7815b3030..b3e75356b1 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-docdb-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-docdb-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-iot-policy.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-iot-policy.json index 5fe07786fe..2fe7a81560 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-iot-policy.json +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-iot-policy.json @@ -15,7 +15,10 @@ "type": "string" }, "PolicyDocument": { - "type": "object" + "type": [ + "object", + "string" + ] }, "PolicyName": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-opsworks-layer.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-opsworks-layer.json index 7688721865..2713480ea1 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-opsworks-layer.json +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-opsworks-layer.json @@ -181,7 +181,10 @@ "type": "string" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "CustomRecipes": { "$ref": "#/definitions/Recipes" diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-opsworks-stack.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-opsworks-stack.json index aac55c0767..a70f0a1a62 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-opsworks-stack.json +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-opsworks-stack.json @@ -148,7 +148,10 @@ "$ref": "#/definitions/Source" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DefaultAvailabilityZone": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-model.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-model.json index d5bd5b2c83..5086400724 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-model.json +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-model.json @@ -25,7 +25,10 @@ "type": "string" }, "Schema": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-restapi.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-restapi.json index 76a7d9ffcc..26d3794e3b 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-restapi.json +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-restapi.json @@ -75,7 +75,10 @@ "uniqueItems": true }, "Body": { - "type": "object" + "type": [ + "object", + "string" + ] }, "BodyS3Location": { "$ref": "#/definitions/S3Location" @@ -116,7 +119,10 @@ "type": "object" }, "Policy": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RootResourceId": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudformation-waitcondition.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudformation-waitcondition.json index 56569e9e3d..a95be9629a 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudformation-waitcondition.json +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudformation-waitcondition.json @@ -8,7 +8,9 @@ "type": "integer" }, "Data": { - "type": "object" + "type": [ + "object" + ] }, "Handle": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-iot-policy.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-iot-policy.json index 5fe07786fe..2fe7a81560 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-iot-policy.json +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-iot-policy.json @@ -15,7 +15,10 @@ "type": "string" }, "PolicyDocument": { - "type": "object" + "type": [ + "object", + "string" + ] }, "PolicyName": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-opsworks-layer.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-opsworks-layer.json index 7688721865..2713480ea1 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-opsworks-layer.json +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-opsworks-layer.json @@ -181,7 +181,10 @@ "type": "string" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "CustomRecipes": { "$ref": "#/definitions/Recipes" diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-opsworks-stack.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-opsworks-stack.json index aac55c0767..a70f0a1a62 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-opsworks-stack.json +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-opsworks-stack.json @@ -148,7 +148,10 @@ "$ref": "#/definitions/Source" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DefaultAvailabilityZone": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-pinpoint-app.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-pinpoint-app.json index af8ce90d32..444ed27dd6 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-pinpoint-app.json +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-pinpoint-app.json @@ -17,7 +17,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-pinpoint-segment.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-pinpoint-segment.json index 6ea1a3f3a5..3763227d9e 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-pinpoint-segment.json +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-pinpoint-segment.json @@ -127,7 +127,10 @@ "additionalProperties": false, "properties": { "Attributes": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Behavior": { "$ref": "#/definitions/Behavior" @@ -139,10 +142,16 @@ "$ref": "#/definitions/Location" }, "Metrics": { - "type": "object" + "type": [ + "object", + "string" + ] }, "UserAttributes": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "type": "object" @@ -218,7 +227,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py index e5eaa9e6e1..59e26530a1 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py @@ -1021,6 +1021,7 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", + "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -1030,6 +1031,7 @@ "aws-route53-dnssec.json", "aws-redshift-endpointauthorization.json", "aws-ec2-transitgatewayroutetable.json", + "aws-controltower-enabledcontrol.json", "aws-networkmanager-connectattachment.json", "aws-lightsail-container.json", "aws-s3-accessgrantsinstance.json", @@ -1119,6 +1121,7 @@ "aws-stepfunctions-statemachinealias.json", "aws-cassandra-table.json", "aws-cognito-userpoolresourceserver.json", + "aws-rds-globalcluster.json", "aws-cloudformation-moduledefaultversion.json", "aws-ce-costcategory.json", "aws-applicationsignals-servicelevelobjective.json", @@ -1186,6 +1189,7 @@ "aws-kinesisanalytics-applicationoutput.json", "aws-wafv2-rulegroup.json", "aws-sagemaker-modelpackagegroup.json", + "aws-ses-configurationset.json", "aws-networkfirewall-loggingconfiguration.json", "aws-glue-classifier.json", "aws-codedeploy-deploymentgroup.json", @@ -1395,6 +1399,7 @@ "aws-ec2-routetable.json", "aws-rds-dbproxyendpoint.json", "aws-datasync-locationsmb.json", + "aws-resiliencehub-app.json", "aws-securityhub-standard.json", "aws-rolesanywhere-crl.json", "aws-sns-topicinlinepolicy.json", @@ -1791,6 +1796,7 @@ "aws-cognito-userpoolriskconfigurationattachment.json", "aws-mediatailor-playbackconfiguration.json", "aws-pcaconnectorad-serviceprincipalname.json", + "aws-elasticbeanstalk-environment.json", "aws-opensearchserverless-lifecyclepolicy.json", "aws-cognito-userpoolclient.json", "aws-mediapackage-packaginggroup.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-apigateway-domainname.json deleted file mode 100644 index 1eb496645f..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-apigateway-domainname.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "apigateway:*" - ] - }, - "delete": { - "permissions": [ - "apigateway:*" - ] - }, - "list": { - "permissions": [ - "apigateway:*" - ] - }, - "read": { - "permissions": [ - "apigateway:*" - ] - }, - "update": { - "permissions": [ - "apigateway:*" - ] - } - }, - "primaryIdentifier": [ - "/properties/DomainName" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DistributionDomainName": { - "type": "string" - }, - "DistributionHostedZoneId": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/MutualTlsAuthentication" - }, - "OwnershipVerificationCertificateArn": { - "type": "string" - }, - "RegionalCertificateArn": { - "type": "string" - }, - "RegionalDomainName": { - "type": "string" - }, - "RegionalHostedZoneId": { - "type": "string" - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/RegionalHostedZoneId", - "/properties/DistributionDomainName", - "/properties/RegionalDomainName", - "/properties/DistributionHostedZoneId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::ApiGateway::DomainName" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-controltower-enabledcontrol.json deleted file mode 100644 index 75018496ac..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-controltower-enabledcontrol.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/TargetIdentifier", - "/properties/ControlIdentifier" - ], - "definitions": { - "EnabledControlParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:GetControlOperation", - "controltower:EnableControl", - "controltower:TagResource", - "organizations:UpdatePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - }, - "delete": { - "permissions": [ - "controltower:GetControlOperation", - "controltower:DisableControl", - "organizations:UpdatePolicy", - "organizations:DeletePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "TargetIdentifier": { - "$ref": "resource-schema.json#/properties/TargetIdentifier" - } - }, - "required": [ - "TargetIdentifier" - ] - }, - "permissions": [ - "controltower:ListEnabledControls" - ] - }, - "read": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:GetControlOperation", - "controltower:UpdateEnabledControl", - "controltower:UntagResource", - "controltower:TagResource", - "organizations:UpdatePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/TargetIdentifier", - "/properties/ControlIdentifier" - ], - "properties": { - "ControlIdentifier": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$", - "type": "string" - }, - "Parameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EnabledControlParameter" - }, - "minItems": 1, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "TargetIdentifier": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$", - "type": "string" - } - }, - "required": [ - "TargetIdentifier", - "ControlIdentifier" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ControlTower::EnabledControl" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-docdb-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-docdb-dbclusterparametergroup.json index a7815b3030..b3e75356b1 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-docdb-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-docdb-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-elasticbeanstalk-environment.json deleted file mode 100644 index 2fa4fe9b33..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-elasticbeanstalk-environment.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CNAMEPrefix", - "/properties/EnvironmentName", - "/properties/ApplicationName", - "/properties/SolutionStackName", - "/properties/Tier/Name", - "/properties/Tier/Type" - ], - "definitions": { - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:CreateEnvironment", - "iam:PassRole" - ], - "timeoutInMinutes": 120 - }, - "delete": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:TerminateEnvironment" - ], - "timeoutInMinutes": 210 - }, - "list": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments" - ] - }, - "read": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:DescribeConfigurationSettings", - "elasticbeanstalk:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:UpdateEnvironment", - "elasticbeanstalk:UpdateTagsForResource", - "elasticbeanstalk:AssociateEnvironmentOperationsRole", - "elasticbeanstalk:DisassociateEnvironmentOperationsRole", - "iam:PassRole" - ], - "timeoutInMinutes": 300 - } - }, - "primaryIdentifier": [ - "/properties/EnvironmentName" - ], - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointURL": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OperationsRole": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array", - "uniqueItems": false - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/Tier" - }, - "VersionLabel": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/EndpointURL" - ], - "required": [ - "ApplicationName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ElasticBeanstalk::Environment", - "writeOnlyProperties": [ - "/properties/TemplateName", - "/properties/OptionSettings", - "/properties/OptionSettings/*/OptionName", - "/properties/OptionSettings/*/ResourceName", - "/properties/OptionSettings/*/Namespace", - "/properties/OptionSettings/*/Value" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-globalcluster.json deleted file mode 100644 index fccf366023..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-globalcluster.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/GlobalClusterIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/Engine" - ], - "handlers": { - "create": { - "permissions": [ - "rds:CreateGlobalCluster", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters" - ] - }, - "delete": { - "permissions": [ - "rds:DescribeGlobalClusters", - "rds:DeleteGlobalCluster", - "rds:RemoveFromGlobalCluster", - "rds:DescribeDBClusters" - ] - }, - "list": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "update": { - "permissions": [ - "rds:ModifyGlobalCluster", - "rds:DescribeGlobalClusters" - ] - } - }, - "oneOf": [ - { - "required": [ - "SourceDBClusterIdentifier" - ] - }, - { - "required": [ - "Engine" - ] - } - ], - "primaryIdentifier": [ - "/properties/GlobalClusterIdentifier" - ], - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Engine": { - "enum": [ - "aurora", - "aurora-mysql", - "aurora-postgresql" - ], - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "oneOf": [ - { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$" - }, - { - "pattern": "^(?=.{40,128}$)arn.*" - } - ], - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - } - }, - "propertyTransform": { - "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)" - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::GlobalCluster" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-resiliencehub-app.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-resiliencehub-app.json deleted file mode 100644 index 0c20764ed8..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-resiliencehub-app.json +++ /dev/null @@ -1,288 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "EventSubscription": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "ScheduledAssessmentFailure", - "DriftDetected" - ], - "type": "string" - }, - "Name": { - "maxLength": 256, - "type": "string" - }, - "SnsTopicArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+.-]{0,1023}$", - "type": "string" - } - }, - "required": [ - "Name", - "EventType" - ], - "type": "object" - }, - "IamRoleArn": { - "pattern": "arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):iam::[0-9]{12}:role\\/(([\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}$", - "type": "string" - }, - "PermissionModel": { - "additionalProperties": false, - "properties": { - "CrossAccountRoleArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/IamRoleArn" - }, - "type": "array", - "uniqueItems": false - }, - "InvokerRoleName": { - "pattern": "((\\u002F[\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}", - "type": "string" - }, - "Type": { - "enum": [ - "LegacyIAMUser", - "RoleBased" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PhysicalResourceId": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "pattern": "^[0-9]{12}$", - "type": "string" - }, - "AwsRegion": { - "pattern": "^[a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]$", - "type": "string" - }, - "Identifier": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Type": { - "pattern": "Arn|Native", - "type": "string" - } - }, - "required": [ - "Identifier", - "Type" - ], - "type": "object" - }, - "ResourceMapping": { - "additionalProperties": false, - "properties": { - "EksSourceName": { - "type": "string" - }, - "LogicalStackName": { - "type": "string" - }, - "MappingType": { - "pattern": "CfnStack|Resource|Terraform|EKS", - "type": "string" - }, - "PhysicalResourceId": { - "$ref": "#/definitions/PhysicalResourceId" - }, - "ResourceName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "TerraformSourceName": { - "type": "string" - } - }, - "required": [ - "MappingType", - "PhysicalResourceId" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "patternProperties": { - ".{1,128}": { - "$ref": "#/definitions/TagValue" - } - }, - "type": "object" - }, - "TagValue": { - "maxLength": 256, - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - }, - "delete": { - "permissions": [ - "resiliencehub:DeleteApp", - "resiliencehub:UntagResource", - "resiliencehub:ListApps" - ] - }, - "list": { - "permissions": [ - "resiliencehub:ListApps" - ] - }, - "read": { - "permissions": [ - "resiliencehub:DescribeApp", - "resiliencehub:DescribeAppVersionTemplate", - "resiliencehub:ListAppVersionResourceMappings", - "resiliencehub:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - } - }, - "primaryIdentifier": [ - "/properties/AppArn" - ], - "properties": { - "AppArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "AppAssessmentSchedule": { - "enum": [ - "Disabled", - "Daily" - ], - "type": "string" - }, - "AppTemplateBody": { - "maxLength": 409600, - "minLength": 0, - "pattern": "^[\\w\\s:,-\\.'\\/{}\\[\\]:\"]+$", - "type": "string" - }, - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "DriftStatus": { - "enum": [ - "NotChecked", - "NotDetected", - "Detected" - ], - "type": "string" - }, - "EventSubscriptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EventSubscription" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "PermissionModel": { - "$ref": "#/definitions/PermissionModel" - }, - "ResiliencyPolicyArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "ResourceMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceMapping" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "$ref": "#/definitions/TagMap" - } - }, - "readOnlyProperties": [ - "/properties/AppArn", - "/properties/DriftStatus" - ], - "required": [ - "Name", - "AppTemplateBody", - "ResourceMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-resiliencehub", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ResilienceHub::App" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ses-configurationset.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ses-configurationset.json deleted file mode 100644 index 7e6285d5ea..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ses-configurationset.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - }, - "TlsPolicy": { - "pattern": "REQUIRE|OPTIONAL", - "type": "string" - } - }, - "type": "object" - }, - "GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "insertionOrder": false, - "items": { - "pattern": "BOUNCE|COMPLAINT", - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "type": "object" - }, - "VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/GuardianOptions" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSet" - ] - }, - "list": { - "permissions": [ - "ses:ListConfigurationSets" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSet", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:PutConfigurationSetTrackingOptions", - "ses:PutConfigurationSetDeliveryOptions", - "ses:PutConfigurationSetReputationOptions", - "ses:PutConfigurationSetSendingOptions", - "ses:PutConfigurationSetSuppressionOptions", - "ses:PutConfigurationSetVdmOptions" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/DeliveryOptions" - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{1,64}$", - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/SuppressionOptions" - }, - "TrackingOptions": { - "$ref": "#/definitions/TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/VdmOptions" - } - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSet" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py index 7f24bd327d..c8eaaee8a3 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py @@ -374,6 +374,7 @@ "AWS::StepFunctions::Activity", "AWS::SageMaker::Project", "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation", + "AWS::Logs::AccountPolicy", "AWS::S3::BucketPolicy", "AWS::AppSync::GraphQLSchema", "AWS::Redshift::Cluster", @@ -751,6 +752,7 @@ "aws-elasticache-replicationgroup.json", "aws-stepfunctions-statemachinealias.json", "aws-cognito-userpoolresourceserver.json", + "aws-rds-globalcluster.json", "aws-applicationsignals-servicelevelobjective.json", "aws-route53profiles-profileresourceassociation.json", "aws-sso-permissionset.json", @@ -852,11 +854,13 @@ "aws-ssm-maintenancewindowtask.json", "aws-ec2-transitgatewaymulticastdomain.json", "aws-verifiedpermissions-policytemplate.json", + "aws-eks-cluster.json", "aws-codebuild-project.json", "aws-efs-filesystem.json", "aws-logs-querydefinition.json", "aws-securityhub-productsubscription.json", "aws-datasync-locationnfs.json", + "aws-sagemaker-domain.json", "aws-certificatemanager-certificate.json", "aws-sdb-domain.json", "aws-ec2-subnetroutetableassociation.json", @@ -958,6 +962,7 @@ "aws-stepfunctions-activity.json", "aws-sagemaker-project.json", "aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json", + "aws-logs-accountpolicy.json", "aws-s3-bucketpolicy.json", "aws-appsync-graphqlschema.json", "aws-redshift-cluster.json", @@ -982,6 +987,7 @@ "aws-datasync-locationefs.json", "aws-ec2-localgatewayroutetable.json", "aws-sagemaker-appimageconfig.json", + "aws-verifiedpermissions-identitysource.json", "aws-macie-session.json", "aws-applicationautoscaling-scalingpolicy.json", "aws-emr-studiosessionmapping.json", diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-model.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-model.json index d5bd5b2c83..5086400724 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-model.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-model.json @@ -25,7 +25,10 @@ "type": "string" }, "Schema": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-restapi.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-restapi.json index 76a7d9ffcc..26d3794e3b 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-restapi.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-restapi.json @@ -75,7 +75,10 @@ "uniqueItems": true }, "Body": { - "type": "object" + "type": [ + "object", + "string" + ] }, "BodyS3Location": { "$ref": "#/definitions/S3Location" @@ -116,7 +119,10 @@ "type": "object" }, "Policy": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RootResourceId": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudformation-waitcondition.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudformation-waitcondition.json index 56569e9e3d..a95be9629a 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudformation-waitcondition.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudformation-waitcondition.json @@ -8,7 +8,9 @@ "type": "integer" }, "Data": { - "type": "object" + "type": [ + "object" + ] }, "Handle": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-eks-cluster.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-eks-cluster.json deleted file mode 100644 index f90589ca3b..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-eks-cluster.json +++ /dev/null @@ -1,356 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/OutpostConfig", - "/properties/EncryptionConfig", - "/properties/KubernetesNetworkConfig", - "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", - "/properties/Name", - "/properties/RoleArn" - ], - "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" - }, - "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" - }, - "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" - ] -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-iot-policy.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-iot-policy.json index 5fe07786fe..2fe7a81560 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-iot-policy.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-iot-policy.json @@ -15,7 +15,10 @@ "type": "string" }, "PolicyDocument": { - "type": "object" + "type": [ + "object", + "string" + ] }, "PolicyName": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-opsworks-layer.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-opsworks-layer.json index 7688721865..2713480ea1 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-opsworks-layer.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-opsworks-layer.json @@ -181,7 +181,10 @@ "type": "string" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "CustomRecipes": { "$ref": "#/definitions/Recipes" diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-opsworks-stack.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-opsworks-stack.json index aac55c0767..a70f0a1a62 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-opsworks-stack.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-opsworks-stack.json @@ -148,7 +148,10 @@ "$ref": "#/definitions/Source" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DefaultAvailabilityZone": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json index 62a3797fcd..e0756eb08e 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json @@ -302,6 +302,9 @@ "EnableIAMDatabaseAuthentication": { "type": "boolean" }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, "Endpoint": { "$ref": "#/definitions/Endpoint" }, diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-globalcluster.json deleted file mode 100644 index fccf366023..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-globalcluster.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/GlobalClusterIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/Engine" - ], - "handlers": { - "create": { - "permissions": [ - "rds:CreateGlobalCluster", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters" - ] - }, - "delete": { - "permissions": [ - "rds:DescribeGlobalClusters", - "rds:DeleteGlobalCluster", - "rds:RemoveFromGlobalCluster", - "rds:DescribeDBClusters" - ] - }, - "list": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "update": { - "permissions": [ - "rds:ModifyGlobalCluster", - "rds:DescribeGlobalClusters" - ] - } - }, - "oneOf": [ - { - "required": [ - "SourceDBClusterIdentifier" - ] - }, - { - "required": [ - "Engine" - ] - } - ], - "primaryIdentifier": [ - "/properties/GlobalClusterIdentifier" - ], - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Engine": { - "enum": [ - "aurora", - "aurora-mysql", - "aurora-postgresql" - ], - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "oneOf": [ - { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$" - }, - { - "pattern": "^(?=.{40,128}$)arn.*" - } - ], - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - } - }, - "propertyTransform": { - "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)" - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::GlobalCluster" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json deleted file mode 100644 index b1615520a0..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json +++ /dev/null @@ -1,774 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AuthMode", - "/properties/DomainName", - "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", - "/properties/KmsKeyId", - "/properties/VpcId", - "/properties/Tags" - ], - "definitions": { - "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": 10, - "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" - }, - "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" - }, - "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" - } - }, - "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/il_central_1/aws-verifiedpermissions-identitysource.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-verifiedpermissions-identitysource.json deleted file mode 100644 index df3e631ae0..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-verifiedpermissions-identitysource.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyStoreId" - ], - "definitions": { - "CognitoGroupConfiguration": { - "additionalProperties": false, - "properties": { - "GroupEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^([_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*$", - "type": "string" - } - }, - "required": [ - "GroupEntityType" - ], - "type": "object" - }, - "CognitoUserPoolConfiguration": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "GroupConfiguration": { - "$ref": "#/definitions/CognitoGroupConfiguration" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "required": [ - "UserPoolArn" - ], - "type": "object" - }, - "IdentitySourceConfiguration": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "CognitoUserPoolConfiguration": { - "$ref": "#/definitions/CognitoUserPoolConfiguration" - } - }, - "required": [ - "CognitoUserPoolConfiguration" - ], - "title": "CognitoUserPoolConfiguration", - "type": "object" - } - ] - }, - "IdentitySourceDetails": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "DiscoveryUrl": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^https://.*$", - "type": "string" - }, - "OpenIdIssuer": { - "$ref": "#/definitions/OpenIdIssuer" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "type": "object" - }, - "OpenIdIssuer": { - "enum": [ - "COGNITO" - ], - "type": "string" - } - }, - "deprecatedProperties": [ - "/properties/Details" - ], - "handlers": { - "create": { - "permissions": [ - "verifiedpermissions:CreateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "delete": { - "permissions": [ - "verifiedpermissions:DeleteIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "PolicyStoreId": { - "$ref": "resource-schema.json#/properties/PolicyStoreId" - } - }, - "required": [ - "PolicyStoreId" - ] - }, - "permissions": [ - "verifiedpermissions:ListIdentitySources", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "read": { - "permissions": [ - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "update": { - "permissions": [ - "verifiedpermissions:UpdateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - } - }, - "primaryIdentifier": [ - "/properties/IdentitySourceId", - "/properties/PolicyStoreId" - ], - "properties": { - "Configuration": { - "$ref": "#/definitions/IdentitySourceConfiguration" - }, - "Details": { - "$ref": "#/definitions/IdentitySourceDetails" - }, - "IdentitySourceId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PolicyStoreId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PrincipalEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Details", - "/properties/IdentitySourceId" - ], - "required": [ - "Configuration", - "PolicyStoreId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-avp", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::VerifiedPermissions::IdentitySource" -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-model.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-model.json index d5bd5b2c83..5086400724 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-model.json +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-model.json @@ -25,7 +25,10 @@ "type": "string" }, "Schema": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-restapi.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-restapi.json index 76a7d9ffcc..26d3794e3b 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-restapi.json +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-restapi.json @@ -75,7 +75,10 @@ "uniqueItems": true }, "Body": { - "type": "object" + "type": [ + "object", + "string" + ] }, "BodyS3Location": { "$ref": "#/definitions/S3Location" @@ -116,7 +119,10 @@ "type": "object" }, "Policy": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RootResourceId": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudformation-waitcondition.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudformation-waitcondition.json index 56569e9e3d..a95be9629a 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudformation-waitcondition.json +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudformation-waitcondition.json @@ -8,7 +8,9 @@ "type": "integer" }, "Data": { - "type": "object" + "type": [ + "object" + ] }, "Handle": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-docdb-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-docdb-dbclusterparametergroup.json index a7815b3030..b3e75356b1 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-docdb-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-docdb-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-opsworks-layer.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-opsworks-layer.json index 7688721865..2713480ea1 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-opsworks-layer.json +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-opsworks-layer.json @@ -181,7 +181,10 @@ "type": "string" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "CustomRecipes": { "$ref": "#/definitions/Recipes" diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-opsworks-stack.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-opsworks-stack.json index aac55c0767..a70f0a1a62 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-opsworks-stack.json +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-opsworks-stack.json @@ -148,7 +148,10 @@ "$ref": "#/definitions/Source" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DefaultAvailabilityZone": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py index 90af3fee6e..22a22ed694 100644 --- a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py @@ -848,6 +848,7 @@ "aws-neptune-dbsubnetgroup.json", "aws-cassandra-keyspace.json", "aws-transfer-server.json", + "aws-apigateway-domainname.json", "aws-ecs-primarytaskset.json", "aws-fms-resourceset.json", "aws-cognito-userpooldomain.json", @@ -932,6 +933,7 @@ "aws-stepfunctions-statemachinealias.json", "aws-cassandra-table.json", "aws-cognito-userpoolresourceserver.json", + "aws-rds-globalcluster.json", "aws-cloudformation-moduledefaultversion.json", "aws-ce-costcategory.json", "aws-applicationsignals-servicelevelobjective.json", @@ -993,6 +995,7 @@ "aws-kinesisanalytics-applicationoutput.json", "aws-wafv2-rulegroup.json", "aws-sagemaker-modelpackagegroup.json", + "aws-ses-configurationset.json", "aws-networkfirewall-loggingconfiguration.json", "aws-glue-classifier.json", "aws-codedeploy-deploymentgroup.json", @@ -1254,6 +1257,7 @@ "aws-ec2-localgatewayroutetable.json", "aws-apigateway-resource.json", "aws-sagemaker-appimageconfig.json", + "aws-verifiedpermissions-identitysource.json", "aws-macie-session.json", "aws-elasticloadbalancingv2-targetgroup.json", "aws-applicationautoscaling-scalingpolicy.json", @@ -1492,6 +1496,7 @@ "aws-networkmanager-linkassociation.json", "aws-cognito-userpoolriskconfigurationattachment.json", "aws-pcaconnectorad-serviceprincipalname.json", + "aws-elasticbeanstalk-environment.json", "aws-cognito-userpoolclient.json", "aws-wafregional-sqlinjectionmatchset.json", "aws-lambda-version.json", diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainname.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainname.json deleted file mode 100644 index 1eb496645f..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainname.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "apigateway:*" - ] - }, - "delete": { - "permissions": [ - "apigateway:*" - ] - }, - "list": { - "permissions": [ - "apigateway:*" - ] - }, - "read": { - "permissions": [ - "apigateway:*" - ] - }, - "update": { - "permissions": [ - "apigateway:*" - ] - } - }, - "primaryIdentifier": [ - "/properties/DomainName" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DistributionDomainName": { - "type": "string" - }, - "DistributionHostedZoneId": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/MutualTlsAuthentication" - }, - "OwnershipVerificationCertificateArn": { - "type": "string" - }, - "RegionalCertificateArn": { - "type": "string" - }, - "RegionalDomainName": { - "type": "string" - }, - "RegionalHostedZoneId": { - "type": "string" - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/RegionalHostedZoneId", - "/properties/DistributionDomainName", - "/properties/RegionalDomainName", - "/properties/DistributionHostedZoneId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "typeName": "AWS::ApiGateway::DomainName" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-apigatewayv2-vpclink.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-apigatewayv2-vpclink.json index 1b5fa4c74d..7e1ebb78bc 100644 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-apigatewayv2-vpclink.json +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-apigatewayv2-vpclink.json @@ -31,7 +31,10 @@ "uniqueItems": false }, "Tags": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-elasticbeanstalk-environment.json deleted file mode 100644 index 2fa4fe9b33..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-elasticbeanstalk-environment.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CNAMEPrefix", - "/properties/EnvironmentName", - "/properties/ApplicationName", - "/properties/SolutionStackName", - "/properties/Tier/Name", - "/properties/Tier/Type" - ], - "definitions": { - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:CreateEnvironment", - "iam:PassRole" - ], - "timeoutInMinutes": 120 - }, - "delete": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:TerminateEnvironment" - ], - "timeoutInMinutes": 210 - }, - "list": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments" - ] - }, - "read": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:DescribeConfigurationSettings", - "elasticbeanstalk:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "elasticbeanstalk:DescribeEnvironments", - "elasticbeanstalk:UpdateEnvironment", - "elasticbeanstalk:UpdateTagsForResource", - "elasticbeanstalk:AssociateEnvironmentOperationsRole", - "elasticbeanstalk:DisassociateEnvironmentOperationsRole", - "iam:PassRole" - ], - "timeoutInMinutes": 300 - } - }, - "primaryIdentifier": [ - "/properties/EnvironmentName" - ], - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EndpointURL": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OperationsRole": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array", - "uniqueItems": false - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/Tier" - }, - "VersionLabel": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/EndpointURL" - ], - "required": [ - "ApplicationName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ElasticBeanstalk::Environment", - "writeOnlyProperties": [ - "/properties/TemplateName", - "/properties/OptionSettings", - "/properties/OptionSettings/*/OptionName", - "/properties/OptionSettings/*/ResourceName", - "/properties/OptionSettings/*/Namespace", - "/properties/OptionSettings/*/Value" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-globalcluster.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-globalcluster.json deleted file mode 100644 index fccf366023..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-globalcluster.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/GlobalClusterIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/StorageEncrypted", - "/properties/Engine" - ], - "handlers": { - "create": { - "permissions": [ - "rds:CreateGlobalCluster", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters" - ] - }, - "delete": { - "permissions": [ - "rds:DescribeGlobalClusters", - "rds:DeleteGlobalCluster", - "rds:RemoveFromGlobalCluster", - "rds:DescribeDBClusters" - ] - }, - "list": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeGlobalClusters" - ] - }, - "update": { - "permissions": [ - "rds:ModifyGlobalCluster", - "rds:DescribeGlobalClusters" - ] - } - }, - "oneOf": [ - { - "required": [ - "SourceDBClusterIdentifier" - ] - }, - { - "required": [ - "Engine" - ] - } - ], - "primaryIdentifier": [ - "/properties/GlobalClusterIdentifier" - ], - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Engine": { - "enum": [ - "aurora", - "aurora-mysql", - "aurora-postgresql" - ], - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "oneOf": [ - { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$" - }, - { - "pattern": "^(?=.{40,128}$)arn.*" - } - ], - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - } - }, - "propertyTransform": { - "/properties/GlobalClusterIdentifier": "$lowercase(GlobalClusterIdentifier)" - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::GlobalCluster" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ses-configurationset.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ses-configurationset.json deleted file mode 100644 index 7e6285d5ea..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-ses-configurationset.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - }, - "TlsPolicy": { - "pattern": "REQUIRE|OPTIONAL", - "type": "string" - } - }, - "type": "object" - }, - "GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "insertionOrder": false, - "items": { - "pattern": "BOUNCE|COMPLAINT", - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "type": "object" - }, - "VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/GuardianOptions" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSet" - ] - }, - "list": { - "permissions": [ - "ses:ListConfigurationSets" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSet", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:PutConfigurationSetTrackingOptions", - "ses:PutConfigurationSetDeliveryOptions", - "ses:PutConfigurationSetReputationOptions", - "ses:PutConfigurationSetSendingOptions", - "ses:PutConfigurationSetSuppressionOptions", - "ses:PutConfigurationSetVdmOptions" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/DeliveryOptions" - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{1,64}$", - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/SuppressionOptions" - }, - "TrackingOptions": { - "$ref": "#/definitions/TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/VdmOptions" - } - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSet" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-verifiedpermissions-identitysource.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-verifiedpermissions-identitysource.json deleted file mode 100644 index df3e631ae0..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-verifiedpermissions-identitysource.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyStoreId" - ], - "definitions": { - "CognitoGroupConfiguration": { - "additionalProperties": false, - "properties": { - "GroupEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^([_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*$", - "type": "string" - } - }, - "required": [ - "GroupEntityType" - ], - "type": "object" - }, - "CognitoUserPoolConfiguration": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "GroupConfiguration": { - "$ref": "#/definitions/CognitoGroupConfiguration" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "required": [ - "UserPoolArn" - ], - "type": "object" - }, - "IdentitySourceConfiguration": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "CognitoUserPoolConfiguration": { - "$ref": "#/definitions/CognitoUserPoolConfiguration" - } - }, - "required": [ - "CognitoUserPoolConfiguration" - ], - "title": "CognitoUserPoolConfiguration", - "type": "object" - } - ] - }, - "IdentitySourceDetails": { - "additionalProperties": false, - "properties": { - "ClientIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - }, - "maxItems": 1000, - "minItems": 0, - "type": "array" - }, - "DiscoveryUrl": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^https://.*$", - "type": "string" - }, - "OpenIdIssuer": { - "$ref": "#/definitions/OpenIdIssuer" - }, - "UserPoolArn": { - "maxLength": 255, - "minLength": 1, - "pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$", - "type": "string" - } - }, - "type": "object" - }, - "OpenIdIssuer": { - "enum": [ - "COGNITO" - ], - "type": "string" - } - }, - "deprecatedProperties": [ - "/properties/Details" - ], - "handlers": { - "create": { - "permissions": [ - "verifiedpermissions:CreateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "delete": { - "permissions": [ - "verifiedpermissions:DeleteIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "PolicyStoreId": { - "$ref": "resource-schema.json#/properties/PolicyStoreId" - } - }, - "required": [ - "PolicyStoreId" - ] - }, - "permissions": [ - "verifiedpermissions:ListIdentitySources", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "read": { - "permissions": [ - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - }, - "update": { - "permissions": [ - "verifiedpermissions:UpdateIdentitySource", - "verifiedpermissions:GetIdentitySource", - "cognito-idp:DescribeUserPool", - "cognito-idp:ListUserPoolClients" - ] - } - }, - "primaryIdentifier": [ - "/properties/IdentitySourceId", - "/properties/PolicyStoreId" - ], - "properties": { - "Configuration": { - "$ref": "#/definitions/IdentitySourceConfiguration" - }, - "Details": { - "$ref": "#/definitions/IdentitySourceDetails" - }, - "IdentitySourceId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PolicyStoreId": { - "maxLength": 200, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "PrincipalEntityType": { - "maxLength": 200, - "minLength": 1, - "pattern": "^.*$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Details", - "/properties/IdentitySourceId" - ], - "required": [ - "Configuration", - "PolicyStoreId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-avp", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::VerifiedPermissions::IdentitySource" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py index 92d6e6de46..f2cacd64ca 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py @@ -1061,6 +1061,7 @@ "aws-route53-dnssec.json", "aws-redshift-endpointauthorization.json", "aws-ec2-transitgatewayroutetable.json", + "aws-controltower-enabledcontrol.json", "aws-s3-accessgrantsinstance.json", "aws-macie-customdataidentifier.json", "aws-securitylake-subscribernotification.json", @@ -1224,6 +1225,7 @@ "aws-kinesisanalytics-applicationoutput.json", "aws-wafv2-rulegroup.json", "aws-sagemaker-modelpackagegroup.json", + "aws-ses-configurationset.json", "aws-elasticache-parametergroup.json", "aws-networkfirewall-loggingconfiguration.json", "aws-glue-classifier.json", @@ -1444,9 +1446,9 @@ "aws-systemsmanagersap-application.json", "aws-dms-replicationtask.json", "aws-ec2-routetable.json", - "aws-mediaconnect-gateway.json", "aws-rds-dbproxyendpoint.json", "aws-datasync-locationsmb.json", + "aws-resiliencehub-app.json", "aws-securityhub-standard.json", "aws-rolesanywhere-crl.json", "aws-sns-topicinlinepolicy.json", @@ -1833,7 +1835,6 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-databrew-job.json", "aws-ec2-transitgatewaypeeringattachment.json", - "aws-ecr-repositorycreationtemplate.json", "aws-quicksight-template.json", "aws-iotwireless-fuotatask.json", "aws-cloudfront-cachepolicy.json", diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-controltower-enabledcontrol.json deleted file mode 100644 index 75018496ac..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-controltower-enabledcontrol.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/TargetIdentifier", - "/properties/ControlIdentifier" - ], - "definitions": { - "EnabledControlParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:GetControlOperation", - "controltower:EnableControl", - "controltower:TagResource", - "organizations:UpdatePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - }, - "delete": { - "permissions": [ - "controltower:GetControlOperation", - "controltower:DisableControl", - "organizations:UpdatePolicy", - "organizations:DeletePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "TargetIdentifier": { - "$ref": "resource-schema.json#/properties/TargetIdentifier" - } - }, - "required": [ - "TargetIdentifier" - ] - }, - "permissions": [ - "controltower:ListEnabledControls" - ] - }, - "read": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:GetControlOperation", - "controltower:UpdateEnabledControl", - "controltower:UntagResource", - "controltower:TagResource", - "organizations:UpdatePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/TargetIdentifier", - "/properties/ControlIdentifier" - ], - "properties": { - "ControlIdentifier": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$", - "type": "string" - }, - "Parameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EnabledControlParameter" - }, - "minItems": 1, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "TargetIdentifier": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$", - "type": "string" - } - }, - "required": [ - "TargetIdentifier", - "ControlIdentifier" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ControlTower::EnabledControl" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-docdb-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-docdb-dbclusterparametergroup.json index a7815b3030..b3e75356b1 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-docdb-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-docdb-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-ecr-repositorycreationtemplate.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-ecr-repositorycreationtemplate.json new file mode 100644 index 0000000000..57b0b79095 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-ecr-repositorycreationtemplate.json @@ -0,0 +1,168 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Prefix" + ], + "definitions": { + "AppliedForItem": { + "enum": [ + "REPLICATION", + "PULL_THROUGH_CACHE" + ], + "type": "string" + }, + "EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "$ref": "#/definitions/EncryptionType" + }, + "KmsKey": { + "$ref": "#/definitions/KmsKey" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "EncryptionType": { + "enum": [ + "AES256", + "KMS" + ], + "type": "string" + }, + "KmsKey": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "ecr:CreateRepositoryCreationTemplate", + "ecr:PutLifecyclePolicy", + "ecr:SetRepositoryPolicy", + "ecr:CreateRepository", + "iam:CreateServiceLinkedRole" + ] + }, + "delete": { + "permissions": [ + "ecr:DeleteRepositoryCreationTemplate" + ] + }, + "list": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates" + ] + }, + "read": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates" + ] + }, + "update": { + "permissions": [ + "ecr:DescribeRepositoryCreationTemplates", + "ecr:UpdateRepositoryCreationTemplate", + "ecr:PutLifecyclePolicy", + "ecr:SetRepositoryPolicy", + "ecr:CreateRepository", + "iam:CreateServiceLinkedRole" + ] + } + }, + "primaryIdentifier": [ + "/properties/Prefix" + ], + "properties": { + "AppliedFor": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppliedForItem" + }, + "type": "array", + "uniqueItems": true + }, + "CreatedAt": { + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/EncryptionConfiguration" + }, + "ImageTagMutability": { + "enum": [ + "MUTABLE", + "IMMUTABLE" + ], + "type": "string" + }, + "LifecyclePolicy": { + "maxLength": 30720, + "minLength": 100, + "type": "string" + }, + "Prefix": { + "maxLength": 256, + "minLength": 1, + "pattern": "^((?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*/?|ROOT)$", + "type": "string" + }, + "RepositoryPolicy": { + "type": "string" + }, + "ResourceTags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UpdatedAt": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/UpdatedAt" + ], + "required": [ + "Prefix", + "AppliedFor" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecr.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::ECR::RepositoryCreationTemplate" +} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-mediaconnect-gateway.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-mediaconnect-gateway.json new file mode 100644 index 0000000000..283caabff1 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-mediaconnect-gateway.json @@ -0,0 +1,104 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/EgressCidrBlocks", + "/properties/Networks" + ], + "definitions": { + "GatewayNetwork": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name", + "CidrBlock" + ], + "type": "object" + } + }, + "handlers": { + "create": { + "permissions": [ + "iam:CreateServiceLinkedRole", + "mediaconnect:CreateGateway", + "mediaconnect:DescribeGateway" + ] + }, + "delete": { + "permissions": [ + "iam:CreateServiceLinkedRole", + "mediaconnect:DescribeGateway", + "mediaconnect:DeleteGateway" + ] + }, + "list": { + "permissions": [ + "mediaconnect:ListGateways" + ] + }, + "read": { + "permissions": [ + "mediaconnect:DescribeGateway" + ] + } + }, + "primaryIdentifier": [ + "/properties/GatewayArn" + ], + "properties": { + "EgressCidrBlocks": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array" + }, + "GatewayArn": { + "type": "string" + }, + "GatewayState": { + "enum": [ + "CREATING", + "ACTIVE", + "UPDATING", + "ERROR", + "DELETING", + "DELETED" + ], + "type": "string" + }, + "Name": { + "type": "string" + }, + "Networks": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/GatewayNetwork" + }, + "maxItems": 4, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/GatewayArn", + "/properties/GatewayState" + ], + "required": [ + "Name", + "EgressCidrBlocks", + "Networks" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-mediaconnect.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::MediaConnect::Gateway" +} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-resiliencehub-app.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-resiliencehub-app.json deleted file mode 100644 index 0c20764ed8..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-resiliencehub-app.json +++ /dev/null @@ -1,288 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "EventSubscription": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "ScheduledAssessmentFailure", - "DriftDetected" - ], - "type": "string" - }, - "Name": { - "maxLength": 256, - "type": "string" - }, - "SnsTopicArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+.-]{0,1023}$", - "type": "string" - } - }, - "required": [ - "Name", - "EventType" - ], - "type": "object" - }, - "IamRoleArn": { - "pattern": "arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):iam::[0-9]{12}:role\\/(([\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}$", - "type": "string" - }, - "PermissionModel": { - "additionalProperties": false, - "properties": { - "CrossAccountRoleArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/IamRoleArn" - }, - "type": "array", - "uniqueItems": false - }, - "InvokerRoleName": { - "pattern": "((\\u002F[\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}", - "type": "string" - }, - "Type": { - "enum": [ - "LegacyIAMUser", - "RoleBased" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PhysicalResourceId": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "pattern": "^[0-9]{12}$", - "type": "string" - }, - "AwsRegion": { - "pattern": "^[a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]$", - "type": "string" - }, - "Identifier": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Type": { - "pattern": "Arn|Native", - "type": "string" - } - }, - "required": [ - "Identifier", - "Type" - ], - "type": "object" - }, - "ResourceMapping": { - "additionalProperties": false, - "properties": { - "EksSourceName": { - "type": "string" - }, - "LogicalStackName": { - "type": "string" - }, - "MappingType": { - "pattern": "CfnStack|Resource|Terraform|EKS", - "type": "string" - }, - "PhysicalResourceId": { - "$ref": "#/definitions/PhysicalResourceId" - }, - "ResourceName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "TerraformSourceName": { - "type": "string" - } - }, - "required": [ - "MappingType", - "PhysicalResourceId" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "patternProperties": { - ".{1,128}": { - "$ref": "#/definitions/TagValue" - } - }, - "type": "object" - }, - "TagValue": { - "maxLength": 256, - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - }, - "delete": { - "permissions": [ - "resiliencehub:DeleteApp", - "resiliencehub:UntagResource", - "resiliencehub:ListApps" - ] - }, - "list": { - "permissions": [ - "resiliencehub:ListApps" - ] - }, - "read": { - "permissions": [ - "resiliencehub:DescribeApp", - "resiliencehub:DescribeAppVersionTemplate", - "resiliencehub:ListAppVersionResourceMappings", - "resiliencehub:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - } - }, - "primaryIdentifier": [ - "/properties/AppArn" - ], - "properties": { - "AppArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "AppAssessmentSchedule": { - "enum": [ - "Disabled", - "Daily" - ], - "type": "string" - }, - "AppTemplateBody": { - "maxLength": 409600, - "minLength": 0, - "pattern": "^[\\w\\s:,-\\.'\\/{}\\[\\]:\"]+$", - "type": "string" - }, - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "DriftStatus": { - "enum": [ - "NotChecked", - "NotDetected", - "Detected" - ], - "type": "string" - }, - "EventSubscriptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EventSubscription" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "PermissionModel": { - "$ref": "#/definitions/PermissionModel" - }, - "ResiliencyPolicyArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "ResourceMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceMapping" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "$ref": "#/definitions/TagMap" - } - }, - "readOnlyProperties": [ - "/properties/AppArn", - "/properties/DriftStatus" - ], - "required": [ - "Name", - "AppTemplateBody", - "ResourceMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-resiliencehub", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ResilienceHub::App" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-ses-configurationset.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-ses-configurationset.json deleted file mode 100644 index 7e6285d5ea..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-ses-configurationset.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - }, - "TlsPolicy": { - "pattern": "REQUIRE|OPTIONAL", - "type": "string" - } - }, - "type": "object" - }, - "GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "insertionOrder": false, - "items": { - "pattern": "BOUNCE|COMPLAINT", - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "type": "object" - }, - "VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/GuardianOptions" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSet" - ] - }, - "list": { - "permissions": [ - "ses:ListConfigurationSets" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSet", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:PutConfigurationSetTrackingOptions", - "ses:PutConfigurationSetDeliveryOptions", - "ses:PutConfigurationSetReputationOptions", - "ses:PutConfigurationSetSendingOptions", - "ses:PutConfigurationSetSuppressionOptions", - "ses:PutConfigurationSetVdmOptions" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/DeliveryOptions" - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{1,64}$", - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/SuppressionOptions" - }, - "TrackingOptions": { - "$ref": "#/definitions/TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/VdmOptions" - } - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSet" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-waitcondition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-waitcondition.json index 61f292e721..0660996701 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-waitcondition.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-waitcondition.json @@ -8,7 +8,9 @@ "type": "integer" }, "Data": { - "type": "object" + "type": [ + "object" + ] }, "Handle": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-codepipeline-pipeline.json index c30673ec3d..288daa81a1 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-codepipeline-pipeline.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-codepipeline-pipeline.json @@ -11,7 +11,10 @@ "$ref": "#/definitions/ActionTypeId" }, "Configuration": { - "type": "object" + "type": [ + "object", + "string" + ] }, "InputArtifacts": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cognito-identitypool.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cognito-identitypool.json index 63147e3368..27440ea263 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cognito-identitypool.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cognito-identitypool.json @@ -98,7 +98,10 @@ "type": "boolean" }, "CognitoEvents": { - "type": "object" + "type": [ + "object", + "string" + ] }, "CognitoIdentityProviders": { "insertionOrder": false, @@ -143,7 +146,10 @@ "uniqueItems": false }, "SupportedLoginProviders": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-controltower-enabledcontrol.json index 1999a1aacf..cae81c46bc 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-dlm-lifecyclepolicy.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-dlm-lifecyclepolicy.json index 193cdf090a..80e7e58b3d 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-dlm-lifecyclepolicy.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-dlm-lifecyclepolicy.json @@ -159,7 +159,10 @@ "type": "object" }, "CrossRegionCopyTargets": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DeprecateRule": { "additionalProperties": false, @@ -230,10 +233,16 @@ "type": "object" }, "ExcludeTags": { - "type": "object" + "type": [ + "object", + "string" + ] }, "ExcludeVolumeTypesList": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Exclusions": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-docdb-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-docdb-dbclusterparametergroup.json index ba36753546..0b881de5f6 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-docdb-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-docdb-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotanalytics-channel.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotanalytics-channel.json index 35f748c442..0283ba3ed1 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotanalytics-channel.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotanalytics-channel.json @@ -58,7 +58,10 @@ "type": "object" }, "ServiceManagedS3": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tag": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotanalytics-datastore.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotanalytics-datastore.json index 71645fa464..b915db1b0e 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iotanalytics-datastore.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iotanalytics-datastore.json @@ -133,7 +133,10 @@ "type": "object" }, "JsonConfiguration": { - "type": "object" + "type": [ + "object", + "string" + ] }, "ParquetConfiguration": { "additionalProperties": false, @@ -188,7 +191,10 @@ "type": "object" }, "ServiceManagedS3": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tag": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-permissions.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-permissions.json index d3ca548d76..00f5a8a794 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-permissions.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-permissions.json @@ -88,7 +88,10 @@ "type": "object" }, "TableWildcard": { - "type": "object" + "type": [ + "object", + "string" + ] }, "TableWithColumnsResource": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-principalpermissions.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-principalpermissions.json index a01ab6445c..a41ac0fd61 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-principalpermissions.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-principalpermissions.json @@ -346,7 +346,10 @@ "type": "object" }, "TableWildcard": { - "type": "object" + "type": [ + "object", + "string" + ] }, "TableWithColumnsResource": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-tagassociation.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-tagassociation.json index 078a320a3c..4d69417ad5 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-tagassociation.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-lakeformation-tagassociation.json @@ -140,7 +140,10 @@ "type": "object" }, "TableWildcard": { - "type": "object" + "type": [ + "object", + "string" + ] }, "TableWithColumnsResource": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-channel.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-channel.json index b8e9b541f9..3318906a75 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-channel.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-channel.json @@ -137,10 +137,16 @@ "type": "object" }, "AribDestinationSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "AribSourceSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "AudioChannelMapping": { "additionalProperties": false, @@ -749,10 +755,16 @@ "type": "object" }, "ColorSpacePassthroughSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DolbyVision81Settings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DvbNitSettings": { "additionalProperties": false, @@ -977,10 +989,16 @@ "type": "object" }, "EmbeddedDestinationSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "EmbeddedPlusScte20DestinationSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "EmbeddedSourceSettings": { "additionalProperties": false, @@ -1188,7 +1206,10 @@ "type": "object" }, "FrameCaptureHlsSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "FrameCaptureOutputSettings": { "additionalProperties": false, @@ -1880,7 +1901,10 @@ "type": "object" }, "HtmlMotionGraphicsSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "InputAttachment": { "additionalProperties": false, @@ -2272,7 +2296,10 @@ "type": "object" }, "MediaPackageOutputSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "MotionGraphicsConfiguration": { "additionalProperties": false, @@ -2452,7 +2479,10 @@ "type": "object" }, "MultiplexGroupSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "MultiplexOutputSettings": { "additionalProperties": false, @@ -2724,19 +2754,34 @@ "type": "object" }, "PassThroughSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "PipelineLockingSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RawSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Rec601Settings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Rec709Settings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RemixSettings": { "additionalProperties": false, @@ -2758,7 +2803,10 @@ "type": "object" }, "RtmpCaptionInfoDestinationSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RtmpGroupSettings": { "additionalProperties": false, @@ -2813,7 +2861,10 @@ "type": "object" }, "Scte20PlusEmbeddedDestinationSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Scte20SourceSettings": { "additionalProperties": false, @@ -2828,7 +2879,10 @@ "type": "object" }, "Scte27DestinationSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Scte27SourceSettings": { "additionalProperties": false, @@ -2873,7 +2927,10 @@ "type": "object" }, "SmpteTtDestinationSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "StandardHlsSettings": { "additionalProperties": false, @@ -2900,7 +2957,10 @@ "type": "object" }, "TeletextDestinationSettings": { - "type": "object" + "type": [ + "object", + "string" + ] }, "TeletextSourceSettings": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-neptune-dbclusterparametergroup.json index 59272dc2fa..9302ad6d5e 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-neptune-dbparametergroup.json index fa0daf9ff7..02835d0d26 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-opsworks-layer.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-opsworks-layer.json index 8c82d08581..3d9a8bb659 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-opsworks-layer.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-opsworks-layer.json @@ -181,7 +181,10 @@ "type": "string" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "CustomRecipes": { "$ref": "#/definitions/Recipes" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-opsworks-stack.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-opsworks-stack.json index 8eadf8a49b..c654f7d9ea 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-opsworks-stack.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-opsworks-stack.json @@ -148,7 +148,10 @@ "$ref": "#/definitions/Source" }, "CustomJson": { - "type": "object" + "type": [ + "object", + "string" + ] }, "DefaultAvailabilityZone": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-pinpoint-app.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-pinpoint-app.json index a7038f5ba5..99e760001f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-pinpoint-app.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-pinpoint-app.json @@ -17,7 +17,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-pinpoint-segment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-pinpoint-segment.json index 62b36b5765..71733a1a7c 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-pinpoint-segment.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-pinpoint-segment.json @@ -127,7 +127,10 @@ "additionalProperties": false, "properties": { "Attributes": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Behavior": { "$ref": "#/definitions/Behavior" @@ -139,10 +142,16 @@ "$ref": "#/definitions/Location" }, "Metrics": { - "type": "object" + "type": [ + "object", + "string" + ] }, "UserAttributes": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "type": "object" @@ -218,7 +227,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-plugin.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-plugin.json index 376aa802df..21b8251e2f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-plugin.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-qbusiness-plugin.json @@ -86,7 +86,10 @@ "type": "object" }, "NoAuthConfiguration": { - "type": "object" + "type": [ + "object", + "string" + ] }, "OAuth2ClientCredentialConfiguration": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-analysis.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-analysis.json index 1af49a9790..f5ac271c04 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-analysis.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-analysis.json @@ -43,7 +43,10 @@ "type": "object" }, "AllSheetsFilterScopeConfiguration": { - "type": "object" + "type": [ + "object", + "string" + ] }, "AnalysisDefaults": { "additionalProperties": false, @@ -316,7 +319,10 @@ "type": "object" }, "AxisDisplayDataDrivenRange": { - "type": "object" + "type": [ + "object", + "string" + ] }, "AxisDisplayMinMaxRange": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dashboard.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dashboard.json index 679fa5eb32..363e0544b9 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dashboard.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dashboard.json @@ -52,7 +52,10 @@ "type": "object" }, "AllSheetsFilterScopeConfiguration": { - "type": "object" + "type": [ + "object", + "string" + ] }, "AnalysisDefaults": { "additionalProperties": false, @@ -197,7 +200,10 @@ "type": "object" }, "AxisDisplayDataDrivenRange": { - "type": "object" + "type": [ + "object", + "string" + ] }, "AxisDisplayMinMaxRange": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-template.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-template.json index 7d65cd7e42..1580a87bfd 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-template.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-template.json @@ -43,7 +43,10 @@ "type": "object" }, "AllSheetsFilterScopeConfiguration": { - "type": "object" + "type": [ + "object", + "string" + ] }, "AnalysisDefaults": { "additionalProperties": false, @@ -188,7 +191,10 @@ "type": "object" }, "AxisDisplayDataDrivenRange": { - "type": "object" + "type": [ + "object", + "string" + ] }, "AxisDisplayMinMaxRange": { "additionalProperties": false, diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigateway-model.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigateway-model.json index c17fb93fff..8122317a63 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigateway-model.json +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigateway-model.json @@ -25,7 +25,10 @@ "type": "string" }, "Schema": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigateway-restapi.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigateway-restapi.json index 76a7d9ffcc..26d3794e3b 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigateway-restapi.json +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigateway-restapi.json @@ -75,7 +75,10 @@ "uniqueItems": true }, "Body": { - "type": "object" + "type": [ + "object", + "string" + ] }, "BodyS3Location": { "$ref": "#/definitions/S3Location" @@ -116,7 +119,10 @@ "type": "object" }, "Policy": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RootResourceId": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigatewayv2-vpclink.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigatewayv2-vpclink.json index 1b5fa4c74d..7e1ebb78bc 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigatewayv2-vpclink.json +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigatewayv2-vpclink.json @@ -31,7 +31,10 @@ "uniqueItems": false }, "Tags": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-codepipeline-pipeline.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-codepipeline-pipeline.json index 97d26f6088..4575c69e2a 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-codepipeline-pipeline.json +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-codepipeline-pipeline.json @@ -11,7 +11,10 @@ "$ref": "#/definitions/ActionTypeId" }, "Configuration": { - "type": "object" + "type": [ + "object", + "string" + ] }, "InputArtifacts": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-docdb-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-docdb-dbclusterparametergroup.json index a7815b3030..b3e75356b1 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-docdb-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-docdb-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-model.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-model.json index c17fb93fff..8122317a63 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-model.json +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-model.json @@ -25,7 +25,10 @@ "type": "string" }, "Schema": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-restapi.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-restapi.json index 76a7d9ffcc..26d3794e3b 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-restapi.json +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-restapi.json @@ -75,7 +75,10 @@ "uniqueItems": true }, "Body": { - "type": "object" + "type": [ + "object", + "string" + ] }, "BodyS3Location": { "$ref": "#/definitions/S3Location" @@ -116,7 +119,10 @@ "type": "object" }, "Policy": { - "type": "object" + "type": [ + "object", + "string" + ] }, "RootResourceId": { "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigatewayv2-vpclink.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigatewayv2-vpclink.json index 1b5fa4c74d..7e1ebb78bc 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigatewayv2-vpclink.json +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigatewayv2-vpclink.json @@ -31,7 +31,10 @@ "uniqueItems": false }, "Tags": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-controltower-enabledcontrol.json index 75018496ac..fcd9f3325b 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-controltower-enabledcontrol.json +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-controltower-enabledcontrol.json @@ -12,40 +12,22 @@ "type": "string" }, "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } + "insertionOrder": false, + "items": { + "type": [ + "string", + "number", + "object", + "boolean" + ] + }, + "minItems": 1, + "type": [ + "array", + "string", + "number", + "object", + "boolean" ] } }, diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-docdb-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-docdb-dbclusterparametergroup.json index a7815b3030..b3e75356b1 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-docdb-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-docdb-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-pinpoint-app.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-pinpoint-app.json index af8ce90d32..444ed27dd6 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-pinpoint-app.json +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-pinpoint-app.json @@ -17,7 +17,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-pinpoint-segment.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-pinpoint-segment.json index 6ea1a3f3a5..3763227d9e 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-pinpoint-segment.json +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-pinpoint-segment.json @@ -127,7 +127,10 @@ "additionalProperties": false, "properties": { "Attributes": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Behavior": { "$ref": "#/definitions/Behavior" @@ -139,10 +142,16 @@ "$ref": "#/definitions/Location" }, "Metrics": { - "type": "object" + "type": [ + "object", + "string" + ] }, "UserAttributes": { - "type": "object" + "type": [ + "object", + "string" + ] } }, "type": "object" @@ -218,7 +227,9 @@ "type": "string" }, "Tags": { - "type": "object" + "type": [ + "object" + ] } }, "readOnlyProperties": [ diff --git a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py index 350724f734..32ef300501 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py @@ -968,6 +968,7 @@ "aws-amplify-branch.json", "aws-kafkaconnect-workerconfiguration.json", "aws-redshift-clustersubnetgroup.json", + "aws-rds-dbinstance.json", "aws-ec2-vpcdhcpoptionsassociation.json", "aws-apigateway-model.json", "aws-apigatewayv2-integrationresponse.json", @@ -1011,6 +1012,7 @@ "aws-route53-dnssec.json", "aws-redshift-endpointauthorization.json", "aws-ec2-transitgatewayroutetable.json", + "aws-controltower-enabledcontrol.json", "aws-networkmanager-connectattachment.json", "aws-s3-accessgrantsinstance.json", "aws-macie-customdataidentifier.json", @@ -1169,6 +1171,7 @@ "aws-kinesisanalytics-applicationoutput.json", "aws-wafv2-rulegroup.json", "aws-sagemaker-modelpackagegroup.json", + "aws-ses-configurationset.json", "aws-networkfirewall-loggingconfiguration.json", "aws-glue-classifier.json", "aws-codedeploy-deploymentgroup.json", @@ -1288,6 +1291,7 @@ "aws-amplify-domain.json", "aws-kinesisanalyticsv2-applicationoutput.json", "aws-securityhub-configurationpolicy.json", + "aws-sagemaker-domain.json", "aws-greengrass-coredefinitionversion.json", "aws-certificatemanager-certificate.json", "aws-glue-schemaversionmetadata.json", @@ -1375,6 +1379,7 @@ "aws-ec2-routetable.json", "aws-rds-dbproxyendpoint.json", "aws-datasync-locationsmb.json", + "aws-resiliencehub-app.json", "aws-securityhub-standard.json", "aws-rolesanywhere-crl.json", "aws-sns-topicinlinepolicy.json", @@ -1450,6 +1455,7 @@ "aws-securitylake-datalake.json", "aws-codepipeline-webhook.json", "aws-apigatewayv2-domainname.json", + "aws-rds-dbcluster.json", "aws-servicecatalog-resourceupdateconstraint.json", "aws-transfer-agreement.json", "aws-chatbot-slackchannelconfiguration.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-controltower-enabledcontrol.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-controltower-enabledcontrol.json deleted file mode 100644 index 75018496ac..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-controltower-enabledcontrol.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/TargetIdentifier", - "/properties/ControlIdentifier" - ], - "definitions": { - "EnabledControlParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "anyOf": [ - { - "insertionOrder": false, - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - }, - "minItems": 1, - "type": "array" - }, - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "boolean" - } - ] - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:GetControlOperation", - "controltower:EnableControl", - "controltower:TagResource", - "organizations:UpdatePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - }, - "delete": { - "permissions": [ - "controltower:GetControlOperation", - "controltower:DisableControl", - "organizations:UpdatePolicy", - "organizations:DeletePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "TargetIdentifier": { - "$ref": "resource-schema.json#/properties/TargetIdentifier" - } - }, - "required": [ - "TargetIdentifier" - ] - }, - "permissions": [ - "controltower:ListEnabledControls" - ] - }, - "read": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "controltower:ListEnabledControls", - "controltower:GetEnabledControl", - "controltower:GetControlOperation", - "controltower:UpdateEnabledControl", - "controltower:UntagResource", - "controltower:TagResource", - "organizations:UpdatePolicy", - "organizations:CreatePolicy", - "organizations:AttachPolicy", - "organizations:DetachPolicy", - "organizations:ListPoliciesForTarget", - "organizations:ListTargetsForPolicy", - "organizations:DescribePolicy" - ] - } - }, - "primaryIdentifier": [ - "/properties/TargetIdentifier", - "/properties/ControlIdentifier" - ], - "properties": { - "ControlIdentifier": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$", - "type": "string" - }, - "Parameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EnabledControlParameter" - }, - "minItems": 1, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "TargetIdentifier": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[0-9a-zA-Z_\\-:\\/]+$", - "type": "string" - } - }, - "required": [ - "TargetIdentifier", - "ControlIdentifier" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-controltower", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ControlTower::EnabledControl" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-neptune-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-neptune-dbclusterparametergroup.json index 5fb55df453..342bd6c0d3 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-neptune-dbclusterparametergroup.json +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-neptune-dbclusterparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-neptune-dbparametergroup.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-neptune-dbparametergroup.json index 7fdfd03c3a..682c0be2c3 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-neptune-dbparametergroup.json +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-neptune-dbparametergroup.json @@ -40,7 +40,10 @@ "type": "string" }, "Parameters": { - "type": "object" + "type": [ + "object", + "string" + ] }, "Tags": { "items": { diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json deleted file mode 100644 index e0756eb08e..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json +++ /dev/null @@ -1,503 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Engine", - "/properties/GlobalClusterIdentifier", - "/properties/MasterUsername" - ], - "createOnlyProperties": [ - "/properties/AvailabilityZones", - "/properties/DBClusterIdentifier", - "/properties/DBSubnetGroupName", - "/properties/DBSystemId", - "/properties/DatabaseName", - "/properties/EngineMode", - "/properties/KmsKeyId", - "/properties/PubliclyAccessible", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/StorageEncrypted", - "/properties/UseLatestRestorableTime" - ], - "definitions": { - "DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "type": "object" - }, - "ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - } - }, - "type": "object" - }, - "ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "MinCapacity": { - "type": "integer" - }, - "SecondsBeforeTimeout": { - "type": "integer" - }, - "SecondsUntilAutoPause": { - "type": "integer" - }, - "TimeoutAction": { - "type": "string" - } - }, - "type": "object" - }, - "ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:CreateDBCluster", - "rds:CreateDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeEvents", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:RestoreDBClusterFromSnapshot", - "rds:RestoreDBClusterToPointInTime", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "rds:CreateDBClusterSnapshot", - "rds:DeleteDBCluster", - "rds:DeleteDBInstance", - "rds:DescribeDBClusters", - "rds:DescribeGlobalClusters", - "rds:RemoveFromGlobalCluster" - ] - }, - "list": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "read": { - "permissions": [ - "rds:DescribeDBClusters" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeSecurityGroups", - "iam:PassRole", - "rds:AddRoleToDBCluster", - "rds:AddTagsToResource", - "rds:DescribeDBClusters", - "rds:DescribeDBSubnetGroups", - "rds:DescribeEvents", - "rds:DescribeGlobalClusters", - "rds:DisableHttpEndpoint", - "rds:EnableHttpEndpoint", - "rds:ModifyDBCluster", - "rds:ModifyDBInstance", - "rds:RemoveFromGlobalCluster", - "rds:RemoveRoleFromDBCluster", - "rds:RemoveTagsFromResource", - "secretsmanager:CreateSecret", - "secretsmanager:TagResource" - ], - "timeoutInMinutes": 2160 - } - }, - "primaryIdentifier": [ - "/properties/DBClusterIdentifier" - ], - "properties": { - "AllocatedStorage": { - "type": "integer" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/DBClusterRole" - }, - "type": "array", - "uniqueItems": true - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BacktrackWindow": { - "default": 0, - "minimum": 0, - "type": "integer" - }, - "BackupRetentionPeriod": { - "default": 1, - "maximum": 35, - "minimum": 1, - "type": "integer" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterArn": { - "type": "string" - }, - "DBClusterIdentifier": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "DBClusterInstanceClass": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "default": "default.aurora5.6", - "type": "string" - }, - "DBClusterResourceId": { - "type": "string" - }, - "DBInstanceParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DBSystemId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "EnableGlobalWriteForwarding": { - "type": "boolean" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "EngineLifecycleSupport": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "maxLength": 63, - "minLength": 0, - "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "ManageMasterUserPassword": { - "type": "boolean" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/MasterUserSecret" - }, - "MasterUsername": { - "minLength": 1, - "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "type": "string" - }, - "MonitoringInterval": { - "default": 0, - "type": "integer" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "NetworkType": { - "type": "string" - }, - "PerformanceInsightsEnabled": { - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReadEndpoint": { - "$ref": "#/definitions/ReadEndpoint" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "default": "full-copy", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageThroughput": { - "type": "integer" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::EC2::SecurityGroup" - } - } - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType": "$lowercase(StorageType)" - }, - "readOnlyProperties": [ - "/properties/DBClusterArn", - "/properties/DBClusterResourceId", - "/properties/Endpoint", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReadEndpoint/Address", - "/properties/MasterUserSecret/SecretArn", - "/properties/StorageThroughput" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBCluster", - "writeOnlyProperties": [ - "/properties/DBInstanceParameterGroupName", - "/properties/MasterUserPassword", - "/properties/RestoreToTime", - "/properties/RestoreType", - "/properties/SnapshotIdentifier", - "/properties/SourceDBClusterIdentifier", - "/properties/SourceRegion", - "/properties/UseLatestRestorableTime" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbinstance.json deleted file mode 100644 index d92125d3b5..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbinstance.json +++ /dev/null @@ -1,670 +0,0 @@ -{ - "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": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "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": { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::RDS::DBSecurityGroup" - }, - "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": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "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": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - } - ], - "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": { - "relationshipRef": { - "propertyPath": "/properties/GroupId", - "typeName": "AWS::EC2::SecurityGroup" - }, - "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/us_west_1/aws-resiliencehub-app.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-resiliencehub-app.json deleted file mode 100644 index 0c20764ed8..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-resiliencehub-app.json +++ /dev/null @@ -1,288 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "EventSubscription": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "ScheduledAssessmentFailure", - "DriftDetected" - ], - "type": "string" - }, - "Name": { - "maxLength": 256, - "type": "string" - }, - "SnsTopicArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+.-]{0,1023}$", - "type": "string" - } - }, - "required": [ - "Name", - "EventType" - ], - "type": "object" - }, - "IamRoleArn": { - "pattern": "arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):iam::[0-9]{12}:role\\/(([\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}$", - "type": "string" - }, - "PermissionModel": { - "additionalProperties": false, - "properties": { - "CrossAccountRoleArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/IamRoleArn" - }, - "type": "array", - "uniqueItems": false - }, - "InvokerRoleName": { - "pattern": "((\\u002F[\\u0021-\\u007E]+\\u002F){1,511})?[A-Za-z0-9+=,.@_/-]{1,64}", - "type": "string" - }, - "Type": { - "enum": [ - "LegacyIAMUser", - "RoleBased" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PhysicalResourceId": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "pattern": "^[0-9]{12}$", - "type": "string" - }, - "AwsRegion": { - "pattern": "^[a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]$", - "type": "string" - }, - "Identifier": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Type": { - "pattern": "Arn|Native", - "type": "string" - } - }, - "required": [ - "Identifier", - "Type" - ], - "type": "object" - }, - "ResourceMapping": { - "additionalProperties": false, - "properties": { - "EksSourceName": { - "type": "string" - }, - "LogicalStackName": { - "type": "string" - }, - "MappingType": { - "pattern": "CfnStack|Resource|Terraform|EKS", - "type": "string" - }, - "PhysicalResourceId": { - "$ref": "#/definitions/PhysicalResourceId" - }, - "ResourceName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "TerraformSourceName": { - "type": "string" - } - }, - "required": [ - "MappingType", - "PhysicalResourceId" - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "patternProperties": { - ".{1,128}": { - "$ref": "#/definitions/TagValue" - } - }, - "type": "object" - }, - "TagValue": { - "maxLength": 256, - "type": "string" - } - }, - "handlers": { - "create": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - }, - "delete": { - "permissions": [ - "resiliencehub:DeleteApp", - "resiliencehub:UntagResource", - "resiliencehub:ListApps" - ] - }, - "list": { - "permissions": [ - "resiliencehub:ListApps" - ] - }, - "read": { - "permissions": [ - "resiliencehub:DescribeApp", - "resiliencehub:DescribeAppVersionTemplate", - "resiliencehub:ListAppVersionResourceMappings", - "resiliencehub:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "cloudformation:DescribeStacks", - "cloudformation:ListStackResources", - "s3:GetBucketLocation", - "s3:GetObject", - "s3:ListAllMyBuckets", - "autoscaling:DescribeAutoScalingGroups", - "apigateway:GET", - "ec2:Describe*", - "ecs:DescribeServices", - "eks:DescribeCluster", - "elasticfilesystem:DescribeFileSystems", - "elasticloadbalancing:DescribeLoadBalancers", - "lambda:GetFunction*", - "rds:Describe*", - "dynamodb:Describe*", - "sqs:GetQueueAttributes", - "sns:GetTopicAttributes", - "route53:List*", - "iam:PassRole", - "resiliencehub:*" - ] - } - }, - "primaryIdentifier": [ - "/properties/AppArn" - ], - "properties": { - "AppArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "AppAssessmentSchedule": { - "enum": [ - "Disabled", - "Daily" - ], - "type": "string" - }, - "AppTemplateBody": { - "maxLength": 409600, - "minLength": 0, - "pattern": "^[\\w\\s:,-\\.'\\/{}\\[\\]:\"]+$", - "type": "string" - }, - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "DriftStatus": { - "enum": [ - "NotChecked", - "NotDetected", - "Detected" - ], - "type": "string" - }, - "EventSubscriptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EventSubscription" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "PermissionModel": { - "$ref": "#/definitions/PermissionModel" - }, - "ResiliencyPolicyArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "ResourceMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceMapping" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "$ref": "#/definitions/TagMap" - } - }, - "readOnlyProperties": [ - "/properties/AppArn", - "/properties/DriftStatus" - ], - "required": [ - "Name", - "AppTemplateBody", - "ResourceMappings" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-resiliencehub", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ResilienceHub::App" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-domain.json deleted file mode 100644 index b1615520a0..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-sagemaker-domain.json +++ /dev/null @@ -1,774 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AuthMode", - "/properties/DomainName", - "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", - "/properties/KmsKeyId", - "/properties/VpcId", - "/properties/Tags" - ], - "definitions": { - "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": 10, - "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" - }, - "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" - }, - "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" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "sagemaker:CreateApp", - "sagemaker:CreateDomain", - "sagemaker:DescribeDomain", - "sagemaker:DescribeImage", - "sagemaker:DescribeImageVersion", - "iam:CreateServiceLinkedRole", - "iam:PassRole", - "efs:CreateFileSystem", - "kms:CreateGrant", - "kms:Decrypt", - "kms:DescribeKey", - "kms:GenerateDataKeyWithoutPlainText" - ] - }, - "delete": { - "permissions": [ - "sagemaker:DeleteApp", - "sagemaker:DeleteDomain", - "sagemaker:DescribeDomain" - ] - }, - "list": { - "permissions": [ - "sagemaker:ListDomains" - ] - }, - "read": { - "permissions": [ - "sagemaker:DescribeDomain" - ] - }, - "update": { - "permissions": [ - "sagemaker:CreateApp", - "sagemaker:UpdateDomain", - "sagemaker:DescribeDomain", - "sagemaker:DescribeImage", - "sagemaker:DescribeImageVersion", - "iam:PassRole" - ] - } - }, - "primaryIdentifier": [ - "/properties/DomainId" - ], - "properties": { - "AppNetworkAccessType": { - "enum": [ - "PublicInternetOnly", - "VpcOnly" - ], - "type": "string" - }, - "AppSecurityGroupManagement": { - "enum": [ - "Service", - "Customer" - ], - "type": "string" - }, - "AuthMode": { - "enum": [ - "SSO", - "IAM" - ], - "type": "string" - }, - "DefaultSpaceSettings": { - "$ref": "#/definitions/DefaultSpaceSettings" - }, - "DefaultUserSettings": { - "$ref": "#/definitions/UserSettings" - }, - "DomainArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", - "type": "string" - }, - "DomainId": { - "maxLength": 63, - "pattern": "^d-(-*[a-z0-9])+", - "type": "string" - }, - "DomainName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "DomainSettings": { - "$ref": "#/definitions/DomainSettings" - }, - "HomeEfsFileSystemId": { - "maxLength": 32, - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "SecurityGroupIdForDomainBoundary": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "SingleSignOnApplicationArn": { - "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", - "type": "string" - }, - "SingleSignOnManagedApplicationInstanceId": { - "maxLength": 256, - "type": "string" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "Url": { - "maxLength": 1024, - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DomainArn", - "/properties/Url", - "/properties/DomainId", - "/properties/HomeEfsFileSystemId", - "/properties/SecurityGroupIdForDomainBoundary", - "/properties/SingleSignOnManagedApplicationInstanceId", - "/properties/SingleSignOnApplicationArn" - ], - "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName", - "SubnetIds", - "VpcId" - ], - "typeName": "AWS::SageMaker::Domain", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-ses-configurationset.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-ses-configurationset.json deleted file mode 100644 index 7e6285d5ea..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-ses-configurationset.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - }, - "TlsPolicy": { - "pattern": "REQUIRE|OPTIONAL", - "type": "string" - } - }, - "type": "object" - }, - "GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "pattern": "ENABLED|DISABLED", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "pattern": "true|false", - "type": "boolean" - } - }, - "type": "object" - }, - "SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "insertionOrder": false, - "items": { - "pattern": "BOUNCE|COMPLAINT", - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "type": "object" - }, - "VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/GuardianOptions" - } - }, - "type": "object" - } - }, - "handlers": { - "create": { - "permissions": [ - "ses:CreateConfigurationSet" - ] - }, - "delete": { - "permissions": [ - "ses:DeleteConfigurationSet" - ] - }, - "list": { - "permissions": [ - "ses:ListConfigurationSets" - ] - }, - "read": { - "permissions": [ - "ses:GetConfigurationSet", - "ses:DescribeConfigurationSet" - ] - }, - "update": { - "permissions": [ - "ses:PutConfigurationSetTrackingOptions", - "ses:PutConfigurationSetDeliveryOptions", - "ses:PutConfigurationSetReputationOptions", - "ses:PutConfigurationSetSendingOptions", - "ses:PutConfigurationSetSuppressionOptions", - "ses:PutConfigurationSetVdmOptions" - ] - } - }, - "primaryIdentifier": [ - "/properties/Name" - ], - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/DeliveryOptions" - }, - "Name": { - "pattern": "^[a-zA-Z0-9_-]{1,64}$", - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/SuppressionOptions" - }, - "TrackingOptions": { - "$ref": "#/definitions/TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/VdmOptions" - } - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", - "taggable": false, - "typeName": "AWS::SES::ConfigurationSet" -} diff --git a/test/fixtures/schemas/providers/base.definition.schema.v1.json b/test/fixtures/schemas/providers/base.definition.schema.v1.json index c3b464bec6..50ef41659e 100644 --- a/test/fixtures/schemas/providers/base.definition.schema.v1.json +++ b/test/fixtures/schemas/providers/base.definition.schema.v1.json @@ -78,6 +78,14 @@ { "$comment": "The following subset of draft-07 property references is supported for resource definitions. Nested properties are disallowed and should be specified as a $ref to a definitions block.", "type": ["object", "boolean"], + "not": { + "additionalProperties": false, + "properties": { + "type": { + "const": "object" + } + } + }, "properties": { "insertionOrder": { "description": "When set to true, this flag indicates that the order of insertion of the array will be honored, and that changing the order of the array would indicate a diff",