From a621d38f0a4cf6776f293e5caeec253177d579cd Mon Sep 17 00:00:00 2001 From: kddejong <36457093+kddejong@users.noreply.github.com> Date: Thu, 19 Dec 2024 20:34:56 +0000 Subject: [PATCH] Update CloudFormation schemas to 2024-12-19 --- .../data/AdditionalSpecs/Policies.json | 57 +- ...5a0d14c62111ff864923fc7b7960dda6.meta.json | 2 +- ...2b6653d7edfe98a64577daae0b481c38.meta.json | 2 +- ...5e4752bbc10d9552de8df8f81348c42b.meta.json | 2 +- ...63a1bf4413531ad420ff60a5a0d7965d.meta.json | 2 +- ...4cfc32461d10e077e7e5de1fc25d8b8f.meta.json | 2 +- ...d3fe2e7838c23f6acd054944cb2b1618.meta.json | 2 +- ...7e9907e4a512c10ddae70b98b4dada43.meta.json | 2 +- ...3fbf0a0fb76625ba46dbe42abd34333c.meta.json | 2 +- ...376aa3fe15197e3bb0e9290ff8719b4e.meta.json | 2 +- ...f60a7b5acfc406ebb10d5748cbb8ed41.meta.json | 2 +- ...aa3b299156f53fa9d1fd8eeabec5a268.meta.json | 2 +- ...f35136af536e92a84ccbaf062c315066.meta.json | 2 +- ...04470222e5e4c690bacef5312891581d.meta.json | 2 +- ...646b563d773e34b020d0ddeab2fe195b.meta.json | 2 +- ...548d44cc32e246ec9d7742088a2c17f8.meta.json | 2 +- ...98ac34d4109512e0e0947ef752dcb9c9.meta.json | 2 +- ...7e4a4542365d35fd75466abcf306eeca.meta.json | 2 +- ...69b7533eabab32ecfc0a00cb19e55a5f.meta.json | 2 +- ...e783fe32b6bb6b13774c32fcca1d303a.meta.json | 2 +- ...05f2567698dfdfa979bf0ccdb68cb856.meta.json | 2 +- ...92030ae5c03d7451980a15735e557edb.meta.json | 2 +- ...6bb7f975b606f8db57532faddfcdd8c8.meta.json | 2 +- ...73ff097c685cda0a63c08a6416dc58ed.meta.json | 2 +- ...25c8d66a1f84939600616bab42579541.meta.json | 2 +- ...972142778e1ff452383ede2ad4bac3d7.meta.json | 2 +- ...26b315ef6f38515840537c02de23abe2.meta.json | 2 +- ...cf908a34e6b4c3fb3e97e2b584f651ca.meta.json | 2 +- ...318c41c71c21b0a17d4f68d82c5aee21.meta.json | 2 +- ...6cd7e4ced378cacdb93f76ed227b5c5d.meta.json | 2 +- ...b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json | 2 +- ...41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json | 2 +- ...b2d398fe33547eed780b9b70f10eb4a2.meta.json | 2 +- ...e50a1638ffe0a5dba0d8805c190a05f8.meta.json | 2 +- ...3b69878d351cffd417dc9a457df808af.meta.json | 2 +- .../data/Serverless/ManagedPolicies.json | 2 + .../dbinstanceclass_enum.json | 144 ++ .../aws_ec2_instance/instancetype_enum.json | 34 + .../dbinstanceclass_enum.json | 456 +++--- .../all/aws_appstream_application/boto.json | 1 + .../all/aws_databrew_dataset/boto.json | 7 + .../all/aws_pcs_cluster/__init__.py | 0 .../extensions/all/aws_pcs_cluster/boto.json | 12 + .../all/aws_pcs_computenodegroup/__init__.py | 0 .../all/aws_sagemaker_partnerapp/__init__.py | 0 .../all/aws_sagemaker_partnerapp/boto.json | 22 + .../all/aws_synthetics_canary/boto.json | 2 +- .../schemas/providers/af_south_1/__init__.py | 11 +- .../aws-apigateway-domainnamev2.json | 88 -- .../af_south_1/aws-batch-jobdefinition.json | 225 +-- .../aws-databrew-dataset.json | 16 - .../af_south_1/aws-ec2-networkinterface.json | 234 --- .../aws-ec2-vpcendpoint.json | 0 .../providers/af_south_1/aws-ecs-service.json | 645 -------- .../providers/af_south_1/aws-emr-studio.json | 174 +++ .../aws-emr-studiosessionmapping.json | 49 + .../af_south_1/aws-logs-accountpolicy.json | 62 - .../aws-rds-dbcluster.json | 3 - .../aws-rds-dbinstance.json | 3 +- .../af_south_1/aws-transfer-server.json | 388 ----- .../schemas/providers/ap_east_1/__init__.py | 10 +- .../ap_east_1/aws-batch-jobdefinition.json | 998 ------------ .../ap_east_1/aws-databrew-dataset.json | 402 +++++ .../aws-ec2-vpcendpoint.json | 0 .../providers/ap_east_1/aws-ecs-service.json | 645 -------- .../aws-opensearchservice-domain.json | 46 +- .../aws-rds-dbcluster.json | 3 - .../aws-rds-dbinstance.json | 3 +- .../ap_east_1/aws-transfer-server.json | 388 ----- .../providers/ap_northeast_1/__init__.py | 14 +- .../aws-datazone-datasource.json | 542 +++++++ .../aws-logs-accountpolicy.json | 62 - .../aws-ses-mailmanagerruleset.json | 903 +++++++++++ .../providers/ap_northeast_2/__init__.py | 12 +- .../aws-batch-jobdefinition.json | 225 +-- .../ap_northeast_2/aws-bedrock-agent.json | 542 +++++++ .../ap_northeast_2/aws-databrew-dataset.json | 402 +++++ .../aws-ec2-networkinterface.json | 234 --- .../aws-ec2-vpcendpoint.json | 0 .../ap_northeast_2/aws-ecs-service.json | 645 -------- .../aws-logs-accountpolicy.json | 62 - .../aws-medialive-channelplacementgroup.json | 88 -- .../aws-rds-dbcluster.json | 20 +- .../aws-rds-dbinstance.json | 18 +- .../ap_northeast_2/aws-transfer-server.json | 388 ----- .../providers/ap_northeast_3/__init__.py | 9 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-batch-jobdefinition.json | 998 ------------ .../ap_northeast_3/aws-ecs-service.json | 645 -------- .../aws-logs-accountpolicy.json | 62 - .../ap_northeast_3/aws-ram-resourceshare.json | 81 - .../aws-rds-dbcluster.json | 20 +- .../aws-rds-dbinstance.json | 18 +- .../aws-sagemaker-partnerapp.json | 173 -- .../ap_northeast_3/aws-transfer-server.json | 388 ----- .../schemas/providers/ap_south_1/__init__.py | 14 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-appconfig-configurationprofile.json | 138 -- .../ap_south_1/aws-appconfig-environment.json | 124 -- .../ap_south_1/aws-bedrock-agent.json | 542 +++++++ .../ap_south_1/aws-cassandra-keyspace.json | 118 -- .../ap_south_1/aws-databrew-dataset.json | 402 +++++ .../ap_south_1/aws-gamelift-location.json | 68 + .../ap_south_1/aws-kendra-index.json | 394 ----- .../ap_south_1/aws-logs-accountpolicy.json | 62 - .../schemas/providers/ap_south_2/__init__.py | 6 +- .../aws-apigateway-domainnamev2.json | 88 -- .../ap_south_2/aws-batch-jobdefinition.json | 998 ------------ .../ap_south_2/aws-ec2-vpcendpoint.json | 177 +++ .../providers/ap_south_2/aws-ecs-service.json | 645 -------- .../aws-opensearchservice-domain.json | 46 +- .../ap_south_2/aws-transfer-server.json | 388 ----- .../providers/ap_southeast_1/__init__.py | 13 +- .../ap_southeast_1/aws-rds-dbcluster.json | 406 +++++ .../ap_southeast_1/aws-rds-dbinstance.json | 530 +++++++ .../ap_southeast_1/aws-transfer-server.json | 388 ----- .../providers/ap_southeast_2/__init__.py | 18 +- .../aws-appconfig-configurationprofile.json | 138 -- .../aws-appconfig-environment.json | 124 -- .../ap_southeast_2/aws-bedrock-agent.json | 542 +++++++ .../aws-cassandra-keyspace.json | 118 -- .../ap_southeast_2/aws-cassandra-type.json | 87 -- .../ap_southeast_2/aws-databrew-dataset.json | 402 +++++ .../aws-logs-accountpolicy.json | 62 - .../ap_southeast_2/aws-rds-dbcluster.json | 406 +++++ .../ap_southeast_2/aws-rds-dbinstance.json | 530 +++++++ .../ap_southeast_2/aws-transfer-server.json | 388 ----- .../providers/ap_southeast_3/__init__.py | 10 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-cloudformation-typeactivation.json | 109 -- .../aws-ec2-networkinterface.json | 234 --- .../ap_southeast_3/aws-ec2-vpcendpoint.json | 177 +++ .../ap_southeast_3/aws-ecs-service.json | 645 -------- .../ap_southeast_3/aws-emr-studio.json | 174 +++ .../aws-emr-studiosessionmapping.json | 49 + .../ap_southeast_3/aws-rds-dbcluster.json | 406 +++++ .../ap_southeast_3/aws-rds-dbinstance.json | 530 +++++++ .../ap_southeast_3/aws-transfer-server.json | 388 ----- .../providers/ap_southeast_4/__init__.py | 8 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-ec2-networkinterface.json | 234 --- .../ap_southeast_4/aws-ecs-service.json | 645 -------- .../aws-elasticache-serverlesscache.json | 205 --- .../ap_southeast_4/aws-rds-dbcluster.json | 406 +++++ .../ap_southeast_4/aws-rds-dbinstance.json | 530 +++++++ .../ap_southeast_4/aws-transfer-server.json | 388 ----- .../providers/ap_southeast_5/__init__.py | 35 + .../aws-ec2-networkinterface.json | 234 --- .../ap_southeast_5/aws-ecs-service.json | 645 -------- .../aws-lambda-eventinvokeconfig.json | 90 -- .../providers/ca_central_1/__init__.py | 16 +- .../ca_central_1/aws-batch-jobdefinition.json | 998 ------------ .../ca_central_1/aws-bedrock-agent.json | 542 +++++++ .../ca_central_1/aws-databrew-dataset.json | 402 +++++ .../ca_central_1/aws-datazone-datasource.json | 542 +++++++ .../ca_central_1/aws-ecs-service.json | 645 -------- .../ca_central_1/aws-logs-accountpolicy.json | 62 - .../ca_central_1/aws-logs-integration.json | 100 -- .../ca_central_1/aws-sagemaker-domain.json | 31 +- .../ca_central_1/aws-sagemaker-space.json | 475 ++++++ .../aws-sagemaker-userprofile.json | 31 +- .../ca_central_1/aws-transfer-server.json | 388 ----- .../aws-workspaces-workspacespool.json | 158 -- .../schemas/providers/ca_west_1/__init__.py | 13 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-cloudformation-typeactivation.json | 109 -- .../ca_west_1/aws-ec2-customergateway.json | 86 - .../ca_west_1/aws-ec2-networkinterface.json | 234 --- .../providers/ca_west_1/aws-ecs-service.json | 645 -------- .../ca_west_1/aws-rds-dbcluster.json | 406 +++++ .../ca_west_1/aws-rds-dbinstance.json | 530 +++++++ .../ca_west_1/aws-transfer-server.json | 388 ----- .../schemas/providers/cn_north_1/__init__.py | 9 + .../aws-apigateway-domainnamev2.json | 88 -- .../aws-autoscaling-autoscalinggroup.json | 794 ---------- .../cn_north_1/aws-cassandra-keyspace.json | 118 -- .../cn_north_1/aws-cassandra-type.json | 87 -- .../cn_north_1/aws-logs-accountpolicy.json | 62 - .../cn_north_1/aws-ram-resourceshare.json | 81 - .../providers/cn_northwest_1/__init__.py | 19 +- .../aws-apigateway-domainnamev2.json | 88 -- .../cn_northwest_1/aws-cloudtrail-trail.json | 315 ---- .../cn_northwest_1/aws-databrew-dataset.json | 402 +++++ .../aws-ec2-networkinterface.json | 234 --- .../cn_northwest_1/aws-ec2-vpcendpoint.json | 177 +++ .../cn_northwest_1/aws-ecs-service.json | 645 -------- .../aws-iot-softwarepackageversion.json | 110 -- .../aws-logs-accountpolicy.json | 62 - .../cn_northwest_1/aws-logs-loggroup.json | 109 -- .../cn_northwest_1/aws-logs-metricfilter.json | 153 -- .../aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../aws-organizations-policy.json | 114 -- .../cn_northwest_1/aws-ram-resourceshare.json | 81 - .../cn_northwest_1/aws-transfer-server.json | 388 ----- .../providers/eu_central_1/__init__.py | 25 +- .../aws-appconfig-configurationprofile.json | 138 -- .../aws-appconfig-environment.json | 124 -- .../eu_central_1/aws-bedrock-prompt.json | 550 +++++++ .../eu_central_1/aws-cassandra-keyspace.json | 118 -- .../eu_central_1/aws-cassandra-type.json | 87 -- .../aws-cloudformation-guardhook.json | 287 ---- .../aws-cloudformation-lambdahook.json | 261 ---- .../aws-lambda-eventinvokeconfig.json | 90 -- .../eu_central_1/aws-logs-accountpolicy.json | 62 - .../aws-rolesanywhere-profile.json | 150 ++ .../aws-ses-mailmanagerruleset.json | 903 +++++++++++ .../aws-workspaces-workspacespool.json | 158 -- .../providers/eu_central_2/__init__.py | 6 + .../aws-apigateway-domainnamev2.json | 88 -- .../aws-ec2-networkinterface.json | 234 --- .../eu_central_2/aws-ecs-service.json | 645 -------- .../eu_central_2/aws-logs-accountpolicy.json | 62 - .../eu_central_2/aws-transfer-server.json | 388 ----- .../schemas/providers/eu_north_1/__init__.py | 18 +- .../aws-appconfig-configurationprofile.json | 138 -- .../eu_north_1/aws-appconfig-environment.json | 124 -- .../eu_north_1/aws-batch-jobdefinition.json | 998 ------------ .../eu_north_1/aws-databrew-dataset.json | 402 +++++ .../eu_north_1/aws-ec2-vpcendpoint.json | 177 +++ .../providers/eu_north_1/aws-ecs-service.json | 645 -------- .../aws-opensearchservice-domain.json | 46 +- .../eu_north_1/aws-transfer-server.json | 388 ----- .../schemas/providers/eu_south_1/__init__.py | 7 +- .../eu_south_1/aws-databrew-dataset.json | 402 +++++ .../eu_south_1/aws-ec2-networkinterface.json | 234 --- .../eu_south_1/aws-ec2-vpcendpoint.json | 177 +++ .../providers/eu_south_1/aws-ecs-service.json | 645 -------- .../providers/eu_south_1/aws-emr-studio.json | 174 +++ .../aws-emr-studiosessionmapping.json | 49 + .../eu_south_1/aws-transfer-server.json | 388 ----- .../schemas/providers/eu_south_2/__init__.py | 15 +- .../aws-apigateway-domainnamev2.json | 88 -- .../eu_south_2/aws-batch-jobdefinition.json | 998 ------------ .../providers/eu_south_2/aws-ecs-service.json | 645 -------- .../eu_south_2/aws-ram-resourceshare.json | 81 - .../eu_south_2/aws-rds-dbcluster.json | 406 +++++ .../eu_south_2/aws-rds-dbinstance.json | 530 +++++++ .../eu_south_2/aws-transfer-server.json | 388 ----- .../schemas/providers/eu_west_1/__init__.py | 13 +- .../aws-appconfig-configurationprofile.json | 138 -- .../eu_west_1/aws-appconfig-environment.json | 124 -- .../eu_west_1/aws-bedrock-agent.json | 542 +++++++ .../eu_west_1/aws-cassandra-keyspace.json | 118 -- .../eu_west_1/aws-cassandra-type.json | 87 -- .../eu_west_1/aws-databrew-dataset.json | 402 +++++ ...-iotcoredeviceadvisor-suitedefinition.json | 130 -- .../schemas/providers/eu_west_2/__init__.py | 13 +- .../eu_west_2/aws-batch-jobdefinition.json | 998 ------------ .../eu_west_2/aws-bedrock-agent.json | 542 +++++++ .../eu_west_2/aws-databrew-dataset.json | 402 +++++ .../providers/eu_west_2/aws-ecs-service.json | 645 -------- .../eu_west_2/aws-logs-accountpolicy.json | 62 - .../eu_west_2/aws-logs-integration.json | 100 -- .../eu_west_2/aws-rds-dbcluster.json | 406 +++++ .../eu_west_2/aws-rds-dbinstance.json | 530 +++++++ .../eu_west_2/aws-transfer-server.json | 388 ----- .../schemas/providers/eu_west_3/__init__.py | 10 +- .../eu_west_3/aws-batch-jobdefinition.json | 998 ------------ .../eu_west_3/aws-bedrock-agent.json | 542 +++++++ .../eu_west_3/aws-cassandra-type.json | 87 -- .../eu_west_3/aws-databrew-dataset.json | 402 +++++ .../eu_west_3/aws-ec2-vpcendpoint.json | 177 +++ .../providers/eu_west_3/aws-ecs-service.json | 645 -------- .../aws-opensearchservice-domain.json | 46 +- .../eu_west_3/aws-rds-dbcluster.json | 406 +++++ .../eu_west_3/aws-rds-dbinstance.json | 530 +++++++ .../eu_west_3/aws-transfer-server.json | 388 ----- .../providers/il_central_1/__init__.py | 8 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-ec2-networkinterface.json | 234 --- .../il_central_1/aws-ecs-service.json | 645 -------- .../il_central_1/aws-logs-accountpolicy.json | 62 - .../il_central_1/aws-rds-dbcluster.json | 406 +++++ .../il_central_1/aws-rds-dbinstance.json | 530 +++++++ .../il_central_1/aws-transfer-server.json | 388 ----- .../providers/me_central_1/__init__.py | 9 + .../aws-apigateway-domainnamev2.json | 88 -- .../me_central_1/aws-batch-jobdefinition.json | 998 ------------ .../aws-cloudformation-typeactivation.json | 109 -- .../me_central_1/aws-ecs-service.json | 645 -------- .../me_central_1/aws-logs-accountpolicy.json | 62 - .../me_central_1/aws-ram-resourceshare.json | 81 - .../me_central_1/aws-transfer-server.json | 388 ----- .../schemas/providers/me_south_1/__init__.py | 14 +- .../aws-apigateway-domainnamev2.json | 88 -- .../me_south_1/aws-ec2-networkinterface.json | 234 --- .../me_south_1/aws-ec2-vpcendpoint.json | 177 +++ .../providers/me_south_1/aws-ecs-service.json | 645 -------- .../providers/me_south_1/aws-emr-studio.json | 174 +++ .../aws-emr-studiosessionmapping.json | 49 + .../me_south_1/aws-rds-dbcluster.json | 406 +++++ .../me_south_1/aws-rds-dbinstance.json | 530 +++++++ .../me_south_1/aws-sagemaker-domain.json | 899 +++++++++++ .../me_south_1/aws-sagemaker-space.json | 475 ++++++ .../me_south_1/aws-sagemaker-userprofile.json | 662 ++++++++ .../me_south_1/aws-transfer-server.json | 388 ----- .../schemas/providers/sa_east_1/__init__.py | 10 +- .../aws-appconfig-configurationprofile.json | 138 -- .../sa_east_1/aws-appconfig-environment.json | 124 -- .../sa_east_1/aws-bedrock-agent.json | 542 +++++++ .../sa_east_1/aws-cassandra-keyspace.json | 118 -- .../sa_east_1/aws-cassandra-type.json | 87 -- .../sa_east_1/aws-databrew-dataset.json | 402 +++++ .../sa_east_1/aws-rds-dbcluster.json | 406 +++++ .../sa_east_1/aws-rds-dbinstance.json | 530 +++++++ .../schemas/providers/us_east_1/__init__.py | 6 + .../aws-appconfig-configurationprofile.json | 13 +- .../us_east_1/aws-appconfig-environment.json | 13 +- .../us_east_1/aws-appstream-application.json | 1 + .../us_east_1/aws-bedrock-agent.json | 10 + .../us_east_1/aws-cassandra-keyspace.json | 4 +- .../aws-cassandra-type.json | 0 .../aws-cloudformation-guardhook.json | 5 +- .../aws-cloudformation-lambdahook.json | 5 +- .../us_east_1/aws-databrew-dataset.json | 17 + .../aws-datazone-projectmembership.json | 5 +- .../aws-datazone-subscriptiontarget.json | 1 - .../providers/us_east_1/aws-ec2-ec2fleet.json | 57 + .../us_east_1/aws-ec2-spotfleet.json | 3 + .../us_east_1/aws-ec2-vpcendpoint.json | 86 +- .../providers/us_east_1/aws-emr-studio.json | 8 +- .../aws-emr-studiosessionmapping.json | 8 +- .../aws-lambda-eventinvokeconfig.json | 6 +- .../aws-opensearchservice-domain.json | 36 + .../providers/us_east_1/aws-pcs-cluster.json | 248 +++ .../us_east_1/aws-pcs-computenodegroup.json | 208 +++ .../providers/us_east_1/aws-pcs-queue.json | 102 ++ .../aws-quicksight-custompermissions.json | 139 ++ .../us_east_1/aws-quicksight-dataset.json | 36 + .../us_east_1/aws-rds-dbcluster.json | 3 + .../us_east_1/aws-rds-dbinstance.json | 3 +- .../aws-sagemaker-partnerapp.json | 8 + .../us_east_1/aws-synthetics-canary.json | 2 +- .../schemas/providers/us_east_2/__init__.py | 25 +- .../us_east_2/aws-batch-jobdefinition.json | 998 ------------ .../us_east_2/aws-bedrock-agent.json | 542 +++++++ .../us_east_2/aws-cassandra-keyspace.json | 118 -- .../us_east_2/aws-cassandra-type.json | 87 -- .../us_east_2/aws-databrew-dataset.json | 402 +++++ .../us_east_2/aws-datazone-datasource.json | 542 +++++++ .../aws-datazone-projectmembership.json | 92 -- .../aws-datazone-subscriptiontarget.json | 147 -- .../us_east_2/aws-ec2-vpcendpoint.json | 177 +++ .../providers/us_east_2/aws-ecs-service.json | 645 -------- .../us_east_2/aws-logs-accountpolicy.json | 62 - .../us_east_2/aws-logs-integration.json | 100 -- .../us_east_2/aws-ram-resourceshare.json | 81 - .../us_east_2/aws-sagemaker-domain.json | 899 +++++++++++ .../us_east_2/aws-sagemaker-space.json | 475 ++++++ .../us_east_2/aws-sagemaker-userprofile.json | 662 ++++++++ .../us_east_2/aws-transfer-server.json | 388 ----- .../providers/us_gov_east_1/__init__.py | 18 +- .../us_gov_east_1/aws-cassandra-keyspace.json | 118 -- .../aws-ec2-networkinterface.json | 234 --- .../us_gov_east_1/aws-ecs-service.json | 645 -------- .../us_gov_east_1/aws-emr-studio.json | 174 +++ .../aws-emr-studiosessionmapping.json | 49 + .../us_gov_east_1/aws-logs-accountpolicy.json | 62 - .../us_gov_east_1/aws-m2-environment.json | 203 --- .../aws-rds-dbclusterparametergroup.json | 69 - .../aws-rds-dbparametergroup.json | 69 - .../us_gov_east_1/aws-rds-dbsubnetgroup.json | 66 - .../aws-rds-eventsubscription.json | 79 - .../us_gov_east_1/aws-rds-optiongroup.json | 125 -- .../us_gov_east_1/aws-transfer-server.json | 388 ----- .../aws-workspaces-workspacespool.json | 158 -- .../providers/us_gov_west_1/__init__.py | 30 +- .../us_gov_west_1/aws-cassandra-keyspace.json | 118 -- .../us_gov_west_1/aws-databrew-dataset.json | 402 +++++ .../aws-ec2-networkinterface.json | 234 --- .../us_gov_west_1/aws-ecs-service.json | 645 -------- .../us_gov_west_1/aws-emr-studio.json | 174 +++ .../aws-emr-studiosessionmapping.json | 49 + .../us_gov_west_1/aws-logs-accountpolicy.json | 62 - .../us_gov_west_1/aws-m2-application.json | 122 -- .../aws-quicksight-dataset.json | 36 - .../aws-rds-dbclusterparametergroup.json | 69 - .../aws-rds-dbparametergroup.json | 69 - .../us_gov_west_1/aws-rds-dbsubnetgroup.json | 66 - .../aws-rds-eventsubscription.json | 79 - .../us_gov_west_1/aws-rds-optiongroup.json | 125 -- .../us_gov_west_1/aws-transfer-server.json | 388 ----- .../aws-workspaces-workspacespool.json | 158 -- .../schemas/providers/us_west_1/__init__.py | 12 +- .../aws-appconfig-configurationprofile.json | 138 -- .../us_west_1/aws-appconfig-environment.json | 124 -- .../us_west_1/aws-batch-jobdefinition.json | 998 ------------ .../us_west_1/aws-databrew-dataset.json | 402 +++++ .../providers/us_west_1/aws-ecs-service.json | 645 -------- .../us_west_1/aws-mediaconnect-bridge.json | 278 ++++ .../aws-mediaconnect-bridgesource.json | 107 ++ .../us_west_1/aws-rds-dbcluster.json | 406 +++++ .../us_west_1/aws-rds-dbinstance.json | 530 +++++++ .../us_west_1/aws-transfer-server.json | 388 ----- .../schemas/providers/us_west_2/__init__.py | 27 +- .../aws-appconfig-configurationprofile.json | 138 -- .../us_west_2/aws-appconfig-environment.json | 124 -- .../us_west_2/aws-bedrock-prompt.json | 550 +++++++ .../us_west_2/aws-cassandra-keyspace.json | 118 -- .../us_west_2/aws-cassandra-type.json | 87 -- .../us_west_2/aws-datazone-datasource.json | 542 +++++++ .../aws-datazone-projectmembership.json | 92 -- .../aws-datazone-subscriptiontarget.json | 147 -- ...-iotcoredeviceadvisor-suitedefinition.json | 130 -- .../us_west_2/aws-logs-accountpolicy.json | 62 - .../us_west_2/aws-quicksight-dataset.json | 1392 ----------------- .../us_west_2/aws-rds-dbcluster.json | 406 +++++ .../us_west_2/aws-rds-dbinstance.json | 530 +++++++ .../us_west_2/aws-sagemaker-domain.json | 899 +++++++++++ .../us_west_2/aws-sagemaker-partnerapp.json | 173 -- .../us_west_2/aws-sagemaker-space.json | 475 ++++++ .../us_west_2/aws-sagemaker-userprofile.json | 662 ++++++++ .../us_west_2/aws-ses-mailmanagerruleset.json | 903 +++++++++++ 414 files changed, 41254 insertions(+), 54970 deletions(-) create mode 100644 src/cfnlint/data/schemas/patches/extensions/all/aws_databrew_dataset/boto.json create mode 100644 src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_cluster/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_cluster/boto.json create mode 100644 src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_computenodegroup/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/extensions/all/aws_sagemaker_partnerapp/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/extensions/all/aws_sagemaker_partnerapp/boto.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainnamev2.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => af_south_1}/aws-databrew-dataset.json (96%) delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-networkinterface.json rename src/cfnlint/data/schemas/providers/{cn_north_1 => af_south_1}/aws-ec2-vpcendpoint.json (100%) delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studio.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studiosessionmapping.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-logs-accountpolicy.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => af_south_1}/aws-rds-dbcluster.json (99%) rename src/cfnlint/data/schemas/providers/{eu_central_1 => af_south_1}/aws-rds-dbinstance.json (99%) delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-batch-jobdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-databrew-dataset.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => ap_east_1}/aws-ec2-vpcendpoint.json (100%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json rename src/cfnlint/data/schemas/providers/{ap_southeast_4 => ap_east_1}/aws-opensearchservice-domain.json (91%) rename src/cfnlint/data/schemas/providers/{eu_north_1 => ap_east_1}/aws-rds-dbcluster.json (99%) rename src/cfnlint/data/schemas/providers/{eu_north_1 => ap_east_1}/aws-rds-dbinstance.json (99%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-datazone-datasource.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-accountpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagerruleset.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-bedrock-agent.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-databrew-dataset.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-networkinterface.json rename src/cfnlint/data/schemas/providers/{us_west_2 => ap_northeast_2}/aws-ec2-vpcendpoint.json (100%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-channelplacementgroup.json rename src/cfnlint/data/schemas/providers/{us_gov_east_1 => ap_northeast_2}/aws-rds-dbcluster.json (91%) rename src/cfnlint/data/schemas/providers/{us_gov_east_1 => ap_northeast_2}/aws-rds-dbinstance.json (93%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ram-resourceshare.json rename src/cfnlint/data/schemas/providers/{us_gov_west_1 => ap_northeast_3}/aws-rds-dbcluster.json (91%) rename src/cfnlint/data/schemas/providers/{us_gov_west_1 => ap_northeast_3}/aws-rds-dbinstance.json (93%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-partnerapp.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-configurationprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-environment.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-bedrock-agent.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-keyspace.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-databrew-dataset.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-gamelift-location.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-kendra-index.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-vpcendpoint.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json rename src/cfnlint/data/schemas/providers/{ca_west_1 => ap_south_2}/aws-opensearchservice-domain.json (91%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-configurationprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-environment.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-bedrock-agent.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-keyspace.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-type.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-databrew-dataset.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-accountpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudformation-typeactivation.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-networkinterface.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-vpcendpoint.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studio.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studiosessionmapping.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-networkinterface.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-serverlesscache.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-networkinterface.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-lambda-eventinvokeconfig.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-bedrock-agent.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-databrew-dataset.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-datazone-datasource.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-integration.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-space.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-typeactivation.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-networkinterface.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-autoscaling-autoscalinggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-keyspace.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-type.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-ram-resourceshare.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudtrail-trail.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-databrew-dataset.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-networkinterface.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-vpcendpoint.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-iot-softwarepackageversion.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ram-resourceshare.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-configurationprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-environment.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-prompt.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-keyspace.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-type.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-guardhook.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-lambdahook.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-eventinvokeconfig.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-logs-accountpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-rolesanywhere-profile.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerruleset.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-workspaces-workspacespool.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-networkinterface.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-configurationprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-batch-jobdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-databrew-dataset.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-vpcendpoint.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json rename src/cfnlint/data/schemas/providers/{eu_central_2 => eu_north_1}/aws-opensearchservice-domain.json (91%) delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-databrew-dataset.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-networkinterface.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-vpcendpoint.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studio.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studiosessionmapping.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-configurationprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-environment.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-bedrock-agent.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-keyspace.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-type.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-dataset.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-iotcoredeviceadvisor-suitedefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-batch-jobdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-bedrock-agent.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-databrew-dataset.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-integration.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-batch-jobdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-bedrock-agent.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-cassandra-type.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-databrew-dataset.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-vpcendpoint.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json rename src/cfnlint/data/schemas/providers/{il_central_1 => eu_west_3}/aws-opensearchservice-domain.json (91%) create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-networkinterface.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-logs-accountpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-cloudformation-typeactivation.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-ram-resourceshare.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-networkinterface.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-vpcendpoint.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studio.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studiosessionmapping.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbinstance.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-space.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-userprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-configurationprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-environment.json create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-bedrock-agent.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-keyspace.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-type.json create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-databrew-dataset.json create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbinstance.json rename src/cfnlint/data/schemas/providers/{ap_south_1 => us_east_1}/aws-cassandra-type.json (100%) create mode 100644 src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-cluster.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-computenodegroup.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-queue.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-custompermissions.json rename src/cfnlint/data/schemas/providers/{ap_northeast_1 => us_east_1}/aws-sagemaker-partnerapp.json (92%) delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-batch-jobdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-bedrock-agent.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-keyspace.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-type.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-databrew-dataset.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-datasource.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-projectmembership.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-subscriptiontarget.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-vpcendpoint.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-logs-integration.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-space.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-cassandra-keyspace.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-networkinterface.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studio.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studiosessionmapping.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbclusterparametergroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbparametergroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbsubnetgroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-eventsubscription.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-optiongroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-cassandra-keyspace.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-databrew-dataset.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-networkinterface.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studio.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studiosessionmapping.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-m2-application.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => us_gov_west_1}/aws-quicksight-dataset.json (97%) delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbclusterparametergroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbparametergroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbsubnetgroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-eventsubscription.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-optiongroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-configurationprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-batch-jobdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-databrew-dataset.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-bridge.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-bridgesource.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json create 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-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-configurationprofile.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-environment.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-bedrock-prompt.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-keyspace.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-type.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-datasource.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-projectmembership.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-subscriptiontarget.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-iotcoredeviceadvisor-suitedefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-quicksight-dataset.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbinstance.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-domain.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-partnerapp.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-space.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-userprofile.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-ses-mailmanagerruleset.json diff --git a/src/cfnlint/data/AdditionalSpecs/Policies.json b/src/cfnlint/data/AdditionalSpecs/Policies.json index e25dd5a731..a4e48f845a 100644 --- a/src/cfnlint/data/AdditionalSpecs/Policies.json +++ b/src/cfnlint/data/AdditionalSpecs/Policies.json @@ -1168,6 +1168,7 @@ "GetBackupVaultNotifications", "GetBackupVaultSharingPolicy", "GetLegalHold", + "GetRecoveryPointIndexDetails", "GetRecoveryPointRestoreMetadata", "GetRestoreJobMetadata", "GetRestoreTestingInferredMetadata", @@ -1184,6 +1185,8 @@ "ListCopyJobSummaries", "ListCopyJobs", "ListFrameworks", + "ListIndexedRecoveryPoints", + "ListIndexedRecoveryPointsForSearch", "ListLegalHolds", "ListProtectedResources", "ListProtectedResourcesByBackupVault", @@ -1203,6 +1206,7 @@ "PutBackupVaultNotifications", "PutBackupVaultSharingPolicy", "PutRestoreValidationResult", + "SearchRecoveryPoint", "StartBackupJob", "StartCopyJob", "StartReportJob", @@ -1213,6 +1217,7 @@ "UpdateBackupPlan", "UpdateFramework", "UpdateGlobalSettings", + "UpdateRecoveryPointIndexSettings", "UpdateRecoveryPointLifecycle", "UpdateRegionSettings", "UpdateReportPlan", @@ -1229,6 +1234,7 @@ "backup:CopyTargetOrgPaths", "backup:CopyTargets", "backup:FrameworkArns", + "backup:Index", "backup:MaxRetentionDays", "backup:MinRetentionDays" ] @@ -1273,6 +1279,31 @@ "aws:TagKeys" ] }, + "AWS Backup Search": { + "ARNFormat": "arn:aws:backup-search:${Region}:${Account}:${ResourceType}:${ResourceName}", + "ARNRegex": "^arn:aws:backup-search:.+:.+:.+", + "Actions": [ + "GetSearchJob", + "GetSearchResultExportJob", + "ListSearchJobBackups", + "ListSearchJobResults", + "ListSearchJobs", + "ListSearchResultExportJobs", + "ListTagsForResource", + "StartSearchJob", + "StartSearchResultExportJob", + "StopSearchJob", + "TagResource", + "UntagResource" + ], + "HasResource": true, + "StringPrefix": "backup-search", + "conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:ResourceTag/${TagKey}", + "aws:TagKeys" + ] + }, "AWS Backup storage": { "ARNFormat": "arn:${Partition}:backup-storage:${Region}:${Account}:${ResourceType}:${ResourceName}", "ARNRegex": "^^arn:aws:backup-storage:.+:.+:.+", @@ -1337,6 +1368,7 @@ "batch:AWSLogsRegion", "batch:AWSLogsStreamPrefix", "batch:EKSImage", + "batch:EKSNamespace", "batch:EKSPrivileged", "batch:EKSRunAsGroup", "batch:EKSRunAsUser", @@ -1971,6 +2003,7 @@ "ListChangeSets", "ListExports", "ListGeneratedTemplates", + "ListHookResults", "ListImports", "ListResourceScanRelatedResources", "ListResourceScanResources", @@ -2014,6 +2047,7 @@ "aws:ResourceTag/${TagKey}", "aws:TagKeys", "cloudformation:ChangeSetName", + "cloudformation:CreateAction", "cloudformation:ImportResourceTypes", "cloudformation:ResourceTypes", "cloudformation:RoleArn", @@ -4818,14 +4852,31 @@ "ARNFormat": "arn:aws:elemental-support-cases::${Account}:${ResourceType}/${ResourceId}", "ARNRegex": "^arn:aws:elemental-support-cases::.+:.+", "Actions": [ + "AddCaseComment", "CheckCasePermission", + "CompleteMultipartUpload", "CreateCase", + "CreateS3CLIUploadCommand", + "CreateS3DownloadUrl", "GetCase", + "GetCasePermission", "GetCases", - "UpdateCase" + "GetUICache", + "ListTagsForCase", + "StartMultipartUpload", + "TagCase", + "UntagCase", + "UpdateCase", + "UpdateCaseStatus", + "UpdateMultipartUpload" ], "HasResource": true, - "StringPrefix": "elemental-support-cases" + "StringPrefix": "elemental-support-cases", + "conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:ResourceTag/${TagKey}", + "aws:TagKeys" + ] }, "AWS Elemental Support Content": { "ARNFormat": "arn:${Partition}:elemental-support-content:${Region}:${Account}:${ResourceType}/${ResourceName}", @@ -6665,6 +6716,7 @@ "GetRegistrationCode", "GetRetainedMessage", "GetStatistics", + "GetThingConnectivityData", "GetThingShadow", "GetTopicRule", "GetTopicRuleDestination", @@ -14512,6 +14564,7 @@ "UpdateHoursOfOperationOverride", "UpdateInstanceAttribute", "UpdateInstanceStorageConfig", + "UpdateParticipantAuthentication", "UpdateParticipantRoleConfig", "UpdatePhoneNumber", "UpdatePhoneNumberMetadata", diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json index c1b9e723d2..ee8a4905ce 100644 --- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json @@ -1 +1 @@ -{"etag": "\"cfa18b63c75f892d688213ad42906824\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"1798e723ea86b294e736d8a4afb327b9\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json index a05fcd2cb6..cb8d3bee4d 100644 --- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json @@ -1 +1 @@ -{"etag": "\"41b47fb197bb3002346132a5aec11f26\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"af672ec216a749be9f103f6942f9e294\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json index 4a0ff19ccd..3a34534ab2 100644 --- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json @@ -1 +1 @@ -{"etag": "\"afb08056587f4eb39577a7a73b0e6f38\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0221e65c245a50f3293831224cf8c3ce\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json index 90d32e6bfc..02368020ac 100644 --- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json @@ -1 +1 @@ -{"etag": "\"953bef7d4ca299f952e64391f7c978ad\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"1aa20c129bf6733a156f26c2f506ee42\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json index 4204485fc2..df9ea2965f 100644 --- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json @@ -1 +1 @@ -{"etag": "\"830d885c1819298abdd7292d98b8b75a\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"c5ecbcb6ccfcb9c6a7d765e0edc88a99\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json index 8058f0ea9a..7199979796 100644 --- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json @@ -1 +1 @@ -{"etag": "\"477a9abe80b393c588b38fb8cd27bb31\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2d718047a6902d505739e06b5412ac05\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json index cb5bf09f99..8e1a6333be 100644 --- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json @@ -1 +1 @@ -{"etag": "\"4a180ebc9f0717d66a03351d6d1f1594\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"8d3ef4956f0a05237b549da98686232d\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json index 6a7a0314e7..34adaff2be 100644 --- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json @@ -1 +1 @@ -{"etag": "\"4625bc77f8fa7de175352bf915d5260f\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"fab682ba8f1dd50141f413fdde08409c\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json index f482f59645..a5a701546a 100644 --- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json @@ -1 +1 @@ -{"etag": "\"24350d8000bcc06476ca6a2b5abf6946\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"11e8ff6aca50bd1a149fc715db134f53\"", "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 b057865ef0..3b3ffb9db2 100644 --- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json @@ -1 +1 @@ -{"etag": "\"ed17d69251e1b6b228c3af1b65b62c61\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9f850dfa11cf631d56e518b23e77d360\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json b/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json index 87c949247c..16693c9378 100644 --- a/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json @@ -1 +1 @@ -{"etag": "\"a2b6157f7a63df6a82eefd7486ad6ed4\"", "url": "https://schema.cloudformation.ap-southeast-5.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"12ede371545ee879bb98fb3eb9c0d97f\"", "url": "https://schema.cloudformation.ap-southeast-5.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json index b76dae70d6..0fca8a49cb 100644 --- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json @@ -1 +1 @@ -{"etag": "\"876dbed81eb5597fb1cef3dc1d708e2d\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a23123f881b2d50853e29f0f7fe7adb7\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json index fcf36ea0fd..139b670579 100644 --- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json @@ -1 +1 @@ -{"etag": "\"3106da9544d9365c9292863eebd00da7\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"3d18b95ca88f6e6296f4f22c908e8c17\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json index 80ce1385b3..310200c224 100644 --- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json @@ -1 +1 @@ -{"etag": "\"a05ff7779b152bfe54179af0d2b60cd8\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"26ccaf78a3227c698296ee4c8530bedf\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json index a0dbf9df85..e682d0f7f7 100644 --- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json @@ -1 +1 @@ -{"etag": "\"40ae094897f8afa0fccb59c17032a3ae\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a84e37890eb43792c250f4fa60239a90\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json index 81cab7c2a8..1173219849 100644 --- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json @@ -1 +1 @@ -{"etag": "\"2d59af9cb6598338ebd2ce66925f966f\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"f354ae8ee4df2bd08c67bca6cc2a18d9\"", "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 775ec96813..7a64f76707 100644 --- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json @@ -1 +1 @@ -{"etag": "\"1e017683f6c1b268584c48da26b001b6\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"05665cc66b4bdfcbbc136d03f0a60222\"", "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 e66d95309b..9b100e527b 100644 --- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json @@ -1 +1 @@ -{"etag": "\"56d6b0977b25a6ef072bd28e57792ff8\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"dcb606adcff79aa8efe9b1becf2033fc\"", "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 fdf6fd2fd3..542190ca16 100644 --- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json @@ -1 +1 @@ -{"etag": "\"396c14ac727ee1a5098ebc63f5213a78\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"dc1fe64e830885b62cb0b6ae9aabffc9\"", "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 ddaa12a881..1feba77aeb 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"7c7b8263f3619364a5552b7a77523da3\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e4935f4eca73af3e5ccbd907c3b749a7\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json index 55cac11e72..3d0f4ff1ee 100644 --- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json @@ -1 +1 @@ -{"etag": "\"780d45d8953b2cb6aef93b87416d45e9\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e16d469958663b509ffbd4ae0dd82989\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json index 44e3561851..9471507cc1 100644 --- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json @@ -1 +1 @@ -{"etag": "\"7f9302f5fbc9b56e96ddc8fb1de1cb7a\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"457cff85d4c72b8467a2da2b0d1d6206\"", "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 8b8adea9e9..89a8415880 100644 --- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json @@ -1 +1 @@ -{"etag": "\"e47a327d66283dc0fe6d115af1503530\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"b03d53924e54782aecc043641b95d63a\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json index 846c0099b6..7835fed10d 100644 --- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json @@ -1 +1 @@ -{"etag": "\"1db613a413ecf2690215d317da83f26c\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"bcb06c060aa038dbda4b7fbdc8730953\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json index f6f2eb9798..6874e81053 100644 --- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json @@ -1 +1 @@ -{"etag": "\"1133a4db713965ee034976974e267235\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5693798ea7f1eba3756ef8fe5e38dcd8\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json index 68f5f1e0e2..b864615027 100644 --- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json @@ -1 +1 @@ -{"etag": "\"ae38d423f88c338ff4f64af9104edd10\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"f1982486264fa36fd201184e53676e18\"", "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 bf0ee5da7e..bc68cc1cef 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"aeb3072e0883672997dd95f51febfa3b\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"24570f0356b1ed42e2db14a4976e3e08\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json index 9f8b49b66a..f7ea8409de 100644 --- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json @@ -1 +1 @@ -{"etag": "\"9e9c475422de3d3df186fef3faa11518\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"22947bde2693c4435238151c98defead\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json index 580160fa3f..8f8501afab 100644 --- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json @@ -1 +1 @@ -{"etag": "\"329f88ba858eb6032e6222839607e1d4\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"65ca4be6651c0d7d373dd175015fdbe6\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json index 48b12d9c53..00cade850a 100644 --- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json @@ -1 +1 @@ -{"etag": "\"5b094ba1ccfef88abdde185f977a57d1\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"86b0fd510d479364cf937e6fd3b0443c\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json index bed0dde983..1d83b144a0 100644 --- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json @@ -1 +1 @@ -{"etag": "\"0cab430bced2261c353057eb27cabcbc\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"4802eef249255c941d860bd4e9d30c17\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json index 8fbe9f102d..3822539ac3 100644 --- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json @@ -1 +1 @@ -{"etag": "\"6b3238c75f3535f394ba75b85af17309\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"58b961a38539afad1cecbe78e5ec27b2\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json index 0750bfdda2..ea78f767d3 100644 --- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json @@ -1 +1 @@ -{"etag": "\"b009aa3b42196da197b24d7bff64890d\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"788dffed304b645916445972e2ece55e\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json index 0db3b3a27b..28c1cc3b1d 100644 --- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json @@ -1 +1 @@ -{"etag": "\"5f38c162b5f86cdc98cebb2a0d0f53c0\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e7267df3e7a9d35cf5c3ee7e3ba8c88a\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/Serverless/ManagedPolicies.json b/src/cfnlint/data/Serverless/ManagedPolicies.json index 3716bd795c..d105dae4dc 100644 --- a/src/cfnlint/data/Serverless/ManagedPolicies.json +++ b/src/cfnlint/data/Serverless/ManagedPolicies.json @@ -83,6 +83,8 @@ "AWSBackupServiceLinkedRolePolicyForBackup": "arn:aws:iam::aws:policy/aws-service-role/AWSBackupServiceLinkedRolePolicyForBackup", "AWSBackupServiceLinkedRolePolicyForBackupTest": "arn:aws:iam::aws:policy/aws-service-role/AWSBackupServiceLinkedRolePolicyForBackupTest", "AWSBackupServiceRolePolicyForBackup": "arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup", + "AWSBackupServiceRolePolicyForIndexing": "arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForIndexing", + "AWSBackupServiceRolePolicyForItemRestores": "arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForItemRestores", "AWSBackupServiceRolePolicyForRestores": "arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForRestores", "AWSBackupServiceRolePolicyForS3Backup": "arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForS3Backup", "AWSBackupServiceRolePolicyForS3Restore": "arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForS3Restore", diff --git a/src/cfnlint/data/schemas/extensions/aws_docdb_dbinstance/dbinstanceclass_enum.json b/src/cfnlint/data/schemas/extensions/aws_docdb_dbinstance/dbinstanceclass_enum.json index 8622e2ac70..0e6ddedc0a 100644 --- a/src/cfnlint/data/schemas/extensions/aws_docdb_dbinstance/dbinstanceclass_enum.json +++ b/src/cfnlint/data/schemas/extensions/aws_docdb_dbinstance/dbinstanceclass_enum.json @@ -23,6 +23,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -50,6 +56,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -77,6 +89,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -104,6 +122,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -131,6 +155,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -158,6 +188,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -185,6 +221,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -212,6 +254,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -239,6 +287,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -266,6 +320,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -293,6 +353,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -320,6 +386,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -347,6 +419,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -374,6 +452,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -401,6 +485,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -428,6 +518,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -455,6 +551,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -482,6 +584,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -509,6 +617,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -536,6 +650,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -563,6 +683,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -590,6 +716,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -617,6 +749,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] @@ -644,6 +782,12 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.xlarge", "db.t3.medium", "db.t4g.medium" ] diff --git a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json index eca8e7f227..8f73f17531 100644 --- a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json +++ b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json @@ -815,6 +815,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -1707,6 +1708,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -2599,6 +2601,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -3491,6 +3494,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -4383,6 +4387,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -5275,6 +5280,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -6167,6 +6173,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -7059,6 +7066,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -7951,6 +7959,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -8843,6 +8852,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -9735,6 +9745,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -10627,6 +10638,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -11519,6 +11531,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -12411,6 +12424,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -13303,6 +13317,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -14195,6 +14210,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -15087,6 +15103,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -15979,6 +15996,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -16871,6 +16889,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -17763,6 +17782,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -18655,6 +18675,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -19547,6 +19568,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -20439,6 +20461,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -21331,6 +21354,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -22223,6 +22247,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -23115,6 +23140,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -24007,6 +24033,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -24899,6 +24926,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -25791,6 +25819,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -26683,6 +26712,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -27575,6 +27605,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -28467,6 +28498,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -29359,6 +29391,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", @@ -30251,6 +30284,7 @@ "trn1.2xlarge", "trn1.32xlarge", "trn1n.32xlarge", + "trn2.48xlarge", "u-12tb1.112xlarge", "u-12tb1.metal", "u-18tb1.112xlarge", diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/dbinstanceclass_enum.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/dbinstanceclass_enum.json index e708c5c68e..6421d64f50 100644 --- a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/dbinstanceclass_enum.json +++ b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/dbinstanceclass_enum.json @@ -36868,6 +36868,15 @@ "db.m7g.8xlarge", "db.m7g.large", "db.m7g.xlarge", + "db.m7i.12xlarge", + "db.m7i.16xlarge", + "db.m7i.24xlarge", + "db.m7i.2xlarge", + "db.m7i.48xlarge", + "db.m7i.4xlarge", + "db.m7i.8xlarge", + "db.m7i.large", + "db.m7i.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", @@ -36995,6 +37004,15 @@ "db.m7g.8xlarge", "db.m7g.large", "db.m7g.xlarge", + "db.m7i.12xlarge", + "db.m7i.16xlarge", + "db.m7i.24xlarge", + "db.m7i.2xlarge", + "db.m7i.48xlarge", + "db.m7i.4xlarge", + "db.m7i.8xlarge", + "db.m7i.large", + "db.m7i.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", @@ -37119,6 +37137,15 @@ "db.m7g.8xlarge", "db.m7g.large", "db.m7g.xlarge", + "db.m7i.12xlarge", + "db.m7i.16xlarge", + "db.m7i.24xlarge", + "db.m7i.2xlarge", + "db.m7i.48xlarge", + "db.m7i.4xlarge", + "db.m7i.8xlarge", + "db.m7i.large", + "db.m7i.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", @@ -37246,6 +37273,15 @@ "db.m7g.8xlarge", "db.m7g.large", "db.m7g.xlarge", + "db.m7i.12xlarge", + "db.m7i.16xlarge", + "db.m7i.24xlarge", + "db.m7i.2xlarge", + "db.m7i.48xlarge", + "db.m7i.4xlarge", + "db.m7i.8xlarge", + "db.m7i.large", + "db.m7i.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", @@ -37370,6 +37406,15 @@ "db.m7g.8xlarge", "db.m7g.large", "db.m7g.xlarge", + "db.m7i.12xlarge", + "db.m7i.16xlarge", + "db.m7i.24xlarge", + "db.m7i.2xlarge", + "db.m7i.48xlarge", + "db.m7i.4xlarge", + "db.m7i.8xlarge", + "db.m7i.large", + "db.m7i.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", @@ -37497,6 +37542,15 @@ "db.m7g.8xlarge", "db.m7g.large", "db.m7g.xlarge", + "db.m7i.12xlarge", + "db.m7i.16xlarge", + "db.m7i.24xlarge", + "db.m7i.2xlarge", + "db.m7i.48xlarge", + "db.m7i.4xlarge", + "db.m7i.8xlarge", + "db.m7i.large", + "db.m7i.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", @@ -37937,7 +37991,7 @@ "type": "string" }, "Engine": { - "const": "mysql" + "const": "postgres" }, "LicenseModel": false }, @@ -37989,6 +38043,15 @@ "db.m7g.8xlarge", "db.m7g.large", "db.m7g.xlarge", + "db.m7i.12xlarge", + "db.m7i.16xlarge", + "db.m7i.24xlarge", + "db.m7i.2xlarge", + "db.m7i.48xlarge", + "db.m7i.4xlarge", + "db.m7i.8xlarge", + "db.m7i.large", + "db.m7i.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", @@ -38061,7 +38124,7 @@ "type": "string" }, "Engine": { - "const": "mysql" + "const": "postgres" }, "LicenseModel": { "const": "general-public-license" @@ -38116,6 +38179,15 @@ "db.m7g.8xlarge", "db.m7g.large", "db.m7g.xlarge", + "db.m7i.12xlarge", + "db.m7i.16xlarge", + "db.m7i.24xlarge", + "db.m7i.2xlarge", + "db.m7i.48xlarge", + "db.m7i.4xlarge", + "db.m7i.8xlarge", + "db.m7i.large", + "db.m7i.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", @@ -38188,7 +38260,7 @@ "type": "string" }, "Engine": { - "const": "aurora-mysql" + "const": "mysql" }, "LicenseModel": false }, @@ -38201,6 +38273,54 @@ "properties": { "DBInstanceClass": { "enum": [ + "db.m6g.12xlarge", + "db.m6g.16xlarge", + "db.m6g.2xlarge", + "db.m6g.4xlarge", + "db.m6g.8xlarge", + "db.m6g.large", + "db.m6g.xlarge", + "db.m6gd.12xlarge", + "db.m6gd.16xlarge", + "db.m6gd.2xlarge", + "db.m6gd.4xlarge", + "db.m6gd.8xlarge", + "db.m6gd.large", + "db.m6gd.xlarge", + "db.m6i.12xlarge", + "db.m6i.16xlarge", + "db.m6i.24xlarge", + "db.m6i.2xlarge", + "db.m6i.32xlarge", + "db.m6i.4xlarge", + "db.m6i.8xlarge", + "db.m6i.large", + "db.m6i.xlarge", + "db.m6id.12xlarge", + "db.m6id.16xlarge", + "db.m6id.24xlarge", + "db.m6id.2xlarge", + "db.m6id.32xlarge", + "db.m6id.4xlarge", + "db.m6id.8xlarge", + "db.m6id.large", + "db.m6id.xlarge", + "db.m7g.12xlarge", + "db.m7g.16xlarge", + "db.m7g.2xlarge", + "db.m7g.4xlarge", + "db.m7g.8xlarge", + "db.m7g.large", + "db.m7g.xlarge", + "db.m7i.12xlarge", + "db.m7i.16xlarge", + "db.m7i.24xlarge", + "db.m7i.2xlarge", + "db.m7i.48xlarge", + "db.m7i.4xlarge", + "db.m7i.8xlarge", + "db.m7i.large", + "db.m7i.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", @@ -38208,6 +38328,13 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.large", + "db.r6gd.xlarge", "db.r6i.12xlarge", "db.r6i.16xlarge", "db.r6i.24xlarge", @@ -38217,14 +38344,43 @@ "db.r6i.8xlarge", "db.r6i.large", "db.r6i.xlarge", + "db.r6id.12xlarge", + "db.r6id.16xlarge", "db.r6id.24xlarge", + "db.r6id.2xlarge", "db.r6id.32xlarge", - "db.serverless", + "db.r6id.4xlarge", + "db.r6id.8xlarge", + "db.r6id.large", + "db.r6id.xlarge", + "db.r7g.12xlarge", + "db.r7g.16xlarge", + "db.r7g.2xlarge", + "db.r7g.4xlarge", + "db.r7g.8xlarge", + "db.r7g.large", + "db.r7g.xlarge", + "db.r7i.12xlarge", + "db.r7i.16xlarge", + "db.r7i.24xlarge", + "db.r7i.2xlarge", + "db.r7i.48xlarge", + "db.r7i.4xlarge", + "db.r7i.8xlarge", + "db.r7i.large", + "db.r7i.xlarge", + "db.t3.2xlarge", "db.t3.large", "db.t3.medium", + "db.t3.micro", "db.t3.small", + "db.t3.xlarge", + "db.t4g.2xlarge", "db.t4g.large", - "db.t4g.medium" + "db.t4g.medium", + "db.t4g.micro", + "db.t4g.small", + "db.t4g.xlarge" ] } } @@ -38237,7 +38393,7 @@ "type": "string" }, "Engine": { - "const": "aurora-mysql" + "const": "mysql" }, "LicenseModel": { "const": "general-public-license" @@ -38253,6 +38409,54 @@ "properties": { "DBInstanceClass": { "enum": [ + "db.m6g.12xlarge", + "db.m6g.16xlarge", + "db.m6g.2xlarge", + "db.m6g.4xlarge", + "db.m6g.8xlarge", + "db.m6g.large", + "db.m6g.xlarge", + "db.m6gd.12xlarge", + "db.m6gd.16xlarge", + "db.m6gd.2xlarge", + "db.m6gd.4xlarge", + "db.m6gd.8xlarge", + "db.m6gd.large", + "db.m6gd.xlarge", + "db.m6i.12xlarge", + "db.m6i.16xlarge", + "db.m6i.24xlarge", + "db.m6i.2xlarge", + "db.m6i.32xlarge", + "db.m6i.4xlarge", + "db.m6i.8xlarge", + "db.m6i.large", + "db.m6i.xlarge", + "db.m6id.12xlarge", + "db.m6id.16xlarge", + "db.m6id.24xlarge", + "db.m6id.2xlarge", + "db.m6id.32xlarge", + "db.m6id.4xlarge", + "db.m6id.8xlarge", + "db.m6id.large", + "db.m6id.xlarge", + "db.m7g.12xlarge", + "db.m7g.16xlarge", + "db.m7g.2xlarge", + "db.m7g.4xlarge", + "db.m7g.8xlarge", + "db.m7g.large", + "db.m7g.xlarge", + "db.m7i.12xlarge", + "db.m7i.16xlarge", + "db.m7i.24xlarge", + "db.m7i.2xlarge", + "db.m7i.48xlarge", + "db.m7i.4xlarge", + "db.m7i.8xlarge", + "db.m7i.large", + "db.m7i.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", @@ -38260,6 +38464,13 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", + "db.r6gd.12xlarge", + "db.r6gd.16xlarge", + "db.r6gd.2xlarge", + "db.r6gd.4xlarge", + "db.r6gd.8xlarge", + "db.r6gd.large", + "db.r6gd.xlarge", "db.r6i.12xlarge", "db.r6i.16xlarge", "db.r6i.24xlarge", @@ -38269,14 +38480,43 @@ "db.r6i.8xlarge", "db.r6i.large", "db.r6i.xlarge", + "db.r6id.12xlarge", + "db.r6id.16xlarge", "db.r6id.24xlarge", + "db.r6id.2xlarge", "db.r6id.32xlarge", - "db.serverless", + "db.r6id.4xlarge", + "db.r6id.8xlarge", + "db.r6id.large", + "db.r6id.xlarge", + "db.r7g.12xlarge", + "db.r7g.16xlarge", + "db.r7g.2xlarge", + "db.r7g.4xlarge", + "db.r7g.8xlarge", + "db.r7g.large", + "db.r7g.xlarge", + "db.r7i.12xlarge", + "db.r7i.16xlarge", + "db.r7i.24xlarge", + "db.r7i.2xlarge", + "db.r7i.48xlarge", + "db.r7i.4xlarge", + "db.r7i.8xlarge", + "db.r7i.large", + "db.r7i.xlarge", + "db.t3.2xlarge", "db.t3.large", "db.t3.medium", + "db.t3.micro", "db.t3.small", + "db.t3.xlarge", + "db.t4g.2xlarge", "db.t4g.large", - "db.t4g.medium" + "db.t4g.medium", + "db.t4g.micro", + "db.t4g.small", + "db.t4g.xlarge" ] } } @@ -38289,7 +38529,7 @@ "type": "string" }, "Engine": { - "const": "aurora" + "const": "aurora-mysql" }, "LicenseModel": false }, @@ -38320,6 +38560,7 @@ "db.r6i.xlarge", "db.r6id.24xlarge", "db.r6id.32xlarge", + "db.serverless", "db.t3.large", "db.t3.medium", "db.t3.small", @@ -38337,7 +38578,7 @@ "type": "string" }, "Engine": { - "const": "aurora" + "const": "aurora-mysql" }, "LicenseModel": { "const": "general-public-license" @@ -38371,6 +38612,7 @@ "db.r6i.xlarge", "db.r6id.24xlarge", "db.r6id.32xlarge", + "db.serverless", "db.t3.large", "db.t3.medium", "db.t3.small", @@ -38388,7 +38630,7 @@ "type": "string" }, "Engine": { - "const": "aurora-postgresql" + "const": "aurora" }, "LicenseModel": false }, @@ -38408,12 +38650,6 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", - "db.r6gd.12xlarge", - "db.r6gd.16xlarge", - "db.r6gd.2xlarge", - "db.r6gd.4xlarge", - "db.r6gd.8xlarge", - "db.r6gd.xlarge", "db.r6i.12xlarge", "db.r6i.16xlarge", "db.r6i.24xlarge", @@ -38425,9 +38661,9 @@ "db.r6i.xlarge", "db.r6id.24xlarge", "db.r6id.32xlarge", - "db.serverless", "db.t3.large", "db.t3.medium", + "db.t3.small", "db.t4g.large", "db.t4g.medium" ] @@ -38442,7 +38678,7 @@ "type": "string" }, "Engine": { - "const": "aurora-postgresql" + "const": "aurora" }, "LicenseModel": { "const": "general-public-license" @@ -38465,12 +38701,6 @@ "db.r6g.8xlarge", "db.r6g.large", "db.r6g.xlarge", - "db.r6gd.12xlarge", - "db.r6gd.16xlarge", - "db.r6gd.2xlarge", - "db.r6gd.4xlarge", - "db.r6gd.8xlarge", - "db.r6gd.xlarge", "db.r6i.12xlarge", "db.r6i.16xlarge", "db.r6i.24xlarge", @@ -38482,9 +38712,9 @@ "db.r6i.xlarge", "db.r6id.24xlarge", "db.r6id.32xlarge", - "db.serverless", "db.t3.large", "db.t3.medium", + "db.t3.small", "db.t4g.large", "db.t4g.medium" ] @@ -38499,7 +38729,7 @@ "type": "string" }, "Engine": { - "const": "mariadb" + "const": "aurora-postgresql" }, "LicenseModel": false }, @@ -38512,45 +38742,6 @@ "properties": { "DBInstanceClass": { "enum": [ - "db.m6g.12xlarge", - "db.m6g.16xlarge", - "db.m6g.2xlarge", - "db.m6g.4xlarge", - "db.m6g.8xlarge", - "db.m6g.large", - "db.m6g.xlarge", - "db.m6gd.12xlarge", - "db.m6gd.16xlarge", - "db.m6gd.2xlarge", - "db.m6gd.4xlarge", - "db.m6gd.8xlarge", - "db.m6gd.large", - "db.m6gd.xlarge", - "db.m6i.12xlarge", - "db.m6i.16xlarge", - "db.m6i.24xlarge", - "db.m6i.2xlarge", - "db.m6i.32xlarge", - "db.m6i.4xlarge", - "db.m6i.8xlarge", - "db.m6i.large", - "db.m6i.xlarge", - "db.m6id.12xlarge", - "db.m6id.16xlarge", - "db.m6id.24xlarge", - "db.m6id.2xlarge", - "db.m6id.32xlarge", - "db.m6id.4xlarge", - "db.m6id.8xlarge", - "db.m6id.large", - "db.m6id.xlarge", - "db.m7g.12xlarge", - "db.m7g.16xlarge", - "db.m7g.2xlarge", - "db.m7g.4xlarge", - "db.m7g.8xlarge", - "db.m7g.large", - "db.m7g.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", @@ -38563,7 +38754,6 @@ "db.r6gd.2xlarge", "db.r6gd.4xlarge", "db.r6gd.8xlarge", - "db.r6gd.large", "db.r6gd.xlarge", "db.r6i.12xlarge", "db.r6i.16xlarge", @@ -38574,43 +38764,13 @@ "db.r6i.8xlarge", "db.r6i.large", "db.r6i.xlarge", - "db.r6id.12xlarge", - "db.r6id.16xlarge", "db.r6id.24xlarge", - "db.r6id.2xlarge", "db.r6id.32xlarge", - "db.r6id.4xlarge", - "db.r6id.8xlarge", - "db.r6id.large", - "db.r6id.xlarge", - "db.r7g.12xlarge", - "db.r7g.16xlarge", - "db.r7g.2xlarge", - "db.r7g.4xlarge", - "db.r7g.8xlarge", - "db.r7g.large", - "db.r7g.xlarge", - "db.r7i.12xlarge", - "db.r7i.16xlarge", - "db.r7i.24xlarge", - "db.r7i.2xlarge", - "db.r7i.48xlarge", - "db.r7i.4xlarge", - "db.r7i.8xlarge", - "db.r7i.large", - "db.r7i.xlarge", - "db.t3.2xlarge", + "db.serverless", "db.t3.large", "db.t3.medium", - "db.t3.micro", - "db.t3.small", - "db.t3.xlarge", - "db.t4g.2xlarge", "db.t4g.large", - "db.t4g.medium", - "db.t4g.micro", - "db.t4g.small", - "db.t4g.xlarge" + "db.t4g.medium" ] } } @@ -38623,7 +38783,7 @@ "type": "string" }, "Engine": { - "const": "mariadb" + "const": "aurora-postgresql" }, "LicenseModel": { "const": "general-public-license" @@ -38639,45 +38799,6 @@ "properties": { "DBInstanceClass": { "enum": [ - "db.m6g.12xlarge", - "db.m6g.16xlarge", - "db.m6g.2xlarge", - "db.m6g.4xlarge", - "db.m6g.8xlarge", - "db.m6g.large", - "db.m6g.xlarge", - "db.m6gd.12xlarge", - "db.m6gd.16xlarge", - "db.m6gd.2xlarge", - "db.m6gd.4xlarge", - "db.m6gd.8xlarge", - "db.m6gd.large", - "db.m6gd.xlarge", - "db.m6i.12xlarge", - "db.m6i.16xlarge", - "db.m6i.24xlarge", - "db.m6i.2xlarge", - "db.m6i.32xlarge", - "db.m6i.4xlarge", - "db.m6i.8xlarge", - "db.m6i.large", - "db.m6i.xlarge", - "db.m6id.12xlarge", - "db.m6id.16xlarge", - "db.m6id.24xlarge", - "db.m6id.2xlarge", - "db.m6id.32xlarge", - "db.m6id.4xlarge", - "db.m6id.8xlarge", - "db.m6id.large", - "db.m6id.xlarge", - "db.m7g.12xlarge", - "db.m7g.16xlarge", - "db.m7g.2xlarge", - "db.m7g.4xlarge", - "db.m7g.8xlarge", - "db.m7g.large", - "db.m7g.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", @@ -38690,7 +38811,6 @@ "db.r6gd.2xlarge", "db.r6gd.4xlarge", "db.r6gd.8xlarge", - "db.r6gd.large", "db.r6gd.xlarge", "db.r6i.12xlarge", "db.r6i.16xlarge", @@ -38701,43 +38821,13 @@ "db.r6i.8xlarge", "db.r6i.large", "db.r6i.xlarge", - "db.r6id.12xlarge", - "db.r6id.16xlarge", "db.r6id.24xlarge", - "db.r6id.2xlarge", "db.r6id.32xlarge", - "db.r6id.4xlarge", - "db.r6id.8xlarge", - "db.r6id.large", - "db.r6id.xlarge", - "db.r7g.12xlarge", - "db.r7g.16xlarge", - "db.r7g.2xlarge", - "db.r7g.4xlarge", - "db.r7g.8xlarge", - "db.r7g.large", - "db.r7g.xlarge", - "db.r7i.12xlarge", - "db.r7i.16xlarge", - "db.r7i.24xlarge", - "db.r7i.2xlarge", - "db.r7i.48xlarge", - "db.r7i.4xlarge", - "db.r7i.8xlarge", - "db.r7i.large", - "db.r7i.xlarge", - "db.t3.2xlarge", + "db.serverless", "db.t3.large", "db.t3.medium", - "db.t3.micro", - "db.t3.small", - "db.t3.xlarge", - "db.t4g.2xlarge", "db.t4g.large", - "db.t4g.medium", - "db.t4g.micro", - "db.t4g.small", - "db.t4g.xlarge" + "db.t4g.medium" ] } } @@ -38750,7 +38840,7 @@ "type": "string" }, "Engine": { - "const": "postgres" + "const": "mariadb" }, "LicenseModel": false }, @@ -38802,6 +38892,15 @@ "db.m7g.8xlarge", "db.m7g.large", "db.m7g.xlarge", + "db.m7i.12xlarge", + "db.m7i.16xlarge", + "db.m7i.24xlarge", + "db.m7i.2xlarge", + "db.m7i.48xlarge", + "db.m7i.4xlarge", + "db.m7i.8xlarge", + "db.m7i.large", + "db.m7i.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", @@ -38874,7 +38973,7 @@ "type": "string" }, "Engine": { - "const": "postgres" + "const": "mariadb" }, "LicenseModel": { "const": "general-public-license" @@ -38929,6 +39028,15 @@ "db.m7g.8xlarge", "db.m7g.large", "db.m7g.xlarge", + "db.m7i.12xlarge", + "db.m7i.16xlarge", + "db.m7i.24xlarge", + "db.m7i.2xlarge", + "db.m7i.48xlarge", + "db.m7i.4xlarge", + "db.m7i.8xlarge", + "db.m7i.large", + "db.m7i.xlarge", "db.r6g.12xlarge", "db.r6g.16xlarge", "db.r6g.2xlarge", diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_appstream_application/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_appstream_application/boto.json index dfad73967a..26d13e2a2b 100644 --- a/src/cfnlint/data/schemas/patches/extensions/all/aws_appstream_application/boto.json +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_appstream_application/boto.json @@ -15,6 +15,7 @@ "value": [ "AMAZON_LINUX2", "RHEL8", + "ROCKY_LINUX8", "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_databrew_dataset/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_databrew_dataset/boto.json new file mode 100644 index 0000000000..aaec71b58a --- /dev/null +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_databrew_dataset/boto.json @@ -0,0 +1,7 @@ +[ + { + "op": "add", + "path": "/definitions/BucketOwner/pattern", + "value": "^[0-9]{12}$" + } +] diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_cluster/__init__.py b/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_cluster/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_cluster/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_cluster/boto.json new file mode 100644 index 0000000000..0b95be6bd0 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_cluster/boto.json @@ -0,0 +1,12 @@ +[ + { + "op": "add", + "path": "/definitions/SubnetId/pattern", + "value": "subnet-\\w{8,17}" + }, + { + "op": "add", + "path": "/definitions/SecurityGroupId/pattern", + "value": "sg-\\w{8,17}" + } +] diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_computenodegroup/__init__.py b/src/cfnlint/data/schemas/patches/extensions/all/aws_pcs_computenodegroup/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_sagemaker_partnerapp/__init__.py b/src/cfnlint/data/schemas/patches/extensions/all/aws_sagemaker_partnerapp/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_sagemaker_partnerapp/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_sagemaker_partnerapp/boto.json new file mode 100644 index 0000000000..03bee9186a --- /dev/null +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_sagemaker_partnerapp/boto.json @@ -0,0 +1,22 @@ +[ + { + "op": "add", + "path": "/properties/Tier/pattern", + "value": "^(?!\\s*$).+" + }, + { + "op": "add", + "path": "/definitions/PartnerAppAdminUserList/pattern", + "value": "^(?!\\s*$).+" + }, + { + "op": "add", + "path": "/definitions/Tag/properties/Key/pattern", + "value": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + { + "op": "add", + "path": "/definitions/Tag/properties/Value/pattern", + "value": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } +] diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_synthetics_canary/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_synthetics_canary/boto.json index 00f5444225..350677f8a9 100644 --- a/src/cfnlint/data/schemas/patches/extensions/all/aws_synthetics_canary/boto.json +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_synthetics_canary/boto.json @@ -20,6 +20,6 @@ { "op": "add", "path": "/definitions/S3Encryption/properties/KmsKeyArn/pattern", - "value": "arn:(aws[a-zA-Z-]*)?:kms:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:key/[\\w\\-\\/]+" + "value": "arn:(aws[a-zA-Z-]*)?:kms:[a-z]{2,4}(-[a-z]{2,4})?-[a-z]+-\\d{1}:\\d{12}:key/[\\w\\-\\/]+" } ] 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 64db423a4b..eac812184c 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py @@ -890,6 +890,7 @@ "aws-apigateway-documentationversion.json", "aws-apigateway-domainname.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -1088,7 +1089,6 @@ "aws-customerprofiles-integration.json", "aws-customerprofiles-objecttype.json", "aws-customerprofiles-segmentdefinition.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1165,6 +1165,7 @@ "aws-ec2-networkinsightsaccessscopeanalysis.json", "aws-ec2-networkinsightsanalysis.json", "aws-ec2-networkinsightspath.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", "aws-ec2-placementgroup.json", @@ -1204,7 +1205,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -1223,6 +1223,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1261,8 +1262,6 @@ "aws-emr-instancegroupconfig.json", "aws-emr-securityconfiguration.json", "aws-emr-step.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-emr-walworkspace.json", "aws-emrcontainers-virtualcluster.json", "aws-emrserverless-application.json", @@ -1375,6 +1374,7 @@ "aws-lex-botalias.json", "aws-lex-botversion.json", "aws-lex-resourcepolicy.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1462,9 +1462,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1630,6 +1628,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-batch-jobdefinition.json index ef7e6803f7..8cf0dc8d17 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-batch-jobdefinition.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-batch-jobdefinition.json @@ -1,6 +1,7 @@ { "additionalProperties": false, "createOnlyProperties": [ + "/properties/Tags", "/properties/JobDefinitionName" ], "definitions": { @@ -76,9 +77,6 @@ "ReadonlyRootFilesystem": { "type": "boolean" }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, "ResourceRequirements": { "items": { "$ref": "#/definitions/ResourceRequirement" @@ -141,66 +139,6 @@ }, "type": "object" }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, "EfsVolumeConfiguration": { "additionalProperties": false, "properties": { @@ -315,9 +253,6 @@ "EksContainerSecurityContext": { "additionalProperties": false, "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, "Privileged": { "type": "boolean" }, @@ -471,18 +406,6 @@ }, "type": "object" }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, "LinuxParameters": { "additionalProperties": false, "properties": { @@ -608,19 +531,6 @@ "Container": { "$ref": "#/definitions/ContainerProperties" }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, "TargetNodes": { "type": "string" } @@ -646,29 +556,12 @@ "HostNetwork": { "type": "boolean" }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, "Metadata": { "$ref": "#/definitions/Metadata" }, "ServiceAccountName": { "type": "string" }, - "ShareProcessNamespace": { - "type": "boolean" - }, "Volumes": { "items": { "$ref": "#/definitions/EksVolume" @@ -679,18 +572,6 @@ }, "type": "object" }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, "ResourceRequirement": { "additionalProperties": false, "properties": { @@ -747,107 +628,6 @@ ], "type": "object" }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, "Timeout": { "additionalProperties": false, "properties": { @@ -932,9 +712,6 @@ "ContainerProperties": { "$ref": "#/definitions/ContainerProperties" }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, "EksProperties": { "$ref": "#/definitions/EksProperties" }, diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-databrew-dataset.json similarity index 96% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-databrew-dataset.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-databrew-dataset.json index ff369cfd19..58187f9b37 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-databrew-dataset.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-databrew-dataset.json @@ -5,11 +5,6 @@ "/properties/Tags" ], "definitions": { - "BucketOwner": { - "maxLength": 12, - "minLength": 12, - "type": "string" - }, "CsvOptions": { "additionalProperties": false, "properties": { @@ -324,9 +319,6 @@ "Bucket": { "type": "string" }, - "BucketOwner": { - "$ref": "#/definitions/BucketOwner" - }, "Key": { "type": "string" } @@ -385,14 +377,6 @@ "PathOptions": { "$ref": "#/definitions/PathOptions" }, - "Source": { - "enum": [ - "S3", - "DATA-CATALOG", - "DATABASE" - ], - "type": "string" - }, "Tags": { "insertionOrder": false, "items": { diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-vpcendpoint.json similarity index 100% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpcendpoint.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-vpcendpoint.json diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json similarity index 99% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json index 8372362d6b..4e5428d4a2 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbcluster.json @@ -104,9 +104,6 @@ }, "MinCapacity": { "type": "number" - }, - "SecondsUntilAutoPause": { - "type": "integer" } }, "type": "object" diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbinstance.json similarity index 99% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbinstance.json index f20e802a6a..71fda608fe 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbinstance.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-rds-dbinstance.json @@ -26,7 +26,6 @@ "/properties/DBInstanceIdentifier", "/properties/DBName", "/properties/DBSubnetGroupName", - "/properties/DBSystemId", "/properties/KmsKeyId", "/properties/MasterUsername", "/properties/NcharCharacterSetName", @@ -480,7 +479,6 @@ "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/DBSystemId": "$uppercase(DBSystemId)", "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", @@ -499,6 +497,7 @@ "/properties/Endpoint/HostedZoneId", "/properties/DbiResourceId", "/properties/DBInstanceArn", + "/properties/DBSystemId", "/properties/MasterUserSecret/SecretArn", "/properties/CertificateDetails/CAIdentifier", "/properties/CertificateDetails/ValidTill" diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 31a0373cba..3f2824cedb 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py @@ -111,6 +111,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -947,10 +948,12 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1041,7 +1044,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1162,7 +1164,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -1181,6 +1182,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1419,7 +1421,6 @@ "aws-opensearchserverless-securityconfig.json", "aws-opensearchserverless-securitypolicy.json", "aws-opensearchserverless-vpcendpoint.json", - "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-instance.json", @@ -1443,9 +1444,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1608,6 +1607,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-policy.json", diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-vpcendpoint.json similarity index 100% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpcendpoint.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-vpcendpoint.json diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-opensearchservice-domain.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-opensearchservice-domain.json similarity index 91% rename from src/cfnlint/data/schemas/providers/ap_southeast_4/aws-opensearchservice-domain.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-opensearchservice-domain.json index c3ce78e81a..2f0285dbe8 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-opensearchservice-domain.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-opensearchservice-domain.json @@ -159,6 +159,30 @@ }, "type": "object" }, + "IdentityCenterOptions": { + "additionalProperties": false, + "properties": { + "EnabledAPIAccess": { + "type": "boolean" + }, + "IdentityCenterApplicationARN": { + "type": "string" + }, + "IdentityCenterInstanceARN": { + "type": "string" + }, + "IdentityStoreId": { + "type": "string" + }, + "RolesKey": { + "$ref": "#/definitions/RolesKeyIdcType" + }, + "SubjectKey": { + "$ref": "#/definitions/SubjectKeyIdcType" + } + }, + "type": "object" + }, "Idp": { "additionalProperties": false, "properties": { @@ -252,6 +276,13 @@ }, "type": "object" }, + "RolesKeyIdcType": { + "enum": [ + "GroupName", + "GroupId" + ], + "type": "string" + }, "SAMLOptions": { "additionalProperties": false, "properties": { @@ -327,6 +358,14 @@ }, "type": "object" }, + "SubjectKeyIdcType": { + "enum": [ + "UserName", + "UserId", + "Email" + ], + "type": "string" + }, "Tag": { "additionalProperties": false, "properties": { @@ -470,6 +509,9 @@ "Id": { "type": "string" }, + "IdentityCenterOptions": { + "$ref": "#/definitions/IdentityCenterOptions" + }, "LogPublishingOptions": { "additionalProperties": false, "patternProperties": { @@ -516,7 +558,9 @@ "/properties/DomainEndpointV2", "/properties/DomainEndpoints", "/properties/ServiceSoftwareOptions", - "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate" + "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate", + "/properties/IdentityCenterOptions/IdentityCenterApplicationARN", + "/properties/IdentityCenterOptions/IdentityStoreId" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "typeName": "AWS::OpenSearchService::Domain", diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbcluster.json similarity index 99% rename from src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbcluster.json index 8372362d6b..4e5428d4a2 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbcluster.json @@ -104,9 +104,6 @@ }, "MinCapacity": { "type": "number" - }, - "SecondsUntilAutoPause": { - "type": "integer" } }, "type": "object" diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbinstance.json similarity index 99% rename from src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbinstance.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbinstance.json index f20e802a6a..71fda608fe 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbinstance.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-rds-dbinstance.json @@ -26,7 +26,6 @@ "/properties/DBInstanceIdentifier", "/properties/DBName", "/properties/DBSubnetGroupName", - "/properties/DBSystemId", "/properties/KmsKeyId", "/properties/MasterUsername", "/properties/NcharCharacterSetName", @@ -480,7 +479,6 @@ "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/DBSystemId": "$uppercase(DBSystemId)", "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", @@ -499,6 +497,7 @@ "/properties/Endpoint/HostedZoneId", "/properties/DbiResourceId", "/properties/DBInstanceArn", + "/properties/DBSystemId", "/properties/MasterUserSecret/SecretArn", "/properties/CertificateDetails/CAIdentifier", "/properties/CertificateDetails/ValidTill" diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 a114b293db..c5ae9f6242 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py @@ -157,6 +157,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -935,6 +936,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::PaymentCryptography::Alias", "AWS::PaymentCryptography::Key", "AWS::Personalize::Dataset", @@ -967,6 +971,7 @@ "AWS::QLDB::Ledger", "AWS::QLDB::Stream", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1448,6 +1453,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1613,7 +1619,6 @@ "aws-datasync-locationsmb.json", "aws-datasync-storagesystem.json", "aws-datasync-task.json", - "aws-datazone-datasource.json", "aws-datazone-domain.json", "aws-datazone-environment.json", "aws-datazone-environmentactions.json", @@ -2082,6 +2087,7 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -2225,6 +2231,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", @@ -2251,6 +2260,7 @@ "aws-qldb-ledger.json", "aws-qldb-stream.json", "aws-quicksight-analysis.json", + "aws-quicksight-custompermissions.json", "aws-quicksight-dashboard.json", "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", @@ -2377,6 +2387,7 @@ "aws-sagemaker-monitoringschedule.json", "aws-sagemaker-notebookinstance.json", "aws-sagemaker-notebookinstancelifecycleconfig.json", + "aws-sagemaker-partnerapp.json", "aws-sagemaker-pipeline.json", "aws-sagemaker-project.json", "aws-sagemaker-space.json", @@ -2438,7 +2449,6 @@ "aws-ses-mailmanagerarchive.json", "aws-ses-mailmanageringresspoint.json", "aws-ses-mailmanagerrelay.json", - "aws-ses-mailmanagerruleset.json", "aws-ses-mailmanagertrafficpolicy.json", "aws-ses-receiptfilter.json", "aws-ses-receiptrule.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-datazone-datasource.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-datazone-datasource.json new file mode 100644 index 0000000000..ec66adcc4a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-datazone-datasource.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/EnvironmentIdentifier", + "/properties/DomainIdentifier", + "/properties/ProjectIdentifier", + "/properties/Type" + ], + "definitions": { + "AccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}$", + "type": "string" + }, + "DataAccessRole": { + "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$", + "type": "string" + }, + "DataSourceConfigurationInput": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "GlueRunConfiguration": { + "$ref": "#/definitions/GlueRunConfigurationInput" + } + }, + "title": "GlueRunConfiguration", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "RedshiftRunConfiguration": { + "$ref": "#/definitions/RedshiftRunConfigurationInput" + } + }, + "title": "RedshiftRunConfiguration", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "SageMakerRunConfiguration": { + "$ref": "#/definitions/SageMakerRunConfigurationInput" + } + }, + "title": "SageMakerRunConfiguration", + "type": "object" + } + ] + }, + "DataSourceStatus": { + "enum": [ + "CREATING", + "FAILED_CREATION", + "READY", + "UPDATING", + "FAILED_UPDATE", + "RUNNING", + "DELETING", + "FAILED_DELETION" + ], + "type": "string" + }, + "EnableSetting": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "Type": { + "$ref": "#/definitions/FilterExpressionType" + } + }, + "required": [ + "Expression", + "Type" + ], + "type": "object" + }, + "FilterExpressionType": { + "enum": [ + "INCLUDE", + "EXCLUDE" + ], + "type": "string" + }, + "FormInput": { + "additionalProperties": false, + "properties": { + "Content": { + "maxLength": 75000, + "type": "string" + }, + "FormName": { + "$ref": "#/definitions/FormName" + }, + "TypeIdentifier": { + "maxLength": 385, + "minLength": 1, + "pattern": "^(?!\\.)[\\w\\.]*\\w$", + "type": "string" + }, + "TypeRevision": { + "$ref": "#/definitions/TypeRevision" + } + }, + "required": [ + "FormName" + ], + "type": "object" + }, + "FormName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?![0-9_])\\w+$|^_\\w*[a-zA-Z0-9]\\w*$", + "type": "string" + }, + "GlueRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "AutoImportDataQualityResult": { + "type": "boolean" + }, + "DataAccessRole": { + "$ref": "#/definitions/DataAccessRole" + }, + "RelationalFilterConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RelationalFilterConfiguration" + }, + "type": "array" + } + }, + "required": [ + "RelationalFilterConfigurations" + ], + "type": "object" + }, + "RecommendationConfiguration": { + "additionalProperties": false, + "properties": { + "EnableBusinessNameGeneration": { + "type": "boolean" + } + }, + "type": "object" + }, + "RedshiftClusterStorage": { + "additionalProperties": false, + "properties": { + "ClusterName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[0-9a-z].[a-z0-9\\-]*$", + "type": "string" + } + }, + "required": [ + "ClusterName" + ], + "type": "object" + }, + "RedshiftCredentialConfiguration": { + "additionalProperties": false, + "properties": { + "SecretManagerArn": { + "maxLength": 256, + "pattern": "^arn:aws[^:]*:secretsmanager:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:secret:.*$", + "type": "string" + } + }, + "required": [ + "SecretManagerArn" + ], + "type": "object" + }, + "RedshiftRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "DataAccessRole": { + "$ref": "#/definitions/DataAccessRole" + }, + "RedshiftCredentialConfiguration": { + "$ref": "#/definitions/RedshiftCredentialConfiguration" + }, + "RedshiftStorage": { + "$ref": "#/definitions/RedshiftStorage" + }, + "RelationalFilterConfigurations": { + "$ref": "#/definitions/RelationalFilterConfigurations" + } + }, + "required": [ + "RedshiftCredentialConfiguration", + "RedshiftStorage", + "RelationalFilterConfigurations" + ], + "type": "object" + }, + "RedshiftServerlessStorage": { + "additionalProperties": false, + "properties": { + "WorkgroupName": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-z0-9-]+$", + "type": "string" + } + }, + "required": [ + "WorkgroupName" + ], + "type": "object" + }, + "RedshiftStorage": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "RedshiftClusterSource": { + "$ref": "#/definitions/RedshiftClusterStorage" + } + }, + "required": [ + "RedshiftClusterSource" + ], + "title": "RedshiftClusterSource", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "RedshiftServerlessSource": { + "$ref": "#/definitions/RedshiftServerlessStorage" + } + }, + "required": [ + "RedshiftServerlessSource" + ], + "title": "RedshiftServerlessSource", + "type": "object" + } + ] + }, + "Region": { + "maxLength": 16, + "minLength": 4, + "pattern": "[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]", + "type": "string" + }, + "RelationalFilterConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "FilterExpressions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/FilterExpression" + }, + "type": "array" + }, + "SchemaName": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "DatabaseName" + ], + "type": "object" + }, + "RelationalFilterConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RelationalFilterConfiguration" + }, + "type": "array" + }, + "SageMakerRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "TrackingAssets": { + "$ref": "#/definitions/TrackingAssets" + } + }, + "required": [ + "TrackingAssets" + ], + "type": "object" + }, + "ScheduleConfiguration": { + "additionalProperties": false, + "properties": { + "Schedule": { + "maxLength": 256, + "minLength": 1, + "pattern": "cron\\((\\b[0-5]?[0-9]\\b) (\\b2[0-3]\\b|\\b[0-1]?[0-9]\\b) (.*){1,5} (.*){1,5} (.*){1,5} (.*){1,5}\\)", + "type": "string" + }, + "Timezone": { + "$ref": "#/definitions/Timezone" + } + }, + "type": "object" + }, + "Timezone": { + "enum": [ + "AFRICA_JOHANNESBURG", + "AMERICA_MONTREAL", + "AMERICA_SAO_PAULO", + "ASIA_BAHRAIN", + "ASIA_BANGKOK", + "ASIA_CALCUTTA", + "ASIA_DUBAI", + "ASIA_HONG_KONG", + "ASIA_JAKARTA", + "ASIA_KUALA_LUMPUR", + "ASIA_SEOUL", + "ASIA_SHANGHAI", + "ASIA_SINGAPORE", + "ASIA_TAIPEI", + "ASIA_TOKYO", + "AUSTRALIA_MELBOURNE", + "AUSTRALIA_SYDNEY", + "CANADA_CENTRAL", + "CET", + "CST6CDT", + "ETC_GMT", + "ETC_GMT0", + "ETC_GMT_ADD_0", + "ETC_GMT_ADD_1", + "ETC_GMT_ADD_10", + "ETC_GMT_ADD_11", + "ETC_GMT_ADD_12", + "ETC_GMT_ADD_2", + "ETC_GMT_ADD_3", + "ETC_GMT_ADD_4", + "ETC_GMT_ADD_5", + "ETC_GMT_ADD_6", + "ETC_GMT_ADD_7", + "ETC_GMT_ADD_8", + "ETC_GMT_ADD_9", + "ETC_GMT_NEG_0", + "ETC_GMT_NEG_1", + "ETC_GMT_NEG_10", + "ETC_GMT_NEG_11", + "ETC_GMT_NEG_12", + "ETC_GMT_NEG_13", + "ETC_GMT_NEG_14", + "ETC_GMT_NEG_2", + "ETC_GMT_NEG_3", + "ETC_GMT_NEG_4", + "ETC_GMT_NEG_5", + "ETC_GMT_NEG_6", + "ETC_GMT_NEG_7", + "ETC_GMT_NEG_8", + "ETC_GMT_NEG_9", + "EUROPE_DUBLIN", + "EUROPE_LONDON", + "EUROPE_PARIS", + "EUROPE_STOCKHOLM", + "EUROPE_ZURICH", + "ISRAEL", + "MEXICO_GENERAL", + "MST7MDT", + "PACIFIC_AUCKLAND", + "US_CENTRAL", + "US_EASTERN", + "US_MOUNTAIN", + "US_PACIFIC", + "UTC" + ], + "type": "string" + }, + "TrackingAssets": { + "additionalProperties": false, + "maxProperties": 1, + "patternProperties": { + "^.{1,64}$": { + "items": { + "pattern": "^arn:aws[^:]*:sagemaker:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:[\\w+=,.@-]{1,128}/[\\w+=,.@-]{1,256}$", + "type": "string" + }, + "maxItems": 500, + "minItems": 0, + "type": "array" + } + }, + "type": "object" + }, + "TypeRevision": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/DomainId", + "/properties/Id" + ], + "properties": { + "AssetFormsInput": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/FormInput" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/DataSourceConfigurationInput" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "Description": { + "maxLength": 2048, + "type": "string" + }, + "DomainId": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "DomainIdentifier": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "EnableSetting": { + "$ref": "#/definitions/EnableSetting" + }, + "EnvironmentId": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "EnvironmentIdentifier": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "Id": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "LastRunAssetCount": { + "type": "number" + }, + "LastRunAt": { + "type": "string" + }, + "LastRunStatus": { + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "ProjectId": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "ProjectIdentifier": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "PublishOnImport": { + "type": "boolean" + }, + "Recommendation": { + "$ref": "#/definitions/RecommendationConfiguration" + }, + "Schedule": { + "$ref": "#/definitions/ScheduleConfiguration" + }, + "Status": { + "$ref": "#/definitions/DataSourceStatus" + }, + "Type": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/DomainId", + "/properties/EnvironmentId", + "/properties/Id", + "/properties/LastRunAssetCount", + "/properties/LastRunAt", + "/properties/LastRunStatus", + "/properties/ProjectId", + "/properties/Status", + "/properties/UpdatedAt" + ], + "required": [ + "Name", + "DomainIdentifier", + "ProjectIdentifier", + "EnvironmentIdentifier", + "Type" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::DataZone::DataSource", + "writeOnlyProperties": [ + "/properties/AssetFormsInput", + "/properties/EnvironmentIdentifier", + "/properties/DomainIdentifier", + "/properties/Configuration", + "/properties/ProjectIdentifier" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagerruleset.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagerruleset.json new file mode 100644 index 0000000000..69697781a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-mailmanagerruleset.json @@ -0,0 +1,903 @@ +{ + "additionalProperties": false, + "definitions": { + "ActionFailurePolicy": { + "enum": [ + "CONTINUE", + "DROP" + ], + "type": "string" + }, + "AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[xX]\\-[a-zA-Z0-9\\-]+$", + "type": "string" + }, + "HeaderValue": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "Analysis": { + "additionalProperties": false, + "properties": { + "Analyzer": { + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "ResultField": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[\\sa-zA-Z0-9_]+$", + "type": "string" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "type": "object" + }, + "ArchiveAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "TargetArchive": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "TargetArchive" + ], + "type": "object" + }, + "DeliverToMailboxAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailboxArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "MailboxArn", + "RoleArn" + ], + "type": "object" + }, + "DeliverToQBusinessAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "ApplicationId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^[a-z0-9-]+$", + "type": "string" + }, + "IndexId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^[a-z0-9-]+$", + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "ApplicationId", + "IndexId", + "RoleArn" + ], + "type": "object" + }, + "DropAction": { + "additionalProperties": false, + "type": "object" + }, + "MailFrom": { + "enum": [ + "REPLACE", + "PRESERVE" + ], + "type": "string" + }, + "RelayAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailFrom": { + "$ref": "#/definitions/MailFrom" + }, + "Relay": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "Relay" + ], + "type": "object" + }, + "ReplaceRecipientAction": { + "additionalProperties": false, + "properties": { + "ReplaceWith": { + "items": { + "maxLength": 254, + "minLength": 0, + "pattern": "^[0-9A-Za-z@+.-]+$", + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/RuleAction" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Unless": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "RuleAction": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Drop": { + "$ref": "#/definitions/DropAction" + } + }, + "required": [ + "Drop" + ], + "title": "Drop", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Relay": { + "$ref": "#/definitions/RelayAction" + } + }, + "required": [ + "Relay" + ], + "title": "Relay", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Archive": { + "$ref": "#/definitions/ArchiveAction" + } + }, + "required": [ + "Archive" + ], + "title": "Archive", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "WriteToS3": { + "$ref": "#/definitions/S3Action" + } + }, + "required": [ + "WriteToS3" + ], + "title": "WriteToS3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Send": { + "$ref": "#/definitions/SendAction" + } + }, + "required": [ + "Send" + ], + "title": "Send", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "AddHeader": { + "$ref": "#/definitions/AddHeaderAction" + } + }, + "required": [ + "AddHeader" + ], + "title": "AddHeader", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "ReplaceRecipient": { + "$ref": "#/definitions/ReplaceRecipientAction" + } + }, + "required": [ + "ReplaceRecipient" + ], + "title": "ReplaceRecipient", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DeliverToMailbox": { + "$ref": "#/definitions/DeliverToMailboxAction" + } + }, + "required": [ + "DeliverToMailbox" + ], + "title": "DeliverToMailbox", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DeliverToQBusiness": { + "$ref": "#/definitions/DeliverToQBusinessAction" + } + }, + "required": [ + "DeliverToQBusiness" + ], + "title": "DeliverToQBusiness", + "type": "object" + } + ] + }, + "RuleBooleanEmailAttribute": { + "enum": [ + "READ_RECEIPT_REQUESTED", + "TLS", + "TLS_WRAPPED" + ], + "type": "string" + }, + "RuleBooleanExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "type": "object" + }, + "RuleBooleanOperator": { + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "type": "string" + }, + "RuleBooleanToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleBooleanEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleCondition": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/RuleBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "title": "BooleanExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "StringExpression": { + "$ref": "#/definitions/RuleStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "title": "StringExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "NumberExpression": { + "$ref": "#/definitions/RuleNumberExpression" + } + }, + "required": [ + "NumberExpression" + ], + "title": "NumberExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "IpExpression": { + "$ref": "#/definitions/RuleIpExpression" + } + }, + "required": [ + "IpExpression" + ], + "title": "IpExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "VerdictExpression": { + "$ref": "#/definitions/RuleVerdictExpression" + } + }, + "required": [ + "VerdictExpression" + ], + "title": "VerdictExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DmarcExpression": { + "$ref": "#/definitions/RuleDmarcExpression" + } + }, + "required": [ + "DmarcExpression" + ], + "title": "DmarcExpression", + "type": "object" + } + ] + }, + "RuleDmarcExpression": { + "additionalProperties": false, + "properties": { + "Operator": { + "$ref": "#/definitions/RuleDmarcOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleDmarcPolicy" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Operator", + "Values" + ], + "type": "object" + }, + "RuleDmarcOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleDmarcPolicy": { + "enum": [ + "NONE", + "QUARANTINE", + "REJECT" + ], + "type": "string" + }, + "RuleIpEmailAttribute": { + "enum": [ + "SOURCE_IP" + ], + "type": "string" + }, + "RuleIpExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleIpOperator" + }, + "Values": { + "items": { + "maxLength": 18, + "minLength": 1, + "pattern": "^(([0-9]|.|/)*)$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleIpOperator": { + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "type": "string" + }, + "RuleIpToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleIpEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleNumberEmailAttribute": { + "enum": [ + "MESSAGE_SIZE" + ], + "type": "string" + }, + "RuleNumberExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleNumberToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleNumberOperator" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "type": "object" + }, + "RuleNumberOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "LESS_THAN", + "GREATER_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN_OR_EQUAL" + ], + "type": "string" + }, + "RuleNumberToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleNumberEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleStringEmailAttribute": { + "enum": [ + "MAIL_FROM", + "HELO", + "RECIPIENT", + "SENDER", + "FROM", + "SUBJECT", + "TO", + "CC" + ], + "type": "string" + }, + "RuleStringExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleStringOperator" + }, + "Values": { + "items": { + "maxLength": 4096, + "minLength": 1, + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleStringOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "type": "string" + }, + "RuleStringToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "MimeHeaderAttribute": { + "pattern": "^X-[a-zA-Z0-9-]{1,256}$", + "type": "string" + } + }, + "required": [ + "MimeHeaderAttribute" + ], + "title": "MimeHeaderAttribute", + "type": "object" + } + ] + }, + "RuleVerdict": { + "enum": [ + "PASS", + "FAIL", + "GRAY", + "PROCESSING_FAILED" + ], + "type": "string" + }, + "RuleVerdictAttribute": { + "enum": [ + "SPF", + "DKIM" + ], + "type": "string" + }, + "RuleVerdictExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleVerdictToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleVerdictOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleVerdict" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleVerdictOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleVerdictToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleVerdictAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/Analysis" + } + }, + "required": [ + "Analysis" + ], + "title": "Analysis", + "type": "object" + } + ] + }, + "S3Action": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "S3Bucket": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9.-]+$", + "type": "string" + }, + "S3Prefix": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9!_.*'()/-]+$", + "type": "string" + }, + "S3SseKmsKeyId": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9-:/]+$", + "type": "string" + } + }, + "required": [ + "RoleArn", + "S3Bucket" + ], + "type": "object" + }, + "SendAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/RuleSetId" + ], + "properties": { + "RuleSetArn": { + "type": "string" + }, + "RuleSetId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "RuleSetName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/Rule" + }, + "maxItems": 40, + "minItems": 0, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RuleSetArn", + "/properties/RuleSetId" + ], + "required": [ + "Rules" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerRuleSet" +} 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 762d717d3d..8723f13b9a 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py @@ -151,6 +151,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -1319,7 +1320,6 @@ "aws-batch-computeenvironment.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", - "aws-bedrock-agent.json", "aws-bedrock-agentalias.json", "aws-bedrock-applicationinferenceprofile.json", "aws-bedrock-datasource.json", @@ -1335,6 +1335,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1472,7 +1473,6 @@ "aws-customerprofiles-integration.json", "aws-customerprofiles-objecttype.json", "aws-customerprofiles-segmentdefinition.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1569,6 +1569,7 @@ "aws-ec2-networkinsightsaccessscopeanalysis.json", "aws-ec2-networkinsightsanalysis.json", "aws-ec2-networkinsightspath.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-networkperformancemetricsubscription.json", @@ -1614,7 +1615,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -1633,6 +1633,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1911,6 +1912,7 @@ "aws-lightsail-loadbalancer.json", "aws-lightsail-loadbalancertlscertificate.json", "aws-lightsail-staticip.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1946,6 +1948,7 @@ "aws-mediaconvert-preset.json", "aws-mediaconvert-queue.json", "aws-medialive-channel.json", + "aws-medialive-channelplacementgroup.json", "aws-medialive-cloudwatchalarmtemplate.json", "aws-medialive-cloudwatchalarmtemplategroup.json", "aws-medialive-cluster.json", @@ -2076,9 +2079,7 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -2284,6 +2285,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-batch-jobdefinition.json index ef7e6803f7..8cf0dc8d17 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-batch-jobdefinition.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-batch-jobdefinition.json @@ -1,6 +1,7 @@ { "additionalProperties": false, "createOnlyProperties": [ + "/properties/Tags", "/properties/JobDefinitionName" ], "definitions": { @@ -76,9 +77,6 @@ "ReadonlyRootFilesystem": { "type": "boolean" }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, "ResourceRequirements": { "items": { "$ref": "#/definitions/ResourceRequirement" @@ -141,66 +139,6 @@ }, "type": "object" }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, "EfsVolumeConfiguration": { "additionalProperties": false, "properties": { @@ -315,9 +253,6 @@ "EksContainerSecurityContext": { "additionalProperties": false, "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, "Privileged": { "type": "boolean" }, @@ -471,18 +406,6 @@ }, "type": "object" }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, "LinuxParameters": { "additionalProperties": false, "properties": { @@ -608,19 +531,6 @@ "Container": { "$ref": "#/definitions/ContainerProperties" }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, "TargetNodes": { "type": "string" } @@ -646,29 +556,12 @@ "HostNetwork": { "type": "boolean" }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, "Metadata": { "$ref": "#/definitions/Metadata" }, "ServiceAccountName": { "type": "string" }, - "ShareProcessNamespace": { - "type": "boolean" - }, "Volumes": { "items": { "$ref": "#/definitions/EksVolume" @@ -679,18 +572,6 @@ }, "type": "object" }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, "ResourceRequirement": { "additionalProperties": false, "properties": { @@ -747,107 +628,6 @@ ], "type": "object" }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, "Timeout": { "additionalProperties": false, "properties": { @@ -932,9 +712,6 @@ "ContainerProperties": { "$ref": "#/definitions/ContainerProperties" }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, "EksProperties": { "$ref": "#/definitions/EksProperties" }, diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-bedrock-agent.json new file mode 100644 index 0000000000..cf36f7f277 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-bedrock-agent.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "definitions": { + "APISchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/S3Identifier" + } + }, + "required": [ + "S3" + ], + "title": "S3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "title": "Payload", + "type": "object" + } + ] + }, + "ActionGroupExecutor": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Lambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + } + }, + "required": [ + "Lambda" + ], + "title": "Lambda", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "title": "CustomControl", + "type": "object" + } + ] + }, + "ActionGroupSignature": { + "enum": [ + "AMAZON.UserInput", + "AMAZON.CodeInterpreter" + ], + "type": "string" + }, + "ActionGroupState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "AgentActionGroup": { + "additionalProperties": false, + "properties": { + "ActionGroupExecutor": { + "$ref": "#/definitions/ActionGroupExecutor" + }, + "ActionGroupName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "ActionGroupState": { + "$ref": "#/definitions/ActionGroupState" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, + "ParentActionGroupSignature": { + "$ref": "#/definitions/ActionGroupSignature" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "ActionGroupName" + ], + "type": "object" + }, + "AgentKnowledgeBase": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "KnowledgeBaseId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "KnowledgeBaseState": { + "$ref": "#/definitions/KnowledgeBaseState" + } + }, + "required": [ + "KnowledgeBaseId", + "Description" + ], + "type": "object" + }, + "AgentStatus": { + "enum": [ + "CREATING", + "PREPARING", + "PREPARED", + "NOT_PREPARED", + "DELETING", + "FAILED", + "VERSIONING", + "UPDATING" + ], + "type": "string" + }, + "CreationMode": { + "enum": [ + "DEFAULT", + "OVERRIDDEN" + ], + "type": "string" + }, + "CustomControlMethod": { + "enum": [ + "RETURN_CONTROL" + ], + "type": "string" + }, + "Function": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 1200, + "minLength": 1, + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "FunctionSchema": { + "additionalProperties": false, + "properties": { + "Functions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "title": "Functions", + "type": "object" + }, + "GuardrailConfiguration": { + "additionalProperties": false, + "properties": { + "GuardrailIdentifier": { + "maxLength": 2048, + "pattern": "^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$", + "type": "string" + }, + "GuardrailVersion": { + "pattern": "^(([0-9]{1,8})|(DRAFT))$", + "type": "string" + } + }, + "type": "object" + }, + "InferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumLength": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopK": { + "maximum": 500, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "KnowledgeBaseState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ParameterDetail": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "$ref": "#/definitions/Type" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ParameterMap": { + "additionalProperties": false, + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "type": "object" + }, + "PromptConfiguration": { + "additionalProperties": false, + "properties": { + "BasePromptTemplate": { + "maxLength": 100000, + "minLength": 1, + "type": "string" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/InferenceConfiguration" + }, + "ParserMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptCreationMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptState": { + "$ref": "#/definitions/PromptState" + }, + "PromptType": { + "$ref": "#/definitions/PromptType" + } + }, + "type": "object" + }, + "PromptOverrideConfiguration": { + "additionalProperties": false, + "properties": { + "OverrideLambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "PromptConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PromptConfiguration" + }, + "maxItems": 10, + "type": "array" + } + }, + "required": [ + "PromptConfigurations" + ], + "type": "object" + }, + "PromptState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "PromptType": { + "enum": [ + "PRE_PROCESSING", + "ORCHESTRATION", + "POST_PROCESSING", + "KNOWLEDGE_BASE_RESPONSE_GENERATION" + ], + "type": "string" + }, + "S3Identifier": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "S3ObjectKey": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/AgentId" + ], + "properties": { + "ActionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentActionGroup" + }, + "type": "array" + }, + "AgentArn": { + "maxLength": 2048, + "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "AgentResourceRoleArn": { + "maxLength": 2048, + "type": "string" + }, + "AgentStatus": { + "$ref": "#/definitions/AgentStatus" + }, + "AgentVersion": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + }, + "AutoPrepare": { + "default": false, + "type": "boolean" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FailureReasons": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "FoundationModel": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "type": "string" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, + "IdleSessionTTLInSeconds": { + "maximum": 3600, + "minimum": 60, + "type": "number" + }, + "Instruction": { + "minLength": 40, + "type": "string" + }, + "KnowledgeBases": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentKnowledgeBase" + }, + "type": "array" + }, + "PreparedAt": { + "format": "date-time", + "type": "string" + }, + "PromptOverrideConfiguration": { + "$ref": "#/definitions/PromptOverrideConfiguration" + }, + "RecommendedActions": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "TestAliasTags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/AgentArn", + "/properties/AgentId", + "/properties/AgentStatus", + "/properties/AgentVersion", + "/properties/CreatedAt", + "/properties/FailureReasons", + "/properties/PreparedAt", + "/properties/RecommendedActions", + "/properties/UpdatedAt" + ], + "required": [ + "AgentName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Agent", + "writeOnlyProperties": [ + "/properties/AutoPrepare", + "/properties/SkipResourceInUseCheckOnDelete", + "/properties/ActionGroups/*/SkipResourceInUseCheckOnDelete" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-vpcendpoint.json similarity index 100% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-vpcendpoint.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-vpcendpoint.json diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-channelplacementgroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-channelplacementgroup.json deleted file mode 100644 index 9f20068eaa..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-channelplacementgroup.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ClusterId" - ], - "definitions": { - "ChannelPlacementGroupState": { - "enum": [ - "UNASSIGNED", - "ASSIGNING", - "ASSIGNED", - "DELETING", - "DELETED", - "UNASSIGNING" - ], - "type": "string" - }, - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id", - "/properties/ClusterId" - ], - "properties": { - "Arn": { - "type": "string" - }, - "Channels": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterId": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Nodes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "State": { - "$ref": "#/definitions/ChannelPlacementGroupState" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/Channels", - "/properties/Id", - "/properties/State" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagProperty": "/properties/Tags", - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::MediaLive::ChannelPlacementGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbcluster.json similarity index 91% rename from src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbcluster.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbcluster.json index 9748b231ac..4e5428d4a2 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbcluster.json @@ -7,6 +7,7 @@ ], "createOnlyProperties": [ "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", "/properties/DBClusterIdentifier", "/properties/DBSubnetGroupName", "/properties/DBSystemId", @@ -161,6 +162,13 @@ "minimum": 1, "type": "integer" }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, "CopyTagsToSnapshot": { "type": "boolean" }, @@ -177,7 +185,6 @@ "type": "string" }, "DBClusterParameterGroupName": { - "default": "default.aurora5.6", "type": "string" }, "DBClusterResourceId": { @@ -265,7 +272,6 @@ "type": "string" }, "MonitoringInterval": { - "default": 0, "type": "integer" }, "MonitoringRoleArn": { @@ -305,7 +311,6 @@ "type": "string" }, "RestoreType": { - "default": "full-copy", "type": "string" }, "ScalingConfiguration": { @@ -356,13 +361,13 @@ "/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/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? 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/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", PerformanceInsightsKmsKeyId])", "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", @@ -388,6 +393,7 @@ }, "typeName": "AWS::RDS::DBCluster", "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", "/properties/DBInstanceParameterGroupName", "/properties/MasterUserPassword", "/properties/RestoreToTime", diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbinstance.json similarity index 93% rename from src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbinstance.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbinstance.json index cc38cb577b..71fda608fe 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbinstance.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-dbinstance.json @@ -29,7 +29,6 @@ "/properties/KmsKeyId", "/properties/MasterUsername", "/properties/NcharCharacterSetName", - "/properties/Port", "/properties/SourceRegion", "/properties/StorageEncrypted", "/properties/Timezone" @@ -185,7 +184,6 @@ "type": "string" }, "BackupRetentionPeriod": { - "default": 1, "maximum": 35, "minimum": 0, "type": "integer" @@ -333,7 +331,6 @@ "type": "integer" }, "MonitoringInterval": { - "default": 0, "type": "integer" }, "MonitoringRoleArn": { @@ -401,7 +398,6 @@ "type": "array" }, "PromotionTier": { - "default": 1, "maximum": 15, "minimum": 0, "type": "integer" @@ -485,11 +481,11 @@ "/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/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", PerformanceInsightsKMSKeyId])", "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)", "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)", @@ -507,6 +503,13 @@ "/properties/CertificateDetails/ValidTill" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, "typeName": "AWS::RDS::DBInstance", "writeOnlyProperties": [ "/properties/AllowMajorVersionUpgrade", @@ -515,7 +518,6 @@ "/properties/DBSnapshotIdentifier", "/properties/DeleteAutomatedBackups", "/properties/MasterUserPassword", - "/properties/Port", "/properties/RestoreTime", "/properties/SourceDBInstanceAutomatedBackupsArn", "/properties/SourceDBInstanceIdentifier", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py index 48e3c81774..d4d71cd5f5 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py @@ -863,6 +863,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -937,6 +938,7 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -1148,6 +1150,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1292,6 +1295,7 @@ "aws-lambda-permission.json", "aws-lambda-url.json", "aws-launchwizard-deployment.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1394,11 +1398,10 @@ "aws-pcaconnectorscep-connector.json", "aws-pipes-pipe.json", "aws-ram-permission.json", + "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1487,6 +1490,7 @@ "aws-sagemaker-monitoringschedule.json", "aws-sagemaker-notebookinstance.json", "aws-sagemaker-notebookinstancelifecycleconfig.json", + "aws-sagemaker-partnerapp.json", "aws-sagemaker-pipeline.json", "aws-sagemaker-project.json", "aws-sagemaker-space.json", @@ -1576,6 +1580,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ram-resourceshare.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Arn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Sources": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "typeName": "AWS::RAM::ResourceShare" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbcluster.json similarity index 91% rename from src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json rename to src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbcluster.json index 9748b231ac..4e5428d4a2 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbcluster.json @@ -7,6 +7,7 @@ ], "createOnlyProperties": [ "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", "/properties/DBClusterIdentifier", "/properties/DBSubnetGroupName", "/properties/DBSystemId", @@ -161,6 +162,13 @@ "minimum": 1, "type": "integer" }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, "CopyTagsToSnapshot": { "type": "boolean" }, @@ -177,7 +185,6 @@ "type": "string" }, "DBClusterParameterGroupName": { - "default": "default.aurora5.6", "type": "string" }, "DBClusterResourceId": { @@ -265,7 +272,6 @@ "type": "string" }, "MonitoringInterval": { - "default": 0, "type": "integer" }, "MonitoringRoleArn": { @@ -305,7 +311,6 @@ "type": "string" }, "RestoreType": { - "default": "full-copy", "type": "string" }, "ScalingConfiguration": { @@ -356,13 +361,13 @@ "/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/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? 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/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", PerformanceInsightsKmsKeyId])", "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", @@ -388,6 +393,7 @@ }, "typeName": "AWS::RDS::DBCluster", "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", "/properties/DBInstanceParameterGroupName", "/properties/MasterUserPassword", "/properties/RestoreToTime", diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbinstance.json similarity index 93% rename from src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbinstance.json rename to src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbinstance.json index cc38cb577b..71fda608fe 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbinstance.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-rds-dbinstance.json @@ -29,7 +29,6 @@ "/properties/KmsKeyId", "/properties/MasterUsername", "/properties/NcharCharacterSetName", - "/properties/Port", "/properties/SourceRegion", "/properties/StorageEncrypted", "/properties/Timezone" @@ -185,7 +184,6 @@ "type": "string" }, "BackupRetentionPeriod": { - "default": 1, "maximum": 35, "minimum": 0, "type": "integer" @@ -333,7 +331,6 @@ "type": "integer" }, "MonitoringInterval": { - "default": 0, "type": "integer" }, "MonitoringRoleArn": { @@ -401,7 +398,6 @@ "type": "array" }, "PromotionTier": { - "default": 1, "maximum": 15, "minimum": 0, "type": "integer" @@ -485,11 +481,11 @@ "/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/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", PerformanceInsightsKMSKeyId])", "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)", "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)", @@ -507,6 +503,13 @@ "/properties/CertificateDetails/ValidTill" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, "typeName": "AWS::RDS::DBInstance", "writeOnlyProperties": [ "/properties/AllowMajorVersionUpgrade", @@ -515,7 +518,6 @@ "/properties/DBSnapshotIdentifier", "/properties/DeleteAutomatedBackups", "/properties/MasterUserPassword", - "/properties/Port", "/properties/RestoreTime", "/properties/SourceDBInstanceAutomatedBackupsArn", "/properties/SourceDBInstanceIdentifier", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-partnerapp.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-partnerapp.json deleted file mode 100644 index ffd296a890..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-sagemaker-partnerapp.json +++ /dev/null @@ -1,173 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type", - "/properties/ExecutionRoleArn", - "/properties/AuthType" - ], - "definitions": { - "PartnerAppAdminUserList": { - "additionalProperties": false, - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "PartnerAppConfig": { - "additionalProperties": false, - "properties": { - "AdminUsers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PartnerAppAdminUserList" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "Arguments": { - "additionalProperties": false, - "maxProperties": 5, - "patternProperties": { - "^(?!\\s*$).{1,256}$": { - "maxLength": 1024, - "pattern": "^.{0,1024}$", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "PartnerAppMaintenanceConfig": { - "additionalProperties": false, - "properties": { - "MaintenanceWindowStart": { - "maxLength": 9, - "pattern": "(Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\\d|2[0-3]):([0-5]\\d)", - "type": "string" - } - }, - "required": [ - "MaintenanceWindowStart" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "ApplicationConfig": { - "$ref": "#/definitions/PartnerAppConfig" - }, - "Arn": { - "maxLength": 128, - "minLength": 1, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:partner-app/app-[A-Z0-9]{12}$", - "type": "string" - }, - "AuthType": { - "enum": [ - "IAM" - ], - "type": "string" - }, - "BaseUrl": { - "maxLength": 2048, - "type": "string" - }, - "ClientToken": { - "maxLength": 36, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "EnableIamSessionBasedIdentity": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "MaintenanceConfig": { - "$ref": "#/definitions/PartnerAppMaintenanceConfig" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "Tier": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Type": { - "enum": [ - "lakera-guard", - "comet", - "deepchecks-llm-evaluation", - "fiddler" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/BaseUrl" - ], - "required": [ - "Name", - "Type", - "AuthType", - "ExecutionRoleArn", - "Tier" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::SageMaker::PartnerApp", - "writeOnlyProperties": [ - "/properties/ClientToken" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py index f6763e04c6..b48bc4a6e2 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py @@ -888,6 +888,7 @@ "AWS::PinpointEmail::Identity", "AWS::Pipes::Pipe", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1054,6 +1055,7 @@ "AWS::SageMaker::MonitoringSchedule", "AWS::SageMaker::NotebookInstance", "AWS::SageMaker::NotebookInstanceLifecycleConfig", + "AWS::SageMaker::PartnerApp", "AWS::SageMaker::Pipeline", "AWS::SageMaker::Project", "AWS::SageMaker::Space", @@ -1219,6 +1221,7 @@ "aws-apigateway-documentationversion.json", "aws-apigateway-domainname.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -1243,8 +1246,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1321,7 +1326,6 @@ "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", - "aws-bedrock-agent.json", "aws-bedrock-agentalias.json", "aws-bedrock-applicationinferenceprofile.json", "aws-bedrock-datasource.json", @@ -1335,7 +1339,9 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1462,7 +1468,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1689,7 +1694,6 @@ "aws-gamelift-fleet.json", "aws-gamelift-gameservergroup.json", "aws-gamelift-gamesessionqueue.json", - "aws-gamelift-location.json", "aws-gamelift-matchmakingconfiguration.json", "aws-gamelift-matchmakingruleset.json", "aws-gamelift-script.json", @@ -1850,6 +1854,7 @@ "aws-kafkaconnect-workerconfiguration.json", "aws-kendra-datasource.json", "aws-kendra-faq.json", + "aws-kendra-index.json", "aws-kendraranking-executionplan.json", "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", @@ -1899,6 +1904,7 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -2057,6 +2063,7 @@ "aws-pinpointemail-identity.json", "aws-pipes-pipe.json", "aws-quicksight-analysis.json", + "aws-quicksight-custompermissions.json", "aws-quicksight-dashboard.json", "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", @@ -2175,6 +2182,7 @@ "aws-sagemaker-monitoringschedule.json", "aws-sagemaker-notebookinstance.json", "aws-sagemaker-notebookinstancelifecycleconfig.json", + "aws-sagemaker-partnerapp.json", "aws-sagemaker-pipeline.json", "aws-sagemaker-project.json", "aws-sagemaker-space.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "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" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-bedrock-agent.json new file mode 100644 index 0000000000..cf36f7f277 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-bedrock-agent.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "definitions": { + "APISchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/S3Identifier" + } + }, + "required": [ + "S3" + ], + "title": "S3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "title": "Payload", + "type": "object" + } + ] + }, + "ActionGroupExecutor": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Lambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + } + }, + "required": [ + "Lambda" + ], + "title": "Lambda", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "title": "CustomControl", + "type": "object" + } + ] + }, + "ActionGroupSignature": { + "enum": [ + "AMAZON.UserInput", + "AMAZON.CodeInterpreter" + ], + "type": "string" + }, + "ActionGroupState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "AgentActionGroup": { + "additionalProperties": false, + "properties": { + "ActionGroupExecutor": { + "$ref": "#/definitions/ActionGroupExecutor" + }, + "ActionGroupName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "ActionGroupState": { + "$ref": "#/definitions/ActionGroupState" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, + "ParentActionGroupSignature": { + "$ref": "#/definitions/ActionGroupSignature" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "ActionGroupName" + ], + "type": "object" + }, + "AgentKnowledgeBase": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "KnowledgeBaseId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "KnowledgeBaseState": { + "$ref": "#/definitions/KnowledgeBaseState" + } + }, + "required": [ + "KnowledgeBaseId", + "Description" + ], + "type": "object" + }, + "AgentStatus": { + "enum": [ + "CREATING", + "PREPARING", + "PREPARED", + "NOT_PREPARED", + "DELETING", + "FAILED", + "VERSIONING", + "UPDATING" + ], + "type": "string" + }, + "CreationMode": { + "enum": [ + "DEFAULT", + "OVERRIDDEN" + ], + "type": "string" + }, + "CustomControlMethod": { + "enum": [ + "RETURN_CONTROL" + ], + "type": "string" + }, + "Function": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 1200, + "minLength": 1, + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "FunctionSchema": { + "additionalProperties": false, + "properties": { + "Functions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "title": "Functions", + "type": "object" + }, + "GuardrailConfiguration": { + "additionalProperties": false, + "properties": { + "GuardrailIdentifier": { + "maxLength": 2048, + "pattern": "^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$", + "type": "string" + }, + "GuardrailVersion": { + "pattern": "^(([0-9]{1,8})|(DRAFT))$", + "type": "string" + } + }, + "type": "object" + }, + "InferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumLength": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopK": { + "maximum": 500, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "KnowledgeBaseState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ParameterDetail": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "$ref": "#/definitions/Type" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ParameterMap": { + "additionalProperties": false, + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "type": "object" + }, + "PromptConfiguration": { + "additionalProperties": false, + "properties": { + "BasePromptTemplate": { + "maxLength": 100000, + "minLength": 1, + "type": "string" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/InferenceConfiguration" + }, + "ParserMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptCreationMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptState": { + "$ref": "#/definitions/PromptState" + }, + "PromptType": { + "$ref": "#/definitions/PromptType" + } + }, + "type": "object" + }, + "PromptOverrideConfiguration": { + "additionalProperties": false, + "properties": { + "OverrideLambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "PromptConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PromptConfiguration" + }, + "maxItems": 10, + "type": "array" + } + }, + "required": [ + "PromptConfigurations" + ], + "type": "object" + }, + "PromptState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "PromptType": { + "enum": [ + "PRE_PROCESSING", + "ORCHESTRATION", + "POST_PROCESSING", + "KNOWLEDGE_BASE_RESPONSE_GENERATION" + ], + "type": "string" + }, + "S3Identifier": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "S3ObjectKey": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/AgentId" + ], + "properties": { + "ActionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentActionGroup" + }, + "type": "array" + }, + "AgentArn": { + "maxLength": 2048, + "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "AgentResourceRoleArn": { + "maxLength": 2048, + "type": "string" + }, + "AgentStatus": { + "$ref": "#/definitions/AgentStatus" + }, + "AgentVersion": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + }, + "AutoPrepare": { + "default": false, + "type": "boolean" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FailureReasons": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "FoundationModel": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "type": "string" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, + "IdleSessionTTLInSeconds": { + "maximum": 3600, + "minimum": 60, + "type": "number" + }, + "Instruction": { + "minLength": 40, + "type": "string" + }, + "KnowledgeBases": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentKnowledgeBase" + }, + "type": "array" + }, + "PreparedAt": { + "format": "date-time", + "type": "string" + }, + "PromptOverrideConfiguration": { + "$ref": "#/definitions/PromptOverrideConfiguration" + }, + "RecommendedActions": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "TestAliasTags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/AgentArn", + "/properties/AgentId", + "/properties/AgentStatus", + "/properties/AgentVersion", + "/properties/CreatedAt", + "/properties/FailureReasons", + "/properties/PreparedAt", + "/properties/RecommendedActions", + "/properties/UpdatedAt" + ], + "required": [ + "AgentName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Agent", + "writeOnlyProperties": [ + "/properties/AutoPrepare", + "/properties/SkipResourceInUseCheckOnDelete", + "/properties/ActionGroups/*/SkipResourceInUseCheckOnDelete" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-gamelift-location.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-gamelift-location.json new file mode 100644 index 0000000000..2d3f1b6637 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-gamelift-location.json @@ -0,0 +1,68 @@ +{ + "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LocationName" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LocationName" + ], + "properties": { + "LocationArn": { + "pattern": "^arn:.*:location/custom-\\S+", + "type": "string" + }, + "LocationName": { + "maxLength": 64, + "minLength": 8, + "pattern": "^custom-[A-Za-z0-9\\-]+", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/LocationArn" + ], + "required": [ + "LocationName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::GameLift::Location" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-kendra-index.json deleted file mode 100644 index 1dfc2d6d88..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-kendra-index.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Edition", - "/properties/ServerSideEncryptionConfiguration" - ], - "definitions": { - "Arn": { - "maxLength": 1000, - "type": "string" - }, - "CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "$ref": "#/definitions/QueryCapacityUnits" - }, - "StorageCapacityUnits": { - "$ref": "#/definitions/StorageCapacityUnits" - } - }, - "required": [ - "StorageCapacityUnits", - "QueryCapacityUnits" - ], - "type": "object" - }, - "ClaimRegex": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Description": { - "maxLength": 1000, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "DocumentAttributeValueType": { - "enum": [ - "STRING_VALUE", - "STRING_LIST_VALUE", - "LONG_VALUE", - "DATE_VALUE" - ], - "type": "string" - }, - "DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "$ref": "#/definitions/DocumentMetadataConfigurationName" - }, - "Relevance": { - "$ref": "#/definitions/Relevance" - }, - "Search": { - "$ref": "#/definitions/Search" - }, - "Type": { - "$ref": "#/definitions/DocumentAttributeValueType" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "DocumentMetadataConfigurationList": { - "items": { - "$ref": "#/definitions/DocumentMetadataConfiguration" - }, - "maxItems": 500, - "type": "array" - }, - "DocumentMetadataConfigurationName": { - "maxLength": 30, - "minLength": 1, - "type": "string" - }, - "Duration": { - "maxLength": 10, - "minLength": 1, - "pattern": "[0-9]+[s]", - "type": "string" - }, - "Edition": { - "enum": [ - "DEVELOPER_EDITION", - "ENTERPRISE_EDITION" - ], - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "GroupAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Id": { - "maxLength": 36, - "minLength": 36, - "type": "string" - }, - "Importance": { - "maximum": 10, - "minimum": 1, - "type": "integer" - }, - "Issuer": { - "maxLength": 65, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "JsonTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "UserNameAttributeField", - "GroupAttributeField" - ], - "type": "object" - }, - "JwtTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "ClaimRegex": { - "$ref": "#/definitions/ClaimRegex" - }, - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "Issuer": { - "$ref": "#/definitions/Issuer" - }, - "KeyLocation": { - "$ref": "#/definitions/KeyLocation" - }, - "SecretManagerArn": { - "$ref": "#/definitions/RoleArn" - }, - "URL": { - "$ref": "#/definitions/Url" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "KeyLocation" - ], - "type": "object" - }, - "KeyLocation": { - "enum": [ - "URL", - "SECRET_MANAGER" - ], - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 1000, - "minLength": 1, - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", - "type": "string" - }, - "Order": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - }, - "QueryCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "$ref": "#/definitions/Duration" - }, - "Freshness": { - "$ref": "#/definitions/Freshness" - }, - "Importance": { - "$ref": "#/definitions/Importance" - }, - "RankOrder": { - "$ref": "#/definitions/Order" - }, - "ValueImportanceItems": { - "$ref": "#/definitions/ValueImportanceItems" - } - }, - "type": "object" - }, - "RoleArn": { - "maxLength": 1284, - "minLength": 1, - "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", - "type": "string" - }, - "Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "$ref": "#/definitions/KmsKeyId" - } - }, - "type": "object" - }, - "StorageCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "type": "array" - }, - "Url": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)", - "type": "string" - }, - "UserContextPolicy": { - "enum": [ - "ATTRIBUTE_FILTER", - "USER_TOKEN" - ], - "type": "string" - }, - "UserNameAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "UserTokenConfiguration": { - "additionalProperties": false, - "properties": { - "JsonTokenTypeConfiguration": { - "$ref": "#/definitions/JsonTokenTypeConfiguration" - }, - "JwtTokenTypeConfiguration": { - "$ref": "#/definitions/JwtTokenTypeConfiguration" - } - }, - "type": "object" - }, - "UserTokenConfigurationList": { - "items": { - "$ref": "#/definitions/UserTokenConfiguration" - }, - "maxItems": 1, - "type": "array" - }, - "ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/ValueImportanceItemKey" - }, - "Value": { - "$ref": "#/definitions/Importance" - } - }, - "type": "object" - }, - "ValueImportanceItemKey": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/ValueImportanceItem" - }, - "type": "array" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "CapacityUnits": { - "$ref": "#/definitions/CapacityUnitsConfiguration" - }, - "Description": { - "$ref": "#/definitions/Description" - }, - "DocumentMetadataConfigurations": { - "$ref": "#/definitions/DocumentMetadataConfigurationList" - }, - "Edition": { - "$ref": "#/definitions/Edition" - }, - "Id": { - "$ref": "#/definitions/Id" - }, - "Name": { - "$ref": "#/definitions/Name" - }, - "RoleArn": { - "$ref": "#/definitions/RoleArn" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/ServerSideEncryptionConfiguration" - }, - "Tags": { - "$ref": "#/definitions/TagList" - }, - "UserContextPolicy": { - "$ref": "#/definitions/UserContextPolicy" - }, - "UserTokenConfigurations": { - "$ref": "#/definitions/UserTokenConfigurationList" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name", - "RoleArn", - "Edition" - ], - "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html", - "typeName": "AWS::Kendra::Index" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} 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 0268ec2da0..6e8cb0e66f 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py @@ -705,6 +705,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -768,6 +769,7 @@ "aws-backup-restoretestingplan.json", "aws-backup-restoretestingselection.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -938,7 +940,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -956,6 +957,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1133,7 +1135,6 @@ "aws-networkmanager-vpcattachment.json", "aws-oam-link.json", "aws-oam-sink.json", - "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-userprofile.json", @@ -1279,6 +1280,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..069e16e3c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-vpcendpoint.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ServiceName", + "/properties/VpcEndpointType", + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" + ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CreationTimestamp": { + "type": "string" + }, + "DnsEntries": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, + "Id": { + "type": "string" + }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, + "NetworkInterfaceIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PolicyDocument": { + "type": [ + "string", + "object" + ] + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "ResourceConfigurationArn": { + "type": "string" + }, + "RouteTableIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/RouteTableId", + "typeName": "AWS::EC2::RouteTable" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/GroupId", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/DefaultSecurityGroup", + "typeName": "AWS::EC2::VPC" + } + } + ], + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ServiceName": { + "type": "string" + }, + "ServiceNetworkArn": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/SubnetId", + "typeName": "AWS::EC2::Subnet" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "VpcEndpointType": { + "enum": [ + "Interface", + "Gateway", + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" + ], + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/NetworkInterfaceIds", + "/properties/CreationTimestamp", + "/properties/DnsEntries", + "/properties/Id" + ], + "required": [ + "VpcId" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::EC2::VPCEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-opensearchservice-domain.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-opensearchservice-domain.json similarity index 91% rename from src/cfnlint/data/schemas/providers/ca_west_1/aws-opensearchservice-domain.json rename to src/cfnlint/data/schemas/providers/ap_south_2/aws-opensearchservice-domain.json index c3ce78e81a..2f0285dbe8 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-opensearchservice-domain.json +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-opensearchservice-domain.json @@ -159,6 +159,30 @@ }, "type": "object" }, + "IdentityCenterOptions": { + "additionalProperties": false, + "properties": { + "EnabledAPIAccess": { + "type": "boolean" + }, + "IdentityCenterApplicationARN": { + "type": "string" + }, + "IdentityCenterInstanceARN": { + "type": "string" + }, + "IdentityStoreId": { + "type": "string" + }, + "RolesKey": { + "$ref": "#/definitions/RolesKeyIdcType" + }, + "SubjectKey": { + "$ref": "#/definitions/SubjectKeyIdcType" + } + }, + "type": "object" + }, "Idp": { "additionalProperties": false, "properties": { @@ -252,6 +276,13 @@ }, "type": "object" }, + "RolesKeyIdcType": { + "enum": [ + "GroupName", + "GroupId" + ], + "type": "string" + }, "SAMLOptions": { "additionalProperties": false, "properties": { @@ -327,6 +358,14 @@ }, "type": "object" }, + "SubjectKeyIdcType": { + "enum": [ + "UserName", + "UserId", + "Email" + ], + "type": "string" + }, "Tag": { "additionalProperties": false, "properties": { @@ -470,6 +509,9 @@ "Id": { "type": "string" }, + "IdentityCenterOptions": { + "$ref": "#/definitions/IdentityCenterOptions" + }, "LogPublishingOptions": { "additionalProperties": false, "patternProperties": { @@ -516,7 +558,9 @@ "/properties/DomainEndpointV2", "/properties/DomainEndpoints", "/properties/ServiceSoftwareOptions", - "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate" + "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate", + "/properties/IdentityCenterOptions/IdentityCenterApplicationARN", + "/properties/IdentityCenterOptions/IdentityStoreId" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "typeName": "AWS::OpenSearchService::Domain", diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 d6aec1528a..381f547a2b 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py @@ -157,6 +157,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -912,6 +913,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::Panorama::ApplicationInstance", "AWS::Panorama::Package", "AWS::Panorama::PackageVersion", @@ -947,6 +951,7 @@ "AWS::QLDB::Ledger", "AWS::QLDB::Stream", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1416,6 +1421,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -2168,6 +2174,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", @@ -2194,6 +2203,7 @@ "aws-qldb-ledger.json", "aws-qldb-stream.json", "aws-quicksight-analysis.json", + "aws-quicksight-custompermissions.json", "aws-quicksight-dashboard.json", "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", @@ -2207,9 +2217,7 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -2432,6 +2440,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "definitions": { + "CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "type": "string" + }, + "ValidTill": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "enum": [ + "coreCount", + "threadsPerCore" + ], + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "dependencies": { + "KmsKeyId": { + "properties": { + "StorageEncrypted": { + "enum": [ + "true", + "True", + true + ] + } + }, + "required": [ + "StorageEncrypted" + ] + } + }, + "dependentExcluded": { + "SourceDBInstanceIdentifier": [ + "CharacterSetName", + "MasterUserPassword", + "MasterUsername", + "StorageEncrypted" + ] + }, + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "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": { + "maximum": 35, + "minimum": 0, + "type": "integer" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "type": "string" + }, + "DBInstanceArn": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "maxLength": 63, + "minLength": 1, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DbiResourceId": { + "type": "string" + }, + "DedicatedLogVolume": { + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainAuthSecretArn": { + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainFqdn": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "DomainOu": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "integer" + }, + "MonitoringInterval": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "enum": [ + 7, + 31, + 62, + 93, + 124, + 155, + 186, + 217, + 248, + 279, + 310, + 341, + 372, + 403, + 434, + 465, + 496, + 527, + 558, + 589, + 620, + 651, + 682, + 713, + 731 + ], + "type": "integer" + }, + "Port": { + "pattern": "^\\d*$", + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "type": "string" + }, + "RestoreTime": { + "format": "date-time", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceDbiResourceId": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TdeCredentialArn": { + "type": "string" + }, + "TdeCredentialPassword": { + "type": "string" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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_southeast_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py index 884223eae0..d3b62749a8 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py @@ -929,6 +929,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::Panorama::ApplicationInstance", "AWS::Panorama::Package", "AWS::Panorama::PackageVersion", @@ -966,6 +969,7 @@ "AWS::QLDB::Ledger", "AWS::QLDB::Stream", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1340,8 +1344,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1423,7 +1429,6 @@ "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", - "aws-bedrock-agent.json", "aws-bedrock-agentalias.json", "aws-bedrock-applicationinferenceprofile.json", "aws-bedrock-datasource.json", @@ -1437,7 +1442,9 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1584,7 +1591,6 @@ "aws-customerprofiles-integration.json", "aws-customerprofiles-objecttype.json", "aws-customerprofiles-segmentdefinition.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -2067,6 +2073,7 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -2206,6 +2213,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", @@ -2240,6 +2250,7 @@ "aws-qldb-ledger.json", "aws-qldb-stream.json", "aws-quicksight-analysis.json", + "aws-quicksight-custompermissions.json", "aws-quicksight-dashboard.json", "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", @@ -2253,9 +2264,7 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -2477,6 +2486,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "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" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-bedrock-agent.json new file mode 100644 index 0000000000..cf36f7f277 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-bedrock-agent.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "definitions": { + "APISchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/S3Identifier" + } + }, + "required": [ + "S3" + ], + "title": "S3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "title": "Payload", + "type": "object" + } + ] + }, + "ActionGroupExecutor": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Lambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + } + }, + "required": [ + "Lambda" + ], + "title": "Lambda", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "title": "CustomControl", + "type": "object" + } + ] + }, + "ActionGroupSignature": { + "enum": [ + "AMAZON.UserInput", + "AMAZON.CodeInterpreter" + ], + "type": "string" + }, + "ActionGroupState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "AgentActionGroup": { + "additionalProperties": false, + "properties": { + "ActionGroupExecutor": { + "$ref": "#/definitions/ActionGroupExecutor" + }, + "ActionGroupName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "ActionGroupState": { + "$ref": "#/definitions/ActionGroupState" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, + "ParentActionGroupSignature": { + "$ref": "#/definitions/ActionGroupSignature" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "ActionGroupName" + ], + "type": "object" + }, + "AgentKnowledgeBase": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "KnowledgeBaseId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "KnowledgeBaseState": { + "$ref": "#/definitions/KnowledgeBaseState" + } + }, + "required": [ + "KnowledgeBaseId", + "Description" + ], + "type": "object" + }, + "AgentStatus": { + "enum": [ + "CREATING", + "PREPARING", + "PREPARED", + "NOT_PREPARED", + "DELETING", + "FAILED", + "VERSIONING", + "UPDATING" + ], + "type": "string" + }, + "CreationMode": { + "enum": [ + "DEFAULT", + "OVERRIDDEN" + ], + "type": "string" + }, + "CustomControlMethod": { + "enum": [ + "RETURN_CONTROL" + ], + "type": "string" + }, + "Function": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 1200, + "minLength": 1, + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "FunctionSchema": { + "additionalProperties": false, + "properties": { + "Functions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "title": "Functions", + "type": "object" + }, + "GuardrailConfiguration": { + "additionalProperties": false, + "properties": { + "GuardrailIdentifier": { + "maxLength": 2048, + "pattern": "^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$", + "type": "string" + }, + "GuardrailVersion": { + "pattern": "^(([0-9]{1,8})|(DRAFT))$", + "type": "string" + } + }, + "type": "object" + }, + "InferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumLength": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopK": { + "maximum": 500, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "KnowledgeBaseState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ParameterDetail": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "$ref": "#/definitions/Type" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ParameterMap": { + "additionalProperties": false, + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "type": "object" + }, + "PromptConfiguration": { + "additionalProperties": false, + "properties": { + "BasePromptTemplate": { + "maxLength": 100000, + "minLength": 1, + "type": "string" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/InferenceConfiguration" + }, + "ParserMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptCreationMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptState": { + "$ref": "#/definitions/PromptState" + }, + "PromptType": { + "$ref": "#/definitions/PromptType" + } + }, + "type": "object" + }, + "PromptOverrideConfiguration": { + "additionalProperties": false, + "properties": { + "OverrideLambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "PromptConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PromptConfiguration" + }, + "maxItems": 10, + "type": "array" + } + }, + "required": [ + "PromptConfigurations" + ], + "type": "object" + }, + "PromptState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "PromptType": { + "enum": [ + "PRE_PROCESSING", + "ORCHESTRATION", + "POST_PROCESSING", + "KNOWLEDGE_BASE_RESPONSE_GENERATION" + ], + "type": "string" + }, + "S3Identifier": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "S3ObjectKey": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/AgentId" + ], + "properties": { + "ActionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentActionGroup" + }, + "type": "array" + }, + "AgentArn": { + "maxLength": 2048, + "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "AgentResourceRoleArn": { + "maxLength": 2048, + "type": "string" + }, + "AgentStatus": { + "$ref": "#/definitions/AgentStatus" + }, + "AgentVersion": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + }, + "AutoPrepare": { + "default": false, + "type": "boolean" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FailureReasons": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "FoundationModel": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "type": "string" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, + "IdleSessionTTLInSeconds": { + "maximum": 3600, + "minimum": 60, + "type": "number" + }, + "Instruction": { + "minLength": 40, + "type": "string" + }, + "KnowledgeBases": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentKnowledgeBase" + }, + "type": "array" + }, + "PreparedAt": { + "format": "date-time", + "type": "string" + }, + "PromptOverrideConfiguration": { + "$ref": "#/definitions/PromptOverrideConfiguration" + }, + "RecommendedActions": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "TestAliasTags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/AgentArn", + "/properties/AgentId", + "/properties/AgentStatus", + "/properties/AgentVersion", + "/properties/CreatedAt", + "/properties/FailureReasons", + "/properties/PreparedAt", + "/properties/RecommendedActions", + "/properties/UpdatedAt" + ], + "required": [ + "AgentName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Agent", + "writeOnlyProperties": [ + "/properties/AutoPrepare", + "/properties/SkipResourceInUseCheckOnDelete", + "/properties/ActionGroups/*/SkipResourceInUseCheckOnDelete" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "definitions": { + "CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "type": "string" + }, + "ValidTill": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "enum": [ + "coreCount", + "threadsPerCore" + ], + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "dependencies": { + "KmsKeyId": { + "properties": { + "StorageEncrypted": { + "enum": [ + "true", + "True", + true + ] + } + }, + "required": [ + "StorageEncrypted" + ] + } + }, + "dependentExcluded": { + "SourceDBInstanceIdentifier": [ + "CharacterSetName", + "MasterUserPassword", + "MasterUsername", + "StorageEncrypted" + ] + }, + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "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": { + "maximum": 35, + "minimum": 0, + "type": "integer" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "type": "string" + }, + "DBInstanceArn": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "maxLength": 63, + "minLength": 1, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DbiResourceId": { + "type": "string" + }, + "DedicatedLogVolume": { + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainAuthSecretArn": { + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainFqdn": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "DomainOu": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "integer" + }, + "MonitoringInterval": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "enum": [ + 7, + 31, + 62, + 93, + 124, + 155, + 186, + 217, + 248, + 279, + 310, + 341, + 372, + 403, + 434, + 465, + 496, + 527, + 558, + 589, + 620, + 651, + 682, + 713, + 731 + ], + "type": "integer" + }, + "Port": { + "pattern": "^\\d*$", + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "type": "string" + }, + "RestoreTime": { + "format": "date-time", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceDbiResourceId": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TdeCredentialArn": { + "type": "string" + }, + "TdeCredentialPassword": { + "type": "string" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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_southeast_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 97f9a47071..d4b108cd1a 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py @@ -770,6 +770,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -863,6 +864,7 @@ "aws-cloudformation-resourceversion.json", "aws-cloudformation-stack.json", "aws-cloudformation-stackset.json", + "aws-cloudformation-typeactivation.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", @@ -974,6 +976,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", "aws-ec2-placementgroup.json", @@ -1017,7 +1020,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -1036,6 +1038,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1073,8 +1076,6 @@ "aws-emr-instancegroupconfig.json", "aws-emr-securityconfiguration.json", "aws-emr-step.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", "aws-emrserverless-application.json", "aws-events-apidestination.json", @@ -1242,9 +1243,7 @@ "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1408,6 +1407,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudformation-typeactivation.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ExecutionRoleArn", - "/properties/LoggingConfig", - "/properties/TypeNameAlias", - "/properties/TypeName", - "/properties/Type", - "/properties/PublisherId", - "/properties/PublicTypeArn" - ], - "definitions": { - "LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogRoleArn": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "oneOf": [ - { - "required": [ - "TypeName", - "PublisherId", - "Type" - ] - }, - { - "required": [ - "PublicTypeArn" - ] - } - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "AutoUpdate": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/LoggingConfig" - }, - "MajorVersion": { - "maxLength": 100000, - "minLength": 1, - "type": "string" - }, - "PublicTypeArn": { - "maxLength": 1024, - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "PublisherId": { - "maxLength": 40, - "minLength": 1, - "pattern": "[0-9a-zA-Z-]{40}", - "type": "string" - }, - "Type": { - "enum": [ - "RESOURCE", - "MODULE", - "HOOK" - ], - "type": "string" - }, - "TypeName": { - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "TypeNameAlias": { - "maxLength": 204, - "minLength": 10, - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "VersionBump": { - "enum": [ - "MAJOR", - "MINOR" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation", - "typeName": "AWS::CloudFormation::TypeActivation" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..069e16e3c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-vpcendpoint.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ServiceName", + "/properties/VpcEndpointType", + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" + ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CreationTimestamp": { + "type": "string" + }, + "DnsEntries": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, + "Id": { + "type": "string" + }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, + "NetworkInterfaceIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PolicyDocument": { + "type": [ + "string", + "object" + ] + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "ResourceConfigurationArn": { + "type": "string" + }, + "RouteTableIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/RouteTableId", + "typeName": "AWS::EC2::RouteTable" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/GroupId", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/DefaultSecurityGroup", + "typeName": "AWS::EC2::VPC" + } + } + ], + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ServiceName": { + "type": "string" + }, + "ServiceNetworkArn": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/SubnetId", + "typeName": "AWS::EC2::Subnet" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "VpcEndpointType": { + "enum": [ + "Interface", + "Gateway", + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" + ], + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/NetworkInterfaceIds", + "/properties/CreationTimestamp", + "/properties/DnsEntries", + "/properties/Id" + ], + "required": [ + "VpcId" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::EC2::VPCEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} 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 new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "definitions": { + "CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "type": "string" + }, + "ValidTill": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "enum": [ + "coreCount", + "threadsPerCore" + ], + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "dependencies": { + "KmsKeyId": { + "properties": { + "StorageEncrypted": { + "enum": [ + "true", + "True", + true + ] + } + }, + "required": [ + "StorageEncrypted" + ] + } + }, + "dependentExcluded": { + "SourceDBInstanceIdentifier": [ + "CharacterSetName", + "MasterUserPassword", + "MasterUsername", + "StorageEncrypted" + ] + }, + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "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": { + "maximum": 35, + "minimum": 0, + "type": "integer" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "type": "string" + }, + "DBInstanceArn": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "maxLength": 63, + "minLength": 1, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DbiResourceId": { + "type": "string" + }, + "DedicatedLogVolume": { + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainAuthSecretArn": { + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainFqdn": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "DomainOu": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "integer" + }, + "MonitoringInterval": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "enum": [ + 7, + 31, + 62, + 93, + 124, + 155, + 186, + 217, + 248, + 279, + 310, + 341, + 372, + 403, + 434, + 465, + 496, + 527, + 558, + 589, + 620, + 651, + 682, + 713, + 731 + ], + "type": "integer" + }, + "Port": { + "pattern": "^\\d*$", + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "type": "string" + }, + "RestoreTime": { + "format": "date-time", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceDbiResourceId": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TdeCredentialArn": { + "type": "string" + }, + "TdeCredentialPassword": { + "type": "string" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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_southeast_3/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py index 7c149e71a7..2960ba2cd6 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py @@ -704,6 +704,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -889,6 +890,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", "aws-ec2-placementgroup.json", @@ -945,6 +947,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -962,6 +965,7 @@ "aws-elasticache-replicationgroup.json", "aws-elasticache-securitygroup.json", "aws-elasticache-securitygroupingress.json", + "aws-elasticache-serverlesscache.json", "aws-elasticache-user.json", "aws-elasticloadbalancing-loadbalancer.json", "aws-elasticloadbalancingv2-listener.json", @@ -1123,6 +1127,7 @@ "aws-networkmanager-vpcattachment.json", "aws-oam-link.json", "aws-oam-sink.json", + "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-userprofile.json", @@ -1138,9 +1143,7 @@ "aws-pcaconnectorscep-connector.json", "aws-ram-permission.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1268,6 +1271,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-serverlesscache.json deleted file mode 100644 index 3b7cde6c66..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-serverlesscache.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ServerlessCacheName", - "/properties/Engine", - "/properties/MajorEngineVersion", - "/properties/KmsKeyId", - "/properties/SnapshotArnsToRestore", - "/properties/SubnetIds" - ], - "definitions": { - "CacheUsageLimits": { - "additionalProperties": false, - "properties": { - "DataStorage": { - "$ref": "#/definitions/DataStorage" - }, - "ECPUPerSecond": { - "$ref": "#/definitions/ECPUPerSecond" - } - }, - "type": "object" - }, - "DataStorage": { - "additionalProperties": false, - "properties": { - "Maximum": { - "type": "integer" - }, - "Minimum": { - "type": "integer" - }, - "Unit": { - "enum": [ - "GB" - ], - "type": "string" - } - }, - "required": [ - "Unit" - ], - "type": "object" - }, - "ECPUPerSecond": { - "additionalProperties": false, - "properties": { - "Maximum": { - "type": "integer" - }, - "Minimum": { - "type": "integer" - } - }, - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z0-9 _\\.\\/=+:\\-@]*$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^[a-zA-Z0-9 _\\.\\/=+:\\-@]*$", - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServerlessCacheName" - ], - "properties": { - "ARN": { - "type": "string" - }, - "CacheUsageLimits": { - "$ref": "#/definitions/CacheUsageLimits" - }, - "CreateTime": { - "type": "string" - }, - "DailySnapshotTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "Engine": { - "type": "string" - }, - "FinalSnapshotName": { - "type": "string" - }, - "FullEngineVersion": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "ReaderEndpoint": { - "$ref": "#/definitions/Endpoint" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "ServerlessCacheName": { - "type": "string" - }, - "SnapshotArnsToRestore": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SnapshotRetentionLimit": { - "type": "integer" - }, - "Status": { - "type": "string" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "UserGroupId": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/FullEngineVersion", - "/properties/CreateTime", - "/properties/Status", - "/properties/Endpoint/Address", - "/properties/Endpoint/Port", - "/properties/ReaderEndpoint/Address", - "/properties/ReaderEndpoint/Port", - "/properties/ARN" - ], - "required": [ - "ServerlessCacheName", - "Engine" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticache", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ElastiCache::ServerlessCache", - "writeOnlyProperties": [ - "/properties/SnapshotArnsToRestore", - "/properties/FinalSnapshotName" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "definitions": { + "CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "type": "string" + }, + "ValidTill": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "enum": [ + "coreCount", + "threadsPerCore" + ], + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "dependencies": { + "KmsKeyId": { + "properties": { + "StorageEncrypted": { + "enum": [ + "true", + "True", + true + ] + } + }, + "required": [ + "StorageEncrypted" + ] + } + }, + "dependentExcluded": { + "SourceDBInstanceIdentifier": [ + "CharacterSetName", + "MasterUserPassword", + "MasterUsername", + "StorageEncrypted" + ] + }, + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "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": { + "maximum": 35, + "minimum": 0, + "type": "integer" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "type": "string" + }, + "DBInstanceArn": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "maxLength": 63, + "minLength": 1, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DbiResourceId": { + "type": "string" + }, + "DedicatedLogVolume": { + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainAuthSecretArn": { + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainFqdn": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "DomainOu": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "integer" + }, + "MonitoringInterval": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "enum": [ + 7, + 31, + 62, + 93, + 124, + 155, + 186, + 217, + 248, + 279, + 310, + 341, + 372, + 403, + 434, + 465, + 496, + 527, + 558, + 589, + 620, + 651, + 682, + 713, + 731 + ], + "type": "integer" + }, + "Port": { + "pattern": "^\\d*$", + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "type": "string" + }, + "RestoreTime": { + "format": "date-time", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceDbiResourceId": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TdeCredentialArn": { + "type": "string" + }, + "TdeCredentialPassword": { + "type": "string" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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_southeast_4/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py index e80d9738f3..6ccf4dbc9b 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py @@ -232,6 +232,8 @@ "AWS::ElasticLoadBalancingV2::ListenerRule", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::ElasticLoadBalancingV2::TargetGroup", + "AWS::ElasticLoadBalancingV2::TrustStore", + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation", "AWS::Elasticsearch::Domain", "AWS::Events::EventBus", "AWS::Events::Rule", @@ -295,6 +297,13 @@ "AWS::Lambda::LayerVersionPermission", "AWS::Lambda::Permission", "AWS::Lambda::Version", + "AWS::Location::APIKey", + "AWS::Location::GeofenceCollection", + "AWS::Location::Map", + "AWS::Location::PlaceIndex", + "AWS::Location::RouteCalculator", + "AWS::Location::Tracker", + "AWS::Location::TrackerConsumer", "AWS::Logs::AccountPolicy", "AWS::Logs::Delivery", "AWS::Logs::DeliveryDestination", @@ -409,6 +418,13 @@ "AWS::StepFunctions::StateMachineAlias", "AWS::StepFunctions::StateMachineVersion", "AWS::Synthetics::Canary", + "AWS::Transfer::Agreement", + "AWS::Transfer::Certificate", + "AWS::Transfer::Connector", + "AWS::Transfer::Profile", + "AWS::Transfer::Server", + "AWS::Transfer::User", + "AWS::Transfer::Workflow", "AWS::WAF::ByteMatchSet", "AWS::WAF::IPSet", "AWS::WAF::Rule", @@ -544,6 +560,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", @@ -594,6 +611,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -617,6 +635,8 @@ "aws-elasticloadbalancingv2-listenerrule.json", "aws-elasticloadbalancingv2-loadbalancer.json", "aws-elasticloadbalancingv2-targetgroup.json", + "aws-elasticloadbalancingv2-truststore.json", + "aws-elasticloadbalancingv2-truststorerevocation.json", "aws-elasticsearch-domain.json", "aws-emr-instancegroupconfig.json", "aws-events-eventbus.json", @@ -663,11 +683,19 @@ "aws-lakeformation-tag.json", "aws-lakeformation-tagassociation.json", "aws-lambda-alias.json", + "aws-lambda-eventinvokeconfig.json", "aws-lambda-eventsourcemapping.json", "aws-lambda-function.json", "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", "aws-lambda-version.json", + "aws-location-apikey.json", + "aws-location-geofencecollection.json", + "aws-location-map.json", + "aws-location-placeindex.json", + "aws-location-routecalculator.json", + "aws-location-tracker.json", + "aws-location-trackerconsumer.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -773,6 +801,13 @@ "aws-stepfunctions-statemachinealias.json", "aws-stepfunctions-statemachineversion.json", "aws-synthetics-canary.json", + "aws-transfer-agreement.json", + "aws-transfer-certificate.json", + "aws-transfer-connector.json", + "aws-transfer-profile.json", + "aws-transfer-server.json", + "aws-transfer-user.json", + "aws-transfer-workflow.json", "aws-waf-bytematchset.json", "aws-waf-sqlinjectionmatchset.json", "aws-wafv2-ipset.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-lambda-eventinvokeconfig.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-lambda-eventinvokeconfig.json deleted file mode 100644 index 0db5cb9651..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-lambda-eventinvokeconfig.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/FunctionName", - "/properties/Qualifier" - ], - "definitions": { - "DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/OnFailure" - }, - "OnSuccess": { - "$ref": "#/definitions/OnSuccess" - } - }, - "type": "object" - }, - "OnFailure": { - "additionalProperties": false, - "properties": { - "Destination": { - "maxLength": 350, - "minLength": 0, - "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "OnSuccess": { - "additionalProperties": false, - "properties": { - "Destination": { - "maxLength": 350, - "minLength": 0, - "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/FunctionName", - "/properties/Qualifier" - ], - "properties": { - "DestinationConfig": { - "$ref": "#/definitions/DestinationConfig" - }, - "FunctionName": { - "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", - "type": "string" - }, - "MaximumEventAgeInSeconds": { - "maximum": 21600, - "minimum": 60, - "type": "integer" - }, - "MaximumRetryAttempts": { - "maximum": 2, - "minimum": 0, - "type": "integer" - }, - "Qualifier": { - "pattern": "^(|[a-zA-Z0-9$_-]{1,129})$", - "type": "string" - } - }, - "required": [ - "FunctionName", - "Qualifier" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Lambda::EventInvokeConfig" -} 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 4bd7b66b2b..84ddb35354 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py @@ -148,6 +148,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -845,6 +846,7 @@ "AWS::Proton::ServiceTemplate", "AWS::QLDB::Stream", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1000,6 +1002,7 @@ "AWS::SageMaker::MonitoringSchedule", "AWS::SageMaker::NotebookInstance", "AWS::SageMaker::NotebookInstanceLifecycleConfig", + "AWS::SageMaker::PartnerApp", "AWS::SageMaker::Pipeline", "AWS::SageMaker::Project", "AWS::SageMaker::Space", @@ -1272,9 +1275,9 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", - "aws-bedrock-agent.json", "aws-bedrock-agentalias.json", "aws-bedrock-applicationinferenceprofile.json", "aws-bedrock-datasource.json", @@ -1290,6 +1293,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1421,7 +1425,6 @@ "aws-customerprofiles-integration.json", "aws-customerprofiles-objecttype.json", "aws-customerprofiles-segmentdefinition.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1441,7 +1444,6 @@ "aws-datasync-locationsmb.json", "aws-datasync-storagesystem.json", "aws-datasync-task.json", - "aws-datazone-datasource.json", "aws-datazone-domain.json", "aws-datazone-environment.json", "aws-datazone-environmentactions.json", @@ -1582,6 +1584,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1817,10 +1820,12 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", "aws-logs-destination.json", + "aws-logs-integration.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", "aws-logs-logstream.json", @@ -1970,6 +1975,7 @@ "aws-proton-servicetemplate.json", "aws-qldb-stream.json", "aws-quicksight-analysis.json", + "aws-quicksight-custompermissions.json", "aws-quicksight-dashboard.json", "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", @@ -2083,9 +2089,9 @@ "aws-sagemaker-monitoringschedule.json", "aws-sagemaker-notebookinstance.json", "aws-sagemaker-notebookinstancelifecycleconfig.json", + "aws-sagemaker-partnerapp.json", "aws-sagemaker-pipeline.json", "aws-sagemaker-project.json", - "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", @@ -2193,6 +2199,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", @@ -2244,6 +2251,7 @@ "aws-wisdom-messagetemplateversion.json", "aws-workspaces-connectionalias.json", "aws-workspaces-workspace.json", + "aws-workspaces-workspacespool.json", "aws-workspacesthinclient-environment.json", "aws-workspacesweb-browsersettings.json", "aws-workspacesweb-dataprotectionsettings.json", diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-bedrock-agent.json new file mode 100644 index 0000000000..cf36f7f277 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-bedrock-agent.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "definitions": { + "APISchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/S3Identifier" + } + }, + "required": [ + "S3" + ], + "title": "S3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "title": "Payload", + "type": "object" + } + ] + }, + "ActionGroupExecutor": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Lambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + } + }, + "required": [ + "Lambda" + ], + "title": "Lambda", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "title": "CustomControl", + "type": "object" + } + ] + }, + "ActionGroupSignature": { + "enum": [ + "AMAZON.UserInput", + "AMAZON.CodeInterpreter" + ], + "type": "string" + }, + "ActionGroupState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "AgentActionGroup": { + "additionalProperties": false, + "properties": { + "ActionGroupExecutor": { + "$ref": "#/definitions/ActionGroupExecutor" + }, + "ActionGroupName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "ActionGroupState": { + "$ref": "#/definitions/ActionGroupState" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, + "ParentActionGroupSignature": { + "$ref": "#/definitions/ActionGroupSignature" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "ActionGroupName" + ], + "type": "object" + }, + "AgentKnowledgeBase": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "KnowledgeBaseId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "KnowledgeBaseState": { + "$ref": "#/definitions/KnowledgeBaseState" + } + }, + "required": [ + "KnowledgeBaseId", + "Description" + ], + "type": "object" + }, + "AgentStatus": { + "enum": [ + "CREATING", + "PREPARING", + "PREPARED", + "NOT_PREPARED", + "DELETING", + "FAILED", + "VERSIONING", + "UPDATING" + ], + "type": "string" + }, + "CreationMode": { + "enum": [ + "DEFAULT", + "OVERRIDDEN" + ], + "type": "string" + }, + "CustomControlMethod": { + "enum": [ + "RETURN_CONTROL" + ], + "type": "string" + }, + "Function": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 1200, + "minLength": 1, + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "FunctionSchema": { + "additionalProperties": false, + "properties": { + "Functions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "title": "Functions", + "type": "object" + }, + "GuardrailConfiguration": { + "additionalProperties": false, + "properties": { + "GuardrailIdentifier": { + "maxLength": 2048, + "pattern": "^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$", + "type": "string" + }, + "GuardrailVersion": { + "pattern": "^(([0-9]{1,8})|(DRAFT))$", + "type": "string" + } + }, + "type": "object" + }, + "InferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumLength": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopK": { + "maximum": 500, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "KnowledgeBaseState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ParameterDetail": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "$ref": "#/definitions/Type" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ParameterMap": { + "additionalProperties": false, + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "type": "object" + }, + "PromptConfiguration": { + "additionalProperties": false, + "properties": { + "BasePromptTemplate": { + "maxLength": 100000, + "minLength": 1, + "type": "string" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/InferenceConfiguration" + }, + "ParserMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptCreationMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptState": { + "$ref": "#/definitions/PromptState" + }, + "PromptType": { + "$ref": "#/definitions/PromptType" + } + }, + "type": "object" + }, + "PromptOverrideConfiguration": { + "additionalProperties": false, + "properties": { + "OverrideLambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "PromptConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PromptConfiguration" + }, + "maxItems": 10, + "type": "array" + } + }, + "required": [ + "PromptConfigurations" + ], + "type": "object" + }, + "PromptState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "PromptType": { + "enum": [ + "PRE_PROCESSING", + "ORCHESTRATION", + "POST_PROCESSING", + "KNOWLEDGE_BASE_RESPONSE_GENERATION" + ], + "type": "string" + }, + "S3Identifier": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "S3ObjectKey": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/AgentId" + ], + "properties": { + "ActionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentActionGroup" + }, + "type": "array" + }, + "AgentArn": { + "maxLength": 2048, + "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "AgentResourceRoleArn": { + "maxLength": 2048, + "type": "string" + }, + "AgentStatus": { + "$ref": "#/definitions/AgentStatus" + }, + "AgentVersion": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + }, + "AutoPrepare": { + "default": false, + "type": "boolean" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FailureReasons": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "FoundationModel": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "type": "string" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, + "IdleSessionTTLInSeconds": { + "maximum": 3600, + "minimum": 60, + "type": "number" + }, + "Instruction": { + "minLength": 40, + "type": "string" + }, + "KnowledgeBases": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentKnowledgeBase" + }, + "type": "array" + }, + "PreparedAt": { + "format": "date-time", + "type": "string" + }, + "PromptOverrideConfiguration": { + "$ref": "#/definitions/PromptOverrideConfiguration" + }, + "RecommendedActions": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "TestAliasTags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/AgentArn", + "/properties/AgentId", + "/properties/AgentStatus", + "/properties/AgentVersion", + "/properties/CreatedAt", + "/properties/FailureReasons", + "/properties/PreparedAt", + "/properties/RecommendedActions", + "/properties/UpdatedAt" + ], + "required": [ + "AgentName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Agent", + "writeOnlyProperties": [ + "/properties/AutoPrepare", + "/properties/SkipResourceInUseCheckOnDelete", + "/properties/ActionGroups/*/SkipResourceInUseCheckOnDelete" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-datazone-datasource.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-datazone-datasource.json new file mode 100644 index 0000000000..ec66adcc4a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-datazone-datasource.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/EnvironmentIdentifier", + "/properties/DomainIdentifier", + "/properties/ProjectIdentifier", + "/properties/Type" + ], + "definitions": { + "AccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}$", + "type": "string" + }, + "DataAccessRole": { + "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$", + "type": "string" + }, + "DataSourceConfigurationInput": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "GlueRunConfiguration": { + "$ref": "#/definitions/GlueRunConfigurationInput" + } + }, + "title": "GlueRunConfiguration", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "RedshiftRunConfiguration": { + "$ref": "#/definitions/RedshiftRunConfigurationInput" + } + }, + "title": "RedshiftRunConfiguration", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "SageMakerRunConfiguration": { + "$ref": "#/definitions/SageMakerRunConfigurationInput" + } + }, + "title": "SageMakerRunConfiguration", + "type": "object" + } + ] + }, + "DataSourceStatus": { + "enum": [ + "CREATING", + "FAILED_CREATION", + "READY", + "UPDATING", + "FAILED_UPDATE", + "RUNNING", + "DELETING", + "FAILED_DELETION" + ], + "type": "string" + }, + "EnableSetting": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "Type": { + "$ref": "#/definitions/FilterExpressionType" + } + }, + "required": [ + "Expression", + "Type" + ], + "type": "object" + }, + "FilterExpressionType": { + "enum": [ + "INCLUDE", + "EXCLUDE" + ], + "type": "string" + }, + "FormInput": { + "additionalProperties": false, + "properties": { + "Content": { + "maxLength": 75000, + "type": "string" + }, + "FormName": { + "$ref": "#/definitions/FormName" + }, + "TypeIdentifier": { + "maxLength": 385, + "minLength": 1, + "pattern": "^(?!\\.)[\\w\\.]*\\w$", + "type": "string" + }, + "TypeRevision": { + "$ref": "#/definitions/TypeRevision" + } + }, + "required": [ + "FormName" + ], + "type": "object" + }, + "FormName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?![0-9_])\\w+$|^_\\w*[a-zA-Z0-9]\\w*$", + "type": "string" + }, + "GlueRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "AutoImportDataQualityResult": { + "type": "boolean" + }, + "DataAccessRole": { + "$ref": "#/definitions/DataAccessRole" + }, + "RelationalFilterConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RelationalFilterConfiguration" + }, + "type": "array" + } + }, + "required": [ + "RelationalFilterConfigurations" + ], + "type": "object" + }, + "RecommendationConfiguration": { + "additionalProperties": false, + "properties": { + "EnableBusinessNameGeneration": { + "type": "boolean" + } + }, + "type": "object" + }, + "RedshiftClusterStorage": { + "additionalProperties": false, + "properties": { + "ClusterName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[0-9a-z].[a-z0-9\\-]*$", + "type": "string" + } + }, + "required": [ + "ClusterName" + ], + "type": "object" + }, + "RedshiftCredentialConfiguration": { + "additionalProperties": false, + "properties": { + "SecretManagerArn": { + "maxLength": 256, + "pattern": "^arn:aws[^:]*:secretsmanager:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:secret:.*$", + "type": "string" + } + }, + "required": [ + "SecretManagerArn" + ], + "type": "object" + }, + "RedshiftRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "DataAccessRole": { + "$ref": "#/definitions/DataAccessRole" + }, + "RedshiftCredentialConfiguration": { + "$ref": "#/definitions/RedshiftCredentialConfiguration" + }, + "RedshiftStorage": { + "$ref": "#/definitions/RedshiftStorage" + }, + "RelationalFilterConfigurations": { + "$ref": "#/definitions/RelationalFilterConfigurations" + } + }, + "required": [ + "RedshiftCredentialConfiguration", + "RedshiftStorage", + "RelationalFilterConfigurations" + ], + "type": "object" + }, + "RedshiftServerlessStorage": { + "additionalProperties": false, + "properties": { + "WorkgroupName": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-z0-9-]+$", + "type": "string" + } + }, + "required": [ + "WorkgroupName" + ], + "type": "object" + }, + "RedshiftStorage": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "RedshiftClusterSource": { + "$ref": "#/definitions/RedshiftClusterStorage" + } + }, + "required": [ + "RedshiftClusterSource" + ], + "title": "RedshiftClusterSource", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "RedshiftServerlessSource": { + "$ref": "#/definitions/RedshiftServerlessStorage" + } + }, + "required": [ + "RedshiftServerlessSource" + ], + "title": "RedshiftServerlessSource", + "type": "object" + } + ] + }, + "Region": { + "maxLength": 16, + "minLength": 4, + "pattern": "[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]", + "type": "string" + }, + "RelationalFilterConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "FilterExpressions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/FilterExpression" + }, + "type": "array" + }, + "SchemaName": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "DatabaseName" + ], + "type": "object" + }, + "RelationalFilterConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RelationalFilterConfiguration" + }, + "type": "array" + }, + "SageMakerRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "TrackingAssets": { + "$ref": "#/definitions/TrackingAssets" + } + }, + "required": [ + "TrackingAssets" + ], + "type": "object" + }, + "ScheduleConfiguration": { + "additionalProperties": false, + "properties": { + "Schedule": { + "maxLength": 256, + "minLength": 1, + "pattern": "cron\\((\\b[0-5]?[0-9]\\b) (\\b2[0-3]\\b|\\b[0-1]?[0-9]\\b) (.*){1,5} (.*){1,5} (.*){1,5} (.*){1,5}\\)", + "type": "string" + }, + "Timezone": { + "$ref": "#/definitions/Timezone" + } + }, + "type": "object" + }, + "Timezone": { + "enum": [ + "AFRICA_JOHANNESBURG", + "AMERICA_MONTREAL", + "AMERICA_SAO_PAULO", + "ASIA_BAHRAIN", + "ASIA_BANGKOK", + "ASIA_CALCUTTA", + "ASIA_DUBAI", + "ASIA_HONG_KONG", + "ASIA_JAKARTA", + "ASIA_KUALA_LUMPUR", + "ASIA_SEOUL", + "ASIA_SHANGHAI", + "ASIA_SINGAPORE", + "ASIA_TAIPEI", + "ASIA_TOKYO", + "AUSTRALIA_MELBOURNE", + "AUSTRALIA_SYDNEY", + "CANADA_CENTRAL", + "CET", + "CST6CDT", + "ETC_GMT", + "ETC_GMT0", + "ETC_GMT_ADD_0", + "ETC_GMT_ADD_1", + "ETC_GMT_ADD_10", + "ETC_GMT_ADD_11", + "ETC_GMT_ADD_12", + "ETC_GMT_ADD_2", + "ETC_GMT_ADD_3", + "ETC_GMT_ADD_4", + "ETC_GMT_ADD_5", + "ETC_GMT_ADD_6", + "ETC_GMT_ADD_7", + "ETC_GMT_ADD_8", + "ETC_GMT_ADD_9", + "ETC_GMT_NEG_0", + "ETC_GMT_NEG_1", + "ETC_GMT_NEG_10", + "ETC_GMT_NEG_11", + "ETC_GMT_NEG_12", + "ETC_GMT_NEG_13", + "ETC_GMT_NEG_14", + "ETC_GMT_NEG_2", + "ETC_GMT_NEG_3", + "ETC_GMT_NEG_4", + "ETC_GMT_NEG_5", + "ETC_GMT_NEG_6", + "ETC_GMT_NEG_7", + "ETC_GMT_NEG_8", + "ETC_GMT_NEG_9", + "EUROPE_DUBLIN", + "EUROPE_LONDON", + "EUROPE_PARIS", + "EUROPE_STOCKHOLM", + "EUROPE_ZURICH", + "ISRAEL", + "MEXICO_GENERAL", + "MST7MDT", + "PACIFIC_AUCKLAND", + "US_CENTRAL", + "US_EASTERN", + "US_MOUNTAIN", + "US_PACIFIC", + "UTC" + ], + "type": "string" + }, + "TrackingAssets": { + "additionalProperties": false, + "maxProperties": 1, + "patternProperties": { + "^.{1,64}$": { + "items": { + "pattern": "^arn:aws[^:]*:sagemaker:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:[\\w+=,.@-]{1,128}/[\\w+=,.@-]{1,256}$", + "type": "string" + }, + "maxItems": 500, + "minItems": 0, + "type": "array" + } + }, + "type": "object" + }, + "TypeRevision": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/DomainId", + "/properties/Id" + ], + "properties": { + "AssetFormsInput": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/FormInput" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/DataSourceConfigurationInput" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "Description": { + "maxLength": 2048, + "type": "string" + }, + "DomainId": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "DomainIdentifier": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "EnableSetting": { + "$ref": "#/definitions/EnableSetting" + }, + "EnvironmentId": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "EnvironmentIdentifier": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "Id": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "LastRunAssetCount": { + "type": "number" + }, + "LastRunAt": { + "type": "string" + }, + "LastRunStatus": { + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "ProjectId": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "ProjectIdentifier": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "PublishOnImport": { + "type": "boolean" + }, + "Recommendation": { + "$ref": "#/definitions/RecommendationConfiguration" + }, + "Schedule": { + "$ref": "#/definitions/ScheduleConfiguration" + }, + "Status": { + "$ref": "#/definitions/DataSourceStatus" + }, + "Type": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/DomainId", + "/properties/EnvironmentId", + "/properties/Id", + "/properties/LastRunAssetCount", + "/properties/LastRunAt", + "/properties/LastRunStatus", + "/properties/ProjectId", + "/properties/Status", + "/properties/UpdatedAt" + ], + "required": [ + "Name", + "DomainIdentifier", + "ProjectIdentifier", + "EnvironmentIdentifier", + "Type" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::DataZone::DataSource", + "writeOnlyProperties": [ + "/properties/AssetFormsInput", + "/properties/EnvironmentIdentifier", + "/properties/DomainIdentifier", + "/properties/Configuration", + "/properties/ProjectIdentifier" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-integration.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-integration.json deleted file mode 100644 index 7d716f5622..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-integration.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/IntegrationName", - "/properties/IntegrationType", - "/properties/ResourceConfig" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "[\\w#+=/:,.@-]*\\*?", - "type": "string" - }, - "OpenSearchResourceConfig": { - "additionalProperties": false, - "properties": { - "ApplicationARN": { - "$ref": "#/definitions/Arn" - }, - "DashboardViewerPrincipals": { - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array" - }, - "DataSourceRoleArn": { - "$ref": "#/definitions/Arn" - }, - "KmsKeyArn": { - "$ref": "#/definitions/Arn" - }, - "RetentionDays": { - "maximum": 3650, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "DataSourceRoleArn", - "DashboardViewerPrincipals" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/IntegrationName" - ], - "properties": { - "IntegrationName": { - "maxLength": 256, - "minLength": 1, - "pattern": "[\\.\\-_/#A-Za-z0-9]+", - "type": "string" - }, - "IntegrationStatus": { - "enum": [ - "PROVISIONING", - "ACTIVE", - "FAILED" - ], - "type": "string" - }, - "IntegrationType": { - "enum": [ - "OPENSEARCH" - ], - "type": "string" - }, - "ResourceConfig": { - "additionalProperties": false, - "properties": { - "OpenSearchResourceConfig": { - "$ref": "#/definitions/OpenSearchResourceConfig" - } - }, - "type": "object" - } - }, - "readOnlyProperties": [ - "/properties/IntegrationStatus" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "IntegrationName", - "IntegrationType", - "ResourceConfig" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::Integration", - "writeOnlyProperties": [ - "/properties/ResourceConfig" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json index e3dc615356..a6255dc5a7 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-domain.json @@ -76,6 +76,9 @@ "properties": { "EFSFileSystemConfig": { "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" } }, "type": "object" @@ -282,6 +285,27 @@ ], "type": "object" }, + "FSxLustreFileSystemConfig": { + "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" + }, "IdleSettings": { "additionalProperties": false, "properties": { @@ -419,7 +443,12 @@ "InferenceRecommender", "Endpoints", "Projects", - "InferenceOptimization" + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-space.json new file mode 100644 index 0000000000..20d6fd227f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-space.json @@ -0,0 +1,475 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/SpaceName", + "/properties/SpaceSharingSettings", + "/properties/OwnershipSettings" + ], + "definitions": { + "AppType": { + "enum": [ + "JupyterServer", + "KernelGateway", + "TensorBoard", + "RStudioServerPro", + "RSessionGateway", + "JupyterLab", + "CodeEditor" + ], + "type": "string" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystem": { + "additionalProperties": false, + "properties": { + "EFSFileSystem": { + "$ref": "#/definitions/EFSFileSystem" + }, + "FSxLustreFileSystem": { + "$ref": "#/definitions/FSxLustreFileSystem" + } + }, + "type": "object" + }, + "CustomFileSystems": { + "items": { + "$ref": "#/definitions/CustomFileSystem" + }, + "maxItems": 1, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "EFSFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "EbsStorageSettings": { + "additionalProperties": false, + "properties": { + "EbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "EbsVolumeSizeInGb" + ], + "type": "object" + }, + "FSxLustreFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OwnershipSettings": { + "additionalProperties": false, + "properties": { + "OwnerUserProfileName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + } + }, + "required": [ + "OwnerUserProfileName" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceAppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/SpaceIdleSettings" + } + }, + "type": "object" + }, + "SpaceCodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "SpaceIdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + } + }, + "type": "object" + }, + "SpaceJupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "SpaceSettings": { + "additionalProperties": false, + "properties": { + "AppType": { + "$ref": "#/definitions/AppType" + }, + "CodeEditorAppSettings": { + "$ref": "#/definitions/SpaceCodeEditorAppSettings" + }, + "CustomFileSystems": { + "$ref": "#/definitions/CustomFileSystems" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/SpaceJupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/SpaceStorageSettings" + } + }, + "type": "object" + }, + "SpaceSharingSettings": { + "additionalProperties": false, + "properties": { + "SharingType": { + "enum": [ + "Private", + "Shared" + ], + "type": "string" + } + }, + "required": [ + "SharingType" + ], + "type": "object" + }, + "SpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "EbsStorageSettings": { + "$ref": "#/definitions/EbsStorageSettings" + } + }, + "type": "object" + }, + "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, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId", + "/properties/SpaceName" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "OwnershipSettings": { + "$ref": "#/definitions/OwnershipSettings" + }, + "SpaceArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*", + "type": "string" + }, + "SpaceDisplayName": { + "maxLength": 64, + "pattern": "^(?!\\s*$).+", + "type": "string" + }, + "SpaceName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "SpaceSettings": { + "$ref": "#/definitions/SpaceSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + }, + "SpaceSharingSettings": { + "$ref": "#/definitions/SpaceSharingSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/SpaceArn", + "/properties/Url" + ], + "required": [ + "DomainId", + "SpaceName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SageMaker::Space", + "writeOnlyProperties": [ + "/properties/SpaceSettings" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json index 76b5b0dad8..2d4d1a2f88 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-sagemaker-userprofile.json @@ -77,6 +77,9 @@ "properties": { "EFSFileSystemConfig": { "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" } }, "type": "object" @@ -171,6 +174,27 @@ ], "type": "object" }, + "FSxLustreFileSystemConfig": { + "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" + }, "IdleSettings": { "additionalProperties": false, "properties": { @@ -307,7 +331,12 @@ "InferenceRecommender", "Endpoints", "Projects", - "InferenceOptimization" + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json deleted file mode 100644 index 19c638ca23..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PoolName" - ], - "definitions": { - "ApplicationSettings": { - "additionalProperties": false, - "properties": { - "SettingsGroup": { - "maxLength": 100, - "pattern": "^[A-Za-z0-9_./()!*'-]+$", - "type": "string" - }, - "Status": { - "$ref": "#/definitions/ApplicationSettingsStatus" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "ApplicationSettingsStatus": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "Capacity": { - "additionalProperties": false, - "properties": { - "DesiredUserSessions": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "DesiredUserSessions" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TimeoutSettings": { - "additionalProperties": false, - "properties": { - "DisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 60, - "type": "integer" - }, - "IdleDisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 0, - "type": "integer" - }, - "MaxUserDurationInSeconds": { - "maximum": 432000, - "minimum": 600, - "type": "integer" - } - }, - "required": [], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/PoolId" - ], - "properties": { - "ApplicationSettings": { - "$ref": "#/definitions/ApplicationSettings" - }, - "BundleId": { - "pattern": "^wsb-[0-9a-z]{8,63}$", - "type": "string" - }, - "Capacity": { - "$ref": "#/definitions/Capacity" - }, - "CreatedAt": { - "type": "string" - }, - "Description": { - "maxLength": 255, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_./() -]+$", - "type": "string" - }, - "DirectoryId": { - "maxLength": 65, - "minLength": 10, - "pattern": "^wsd-[0-9a-z]{8,63}$", - "type": "string" - }, - "PoolArn": { - "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$", - "type": "string" - }, - "PoolId": { - "pattern": "^wspool-[0-9a-z]{9}$", - "type": "string" - }, - "PoolName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TimeoutSettings": { - "$ref": "#/definitions/TimeoutSettings" - } - }, - "readOnlyProperties": [ - "/properties/PoolId", - "/properties/PoolArn", - "/properties/CreatedAt" - ], - "required": [ - "PoolName", - "BundleId", - "DirectoryId", - "Capacity" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::WorkSpaces::WorkspacesPool", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} 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 f7e7994bcf..a0afcd2fe4 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py @@ -294,6 +294,8 @@ "AWS::ElasticLoadBalancingV2::ListenerRule", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::ElasticLoadBalancingV2::TargetGroup", + "AWS::ElasticLoadBalancingV2::TrustStore", + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation", "AWS::Elasticsearch::Domain", "AWS::Events::EventBus", "AWS::Events::EventBusPolicy", @@ -622,6 +624,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -683,6 +686,7 @@ "aws-cloudformation-resourcedefaultversion.json", "aws-cloudformation-resourceversion.json", "aws-cloudformation-stackset.json", + "aws-cloudformation-typeactivation.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", @@ -753,6 +757,7 @@ "aws-dms-replicationconfig.json", "aws-ec2-capacityreservation.json", "aws-ec2-capacityreservationfleet.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -774,6 +779,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", @@ -828,6 +834,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -853,6 +860,8 @@ "aws-elasticloadbalancingv2-listenerrule.json", "aws-elasticloadbalancingv2-loadbalancer.json", "aws-elasticloadbalancingv2-targetgroup.json", + "aws-elasticloadbalancingv2-truststore.json", + "aws-elasticloadbalancingv2-truststorerevocation.json", "aws-elasticsearch-domain.json", "aws-emr-cluster.json", "aws-emr-instancefleetconfig.json", @@ -976,6 +985,7 @@ "aws-networkmanager-vpcattachment.json", "aws-oam-link.json", "aws-oam-sink.json", + "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-userprofile.json", @@ -989,9 +999,7 @@ "aws-pcaconnectorscep-connector.json", "aws-ram-permission.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1107,6 +1115,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-policy.json", diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudformation-typeactivation.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ExecutionRoleArn", - "/properties/LoggingConfig", - "/properties/TypeNameAlias", - "/properties/TypeName", - "/properties/Type", - "/properties/PublisherId", - "/properties/PublicTypeArn" - ], - "definitions": { - "LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogRoleArn": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "oneOf": [ - { - "required": [ - "TypeName", - "PublisherId", - "Type" - ] - }, - { - "required": [ - "PublicTypeArn" - ] - } - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "AutoUpdate": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/LoggingConfig" - }, - "MajorVersion": { - "maxLength": 100000, - "minLength": 1, - "type": "string" - }, - "PublicTypeArn": { - "maxLength": 1024, - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "PublisherId": { - "maxLength": 40, - "minLength": 1, - "pattern": "[0-9a-zA-Z-]{40}", - "type": "string" - }, - "Type": { - "enum": [ - "RESOURCE", - "MODULE", - "HOOK" - ], - "type": "string" - }, - "TypeName": { - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "TypeNameAlias": { - "maxLength": 204, - "minLength": 10, - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "VersionBump": { - "enum": [ - "MAJOR", - "MINOR" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation", - "typeName": "AWS::CloudFormation::TypeActivation" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CertificateArn", - "/properties/BgpAsn", - "/properties/BgpAsnExtended", - "/properties/Type", - "/properties/IpAddress", - "/properties/DeviceName" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/CustomerGatewayId" - ], - "properties": { - "BgpAsn": { - "default": 65000, - "type": "integer" - }, - "BgpAsnExtended": { - "maximum": 4294967294, - "minimum": 2147483648, - "multipleOf": 1, - "type": "number" - }, - "CertificateArn": { - "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$", - "type": "string" - }, - "CustomerGatewayId": { - "type": "string" - }, - "DeviceName": { - "type": "string" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "enum": [ - "ipsec.1" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/CustomerGatewayId" - ], - "required": [ - "IpAddress", - "Type" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EC2::CustomerGateway" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "definitions": { + "CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "type": "string" + }, + "ValidTill": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "enum": [ + "coreCount", + "threadsPerCore" + ], + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "dependencies": { + "KmsKeyId": { + "properties": { + "StorageEncrypted": { + "enum": [ + "true", + "True", + true + ] + } + }, + "required": [ + "StorageEncrypted" + ] + } + }, + "dependentExcluded": { + "SourceDBInstanceIdentifier": [ + "CharacterSetName", + "MasterUserPassword", + "MasterUsername", + "StorageEncrypted" + ] + }, + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "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": { + "maximum": 35, + "minimum": 0, + "type": "integer" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "type": "string" + }, + "DBInstanceArn": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "maxLength": 63, + "minLength": 1, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DbiResourceId": { + "type": "string" + }, + "DedicatedLogVolume": { + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainAuthSecretArn": { + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainFqdn": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "DomainOu": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "integer" + }, + "MonitoringInterval": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "enum": [ + 7, + 31, + 62, + 93, + 124, + 155, + 186, + 217, + 248, + 279, + 310, + 341, + 372, + 403, + 434, + 465, + 496, + 527, + 558, + 589, + 620, + 651, + 682, + 713, + 731 + ], + "type": "integer" + }, + "Port": { + "pattern": "^\\d*$", + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "type": "string" + }, + "RestoreTime": { + "format": "date-time", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceDbiResourceId": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TdeCredentialArn": { + "type": "string" + }, + "TdeCredentialPassword": { + "type": "string" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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_west_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py index d6e3b9f7ce..52afead614 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py @@ -537,6 +537,7 @@ "AWS::Personalize::Solution", "AWS::Pipes::Pipe", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -743,6 +744,7 @@ "aws-apigateway-documentationversion.json", "aws-apigateway-domainname.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -798,6 +800,7 @@ "aws-athena-namedquery.json", "aws-athena-preparedstatement.json", "aws-athena-workgroup.json", + "aws-autoscaling-autoscalinggroup.json", "aws-autoscaling-launchconfiguration.json", "aws-autoscaling-lifecyclehook.json", "aws-autoscaling-scalingpolicy.json", @@ -812,7 +815,9 @@ "aws-batch-schedulingpolicy.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -957,6 +962,7 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", + "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -1171,6 +1177,7 @@ "aws-lambda-permission.json", "aws-lambda-version.json", "aws-launchwizard-deployment.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1216,6 +1223,7 @@ "aws-personalize-solution.json", "aws-pipes-pipe.json", "aws-quicksight-analysis.json", + "aws-quicksight-custompermissions.json", "aws-quicksight-dashboard.json", "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", @@ -1225,6 +1233,7 @@ "aws-quicksight-theme.json", "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", + "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-autoscaling-autoscalinggroup.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-autoscaling-autoscalinggroup.json deleted file mode 100644 index f5e9fd913b..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-autoscaling-autoscalinggroup.json +++ /dev/null @@ -1,794 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/LaunchConfigurationName", - "/properties/VPCZoneIdentifier", - "/properties/LaunchTemplate", - "/properties/MixedInstancesPolicy" - ], - "createOnlyProperties": [ - "/properties/InstanceId", - "/properties/AutoScalingGroupName" - ], - "definitions": { - "AcceleratorCountRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "integer" - }, - "Min": { - "type": "integer" - } - }, - "type": "object" - }, - "AcceleratorTotalMemoryMiBRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "integer" - }, - "Min": { - "type": "integer" - } - }, - "type": "object" - }, - "AvailabilityZoneDistribution": { - "additionalProperties": false, - "properties": { - "CapacityDistributionStrategy": { - "enum": [ - "balanced-best-effort", - "balanced-only" - ], - "type": "string" - } - }, - "type": "object" - }, - "AvailabilityZoneImpairmentPolicy": { - "additionalProperties": false, - "properties": { - "ImpairedZoneHealthCheckBehavior": { - "enum": [ - "IgnoreUnhealthy", - "ReplaceUnhealthy" - ], - "type": "string" - }, - "ZonalShiftEnabled": { - "type": "boolean" - } - }, - "required": [ - "ImpairedZoneHealthCheckBehavior", - "ZonalShiftEnabled" - ], - "type": "object" - }, - "BaselineEbsBandwidthMbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "integer" - }, - "Min": { - "type": "integer" - } - }, - "type": "object" - }, - "BaselinePerformanceFactorsRequest": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuPerformanceFactorRequest" - } - }, - "type": "object" - }, - "CpuPerformanceFactorRequest": { - "additionalProperties": false, - "properties": { - "References": { - "$ref": "#/definitions/PerformanceFactorReferenceSetRequest" - } - }, - "type": "object" - }, - "InstanceMaintenancePolicy": { - "additionalProperties": false, - "dependencies": { - "MaxHealthyPercentage": [ - "MinHealthyPercentage" - ], - "MinHealthyPercentage": [ - "MaxHealthyPercentage" - ] - }, - "properties": { - "MaxHealthyPercentage": { - "type": "integer" - }, - "MinHealthyPercentage": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceRequirements": { - "additionalProperties": false, - "properties": { - "AcceleratorCount": { - "$ref": "#/definitions/AcceleratorCountRequest" - }, - "AcceleratorManufacturers": { - "insertionOrder": false, - "items": { - "enum": [ - "amazon-web-services", - "amd", - "nvidia", - "xilinx" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "AcceleratorNames": { - "insertionOrder": false, - "items": { - "enum": [ - "a100", - "k80", - "m60", - "radeon-pro-v520", - "t4", - "v100", - "vu9p" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "AcceleratorTotalMemoryMiB": { - "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" - }, - "AcceleratorTypes": { - "insertionOrder": false, - "items": { - "enum": [ - "fpga", - "gpu", - "inference" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "AllowedInstanceTypes": { - "insertionOrder": true, - "items": { - "pattern": "[a-zA-Z0-9\\.\\*\\-]+", - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "BareMetal": { - "enum": [ - "excluded", - "included", - "required" - ], - "type": "string" - }, - "BaselineEbsBandwidthMbps": { - "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" - }, - "BaselinePerformanceFactors": { - "$ref": "#/definitions/BaselinePerformanceFactorsRequest" - }, - "BurstablePerformance": { - "enum": [ - "excluded", - "included", - "required" - ], - "type": "string" - }, - "CpuManufacturers": { - "insertionOrder": false, - "items": { - "enum": [ - "amazon-web-services", - "amd", - "intel" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "ExcludedInstanceTypes": { - "insertionOrder": true, - "items": { - "pattern": "[a-zA-Z0-9\\.\\*\\-]+", - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "InstanceGenerations": { - "insertionOrder": false, - "items": { - "enum": [ - "current", - "previous" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "LocalStorage": { - "enum": [ - "excluded", - "included", - "required" - ], - "type": "string" - }, - "LocalStorageTypes": { - "insertionOrder": false, - "items": { - "enum": [ - "hdd", - "ssd" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "type": "integer" - }, - "MemoryGiBPerVCpu": { - "$ref": "#/definitions/MemoryGiBPerVCpuRequest" - }, - "MemoryMiB": { - "$ref": "#/definitions/MemoryMiBRequest" - }, - "NetworkBandwidthGbps": { - "$ref": "#/definitions/NetworkBandwidthGbpsRequest" - }, - "NetworkInterfaceCount": { - "$ref": "#/definitions/NetworkInterfaceCountRequest" - }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "type": "integer" - }, - "RequireHibernateSupport": { - "type": "boolean" - }, - "SpotMaxPricePercentageOverLowestPrice": { - "type": "integer" - }, - "TotalLocalStorageGB": { - "$ref": "#/definitions/TotalLocalStorageGBRequest" - }, - "VCpuCount": { - "$ref": "#/definitions/VCpuCountRequest" - } - }, - "required": [ - "MemoryMiB", - "VCpuCount" - ], - "type": "object" - }, - "InstancesDistribution": { - "additionalProperties": false, - "properties": { - "OnDemandAllocationStrategy": { - "type": "string" - }, - "OnDemandBaseCapacity": { - "type": "integer" - }, - "OnDemandPercentageAboveBaseCapacity": { - "type": "integer" - }, - "SpotAllocationStrategy": { - "type": "string" - }, - "SpotInstancePools": { - "type": "integer" - }, - "SpotMaxPrice": { - "type": "string" - } - }, - "type": "object" - }, - "LaunchTemplate": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/LaunchTemplateSpecification" - }, - "Overrides": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/LaunchTemplateOverrides" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LaunchTemplateSpecification" - ], - "type": "object" - }, - "LaunchTemplateOverrides": { - "additionalProperties": false, - "properties": { - "InstanceRequirements": { - "$ref": "#/definitions/InstanceRequirements" - }, - "InstanceType": { - "type": "string" - }, - "LaunchTemplateSpecification": { - "$ref": "#/definitions/LaunchTemplateSpecification" - }, - "WeightedCapacity": { - "type": "string" - } - }, - "type": "object" - }, - "LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+", - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "requiredXor": [ - "LaunchTemplateId", - "LaunchTemplateName" - ], - "type": "object" - }, - "LifecycleHookSpecification": { - "additionalProperties": false, - "properties": { - "DefaultResult": { - "type": "string" - }, - "HeartbeatTimeout": { - "type": "integer" - }, - "LifecycleHookName": { - "pattern": "[A-Za-z0-9\\-_\\/]+", - "type": "string" - }, - "LifecycleTransition": { - "type": "string" - }, - "NotificationMetadata": { - "pattern": "[\\u0009\\u000A\\u000D\\u0020-\\u007e]+", - "type": "string" - }, - "NotificationTargetARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "LifecycleHookName", - "LifecycleTransition" - ], - "type": "object" - }, - "MemoryGiBPerVCpuRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "number" - }, - "Min": { - "type": "number" - } - }, - "type": "object" - }, - "MemoryMiBRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "integer" - }, - "Min": { - "type": "integer" - } - }, - "type": "object" - }, - "MetricsCollection": { - "additionalProperties": false, - "properties": { - "Granularity": { - "type": "string" - }, - "Metrics": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Granularity" - ], - "type": "object" - }, - "MixedInstancesPolicy": { - "additionalProperties": false, - "properties": { - "InstancesDistribution": { - "$ref": "#/definitions/InstancesDistribution" - }, - "LaunchTemplate": { - "$ref": "#/definitions/LaunchTemplate" - } - }, - "required": [ - "LaunchTemplate" - ], - "type": "object" - }, - "NetworkBandwidthGbpsRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "number" - }, - "Min": { - "type": "number" - } - }, - "type": "object" - }, - "NetworkInterfaceCountRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "integer" - }, - "Min": { - "type": "integer" - } - }, - "type": "object" - }, - "NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TopicARN": { - "items": { - "type": "string" - }, - "type": [ - "string", - "array" - ] - } - }, - "required": [ - "TopicARN" - ], - "type": "object" - }, - "PerformanceFactorReferenceRequest": { - "additionalProperties": false, - "properties": { - "InstanceFamily": { - "type": "string" - } - }, - "type": "object" - }, - "PerformanceFactorReferenceSetRequest": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/PerformanceFactorReferenceRequest" - }, - "type": "array", - "uniqueItems": true - }, - "TagProperty": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "PropagateAtLaunch": { - "type": "boolean" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key", - "PropagateAtLaunch" - ], - "type": "object" - }, - "TotalLocalStorageGBRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "number" - }, - "Min": { - "type": "number" - } - }, - "type": "object" - }, - "TrafficSourceIdentifier": { - "additionalProperties": false, - "properties": { - "Identifier": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Identifier", - "Type" - ], - "type": "object" - }, - "VCpuCountRequest": { - "additionalProperties": false, - "properties": { - "Max": { - "type": "integer" - }, - "Min": { - "type": "integer" - } - }, - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/NotificationConfiguration" - ], - "primaryIdentifier": [ - "/properties/AutoScalingGroupName" - ], - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "AvailabilityZoneDistribution": { - "$ref": "#/definitions/AvailabilityZoneDistribution" - }, - "AvailabilityZoneImpairmentPolicy": { - "$ref": "#/definitions/AvailabilityZoneImpairmentPolicy" - }, - "AvailabilityZones": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CapacityRebalance": { - "type": "boolean" - }, - "Context": { - "type": "string" - }, - "Cooldown": { - "type": "string" - }, - "DefaultInstanceWarmup": { - "type": "integer" - }, - "DesiredCapacity": { - "pattern": "^[0-9]+$", - "type": "string" - }, - "DesiredCapacityType": { - "type": "string" - }, - "HealthCheckGracePeriod": { - "type": "integer" - }, - "HealthCheckType": { - "enum": [ - "EBS", - "EC2", - "ELB", - "VPC_LATTICE" - ], - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "InstanceMaintenancePolicy": { - "$ref": "#/definitions/InstanceMaintenancePolicy" - }, - "LaunchConfigurationName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/LaunchTemplateSpecification" - }, - "LifecycleHookSpecificationList": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/LifecycleHookSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "LoadBalancerNames": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "MaxInstanceLifetime": { - "type": "integer" - }, - "MaxSize": { - "pattern": "^[0-9]+$", - "type": "string" - }, - "MetricsCollection": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/MetricsCollection" - }, - "type": "array", - "uniqueItems": false - }, - "MinSize": { - "pattern": "^[0-9]+$", - "type": "string" - }, - "MixedInstancesPolicy": { - "$ref": "#/definitions/MixedInstancesPolicy" - }, - "NewInstancesProtectedFromScaleIn": { - "type": "boolean" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/NotificationConfiguration" - }, - "NotificationConfigurations": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/NotificationConfiguration" - }, - "type": "array", - "uniqueItems": false - }, - "PlacementGroup": { - "type": "string" - }, - "ServiceLinkedRoleARN": { - "type": "string" - }, - "SkipZonalShiftValidation": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TagProperty" - }, - "type": "array" - }, - "TargetGroupARNs": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TerminationPolicies": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrafficSources": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TrafficSourceIdentifier" - }, - "type": "array", - "uniqueItems": true - }, - "VPCZoneIdentifier": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/LaunchConfigurationName": "InstanceId? AutoScalingGroupName : LaunchConfigurationName" - }, - "required": [ - "MinSize", - "MaxSize" - ], - "requiredXor": [ - "InstanceId", - "LaunchConfigurationName", - "LaunchTemplate", - "MixedInstancesPolicy" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AutoScaling::AutoScalingGroup", - "writeOnlyProperties": [ - "/properties/SkipZonalShiftValidation", - "/properties/InstanceId" - ] -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-ram-resourceshare.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Arn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Sources": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "typeName": "AWS::RAM::ResourceShare" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py index ef5179ec89..803e6d8885 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py @@ -109,6 +109,7 @@ "AWS::CUR::ReportDefinition", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Cloud9::EnvironmentEC2", @@ -428,6 +429,7 @@ "AWS::IoT::TopicRuleDestination", "AWS::KMS::Alias", "AWS::KMS::Key", + "AWS::KMS::ReplicaKey", "AWS::Kinesis::ResourcePolicy", "AWS::Kinesis::Stream", "AWS::Kinesis::StreamConsumer", @@ -699,6 +701,7 @@ "aws-apigateway-documentationversion.json", "aws-apigateway-domainname.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -770,6 +773,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -792,6 +796,7 @@ "aws-cloudfront-keygroup.json", "aws-cloudfront-publickey.json", "aws-cloudfront-responseheaderspolicy.json", + "aws-cloudtrail-trail.json", "aws-cloudwatch-alarm.json", "aws-cloudwatch-anomalydetector.json", "aws-cloudwatch-compositealarm.json", @@ -816,7 +821,6 @@ "aws-config-remediationconfiguration.json", "aws-config-storedquery.json", "aws-cur-reportdefinition.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -873,6 +877,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", @@ -910,7 +915,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -925,6 +929,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1058,6 +1063,7 @@ "aws-iot-scheduledaudit.json", "aws-iot-securityprofile.json", "aws-iot-softwarepackage.json", + "aws-iot-softwarepackageversion.json", "aws-iot-thing.json", "aws-iot-thinggroup.json", "aws-iot-thingprincipalattachment.json", @@ -1072,6 +1078,7 @@ "aws-kinesisfirehose-deliverystream.json", "aws-kms-alias.json", "aws-kms-key.json", + "aws-kms-replicakey.json", "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", @@ -1085,12 +1092,17 @@ "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", "aws-launchwizard-deployment.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", "aws-logs-destination.json", + "aws-logs-loggroup.json", "aws-logs-logstream.json", + "aws-logs-metricfilter.json", + "aws-logs-querydefinition.json", "aws-logs-resourcepolicy.json", + "aws-logs-subscriptionfilter.json", "aws-mediaconvert-jobtemplate.json", "aws-mediaconvert-preset.json", "aws-mediaconvert-queue.json", @@ -1119,9 +1131,11 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pipes-pipe.json", "aws-ram-permission.json", + "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", @@ -1252,6 +1266,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-waf-bytematchset.json", diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudtrail-trail.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudtrail-trail.json deleted file mode 100644 index d2c122b122..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudtrail-trail.json +++ /dev/null @@ -1,315 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/TrailName" - ], - "definitions": { - "AdvancedEventSelector": { - "additionalProperties": false, - "properties": { - "FieldSelectors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AdvancedFieldSelector" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Name": { - "maxLength": 1000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "FieldSelectors" - ], - "type": "object" - }, - "AdvancedFieldSelector": { - "additionalProperties": false, - "properties": { - "EndsWith": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "minLength": 1, - "pattern": "(.+)", - "type": "string" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Equals": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "minLength": 1, - "pattern": "(.+)", - "type": "string" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Field": { - "maxLength": 1000, - "minLength": 1, - "pattern": "([\\w|\\d|\\.|_]+)", - "type": "string" - }, - "NotEndsWith": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "minLength": 1, - "pattern": "(.+)", - "type": "string" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "NotEquals": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "minLength": 1, - "pattern": "(.+)", - "type": "string" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "NotStartsWith": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "minLength": 1, - "pattern": "(.+)", - "type": "string" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "StartsWith": { - "insertionOrder": false, - "items": { - "maxLength": 2048, - "minLength": 1, - "pattern": "(.+)", - "type": "string" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "Field" - ], - "type": "object" - }, - "DataResource": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "AWS::Lambda::Function", - "AWS::S3::Object", - "AWS::DynamoDB::Table", - "AWS::S3Outposts::Object", - "AWS::ManagedBlockchain::Node", - "AWS::S3ObjectLambda::AccessPoint", - "AWS::EC2::Snapshot", - "AWS::S3::AccessPoint", - "AWS::DynamoDB::Stream" - ], - "type": "string" - }, - "Values": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "EventSelector": { - "additionalProperties": false, - "properties": { - "DataResources": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DataResource" - }, - "type": "array", - "uniqueItems": true - }, - "ExcludeManagementEventSources": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "IncludeManagementEvents": { - "type": "boolean" - }, - "ReadWriteType": { - "enum": [ - "All", - "ReadOnly", - "WriteOnly" - ], - "type": "string" - } - }, - "type": "object" - }, - "InsightSelector": { - "additionalProperties": false, - "properties": { - "InsightType": { - "enum": [ - "ApiCallRateInsight", - "ApiErrorRateInsight" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/TrailName" - ], - "properties": { - "AdvancedEventSelectors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AdvancedEventSelector" - }, - "type": "array", - "uniqueItems": true - }, - "Arn": { - "type": "string" - }, - "CloudWatchLogsLogGroupArn": { - "type": "string" - }, - "CloudWatchLogsRoleArn": { - "type": "string" - }, - "EnableLogFileValidation": { - "type": "boolean" - }, - "EventSelectors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EventSelector" - }, - "maxItems": 5, - "type": "array", - "uniqueItems": true - }, - "IncludeGlobalServiceEvents": { - "type": "boolean" - }, - "InsightSelectors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InsightSelector" - }, - "type": "array", - "uniqueItems": true - }, - "IsLogging": { - "type": "boolean" - }, - "IsMultiRegionTrail": { - "type": "boolean" - }, - "IsOrganizationTrail": { - "type": "boolean" - }, - "KMSKeyId": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "maxLength": 200, - "type": "string" - }, - "SnsTopicArn": { - "type": "string" - }, - "SnsTopicName": { - "maxLength": 256, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TrailName": { - "maxLength": 128, - "minLength": 3, - "pattern": "(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9]([a-zA-Z0-9\\._-])*[a-zA-Z0-9]$)", - "type": "string" - } - }, - "propertyTransform": { - "/properties/KMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KMSKeyId])" - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/SnsTopicArn" - ], - "required": [ - "S3BucketName", - "IsLogging" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudtrail.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::CloudTrail::Trail" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..069e16e3c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ec2-vpcendpoint.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ServiceName", + "/properties/VpcEndpointType", + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" + ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CreationTimestamp": { + "type": "string" + }, + "DnsEntries": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, + "Id": { + "type": "string" + }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, + "NetworkInterfaceIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PolicyDocument": { + "type": [ + "string", + "object" + ] + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "ResourceConfigurationArn": { + "type": "string" + }, + "RouteTableIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/RouteTableId", + "typeName": "AWS::EC2::RouteTable" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/GroupId", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/DefaultSecurityGroup", + "typeName": "AWS::EC2::VPC" + } + } + ], + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ServiceName": { + "type": "string" + }, + "ServiceNetworkArn": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/SubnetId", + "typeName": "AWS::EC2::Subnet" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "VpcEndpointType": { + "enum": [ + "Interface", + "Gateway", + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" + ], + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/NetworkInterfaceIds", + "/properties/CreationTimestamp", + "/properties/DnsEntries", + "/properties/Id" + ], + "required": [ + "VpcId" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::EC2::VPCEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-iot-softwarepackageversion.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-iot-softwarepackageversion.json deleted file mode 100644 index bf722d5a0b..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-iot-softwarepackageversion.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PackageName", - "/properties/VersionName" - ], - "definitions": { - "PackageVersionStatus": { - "enum": [ - "DRAFT", - "PUBLISHED", - "DEPRECATED" - ], - "type": "string" - }, - "ResourceAttributes": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9:_-]+$": { - "minLength": 1, - "pattern": "^[^\\p{C}]+$", - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/PackageName", - "/properties/VersionName" - ], - "properties": { - "Attributes": { - "$ref": "#/definitions/ResourceAttributes" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "pattern": "^[^\\p{C}]+$", - "type": "string" - }, - "ErrorReason": { - "type": "string" - }, - "PackageName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-_.]+$", - "type": "string" - }, - "PackageVersionArn": { - "type": "string" - }, - "Status": { - "$ref": "#/definitions/PackageVersionStatus" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "VersionName": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-_.]+$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/ErrorReason", - "/properties/PackageVersionArn", - "/properties/Status" - ], - "required": [ - "PackageName" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::IoT::SoftwarePackageVersion" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LogGroupName" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/LogGroupName" - ], - "properties": { - "Arn": { - "type": "string" - }, - "DataProtectionPolicy": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "KmsKeyId": { - "maxLength": 256, - "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z", - "type": "string" - }, - "LogGroupClass": { - "default": "STANDARD", - "enum": [ - "STANDARD", - "INFREQUENT_ACCESS" - ], - "type": "string" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z", - "type": "string" - }, - "RetentionInDays": { - "enum": [ - 1, - 3, - 5, - 7, - 14, - 30, - 60, - 90, - 120, - 150, - 180, - 365, - 400, - 545, - 731, - 1096, - 1827, - 2192, - 2557, - 2922, - 3288, - 3653 - ], - "type": "integer" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Logs::LogGroup" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/FilterName", - "/properties/LogGroupName" - ], - "definitions": { - "Dimension": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 255, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "MetricTransformation": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "number" - }, - "Dimensions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Dimension" - }, - "maxItems": 3, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "MetricName": { - "maxLength": 255, - "minLength": 1, - "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}", - "type": "string" - }, - "MetricNamespace": { - "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#", - "maxLength": 256, - "minLength": 1, - "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}", - "type": "string" - }, - "MetricValue": { - "maxLength": 100, - "minLength": 1, - "pattern": "^(([0-9]*)|(\\$.*))$", - "type": "string" - }, - "Unit": { - "enum": [ - "Seconds", - "Microseconds", - "Milliseconds", - "Bytes", - "Kilobytes", - "Megabytes", - "Gigabytes", - "Terabytes", - "Bits", - "Kilobits", - "Megabits", - "Gigabits", - "Terabits", - "Percent", - "Count", - "Bytes/Second", - "Kilobytes/Second", - "Megabytes/Second", - "Gigabytes/Second", - "Terabytes/Second", - "Bits/Second", - "Kilobits/Second", - "Megabits/Second", - "Gigabits/Second", - "Terabits/Second", - "Count/Second", - "None" - ], - "type": "string" - } - }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricValue" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/LogGroupName", - "/properties/FilterName" - ], - "properties": { - "FilterName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]{1,512}", - "type": "string" - }, - "FilterPattern": { - "maxLength": 1024, - "type": "string" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}", - "type": "string" - }, - "MetricTransformations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MetricTransformation" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "replacementStrategy": "delete_then_create", - "required": [ - "FilterPattern", - "LogGroupName", - "MetricTransformations" - ], - "resourceLink": { - "mappings": { - "LogGroupName": "/LogGroupName", - "MetricName": "/MetricName" - }, - "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}" - }, - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "taggable": false - }, - "typeName": "AWS::Logs::MetricFilter" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "LogGroup": { - "maxLength": 512, - "minLength": 1, - "pattern": "[\\.\\-_/#A-Za-z0-9]+", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/QueryDefinitionId" - ], - "properties": { - "LogGroupNames": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogGroup" - }, - "type": "array" - }, - "Name": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "QueryDefinitionId": { - "maxLength": 256, - "minLength": 0, - "type": "string" - }, - "QueryString": { - "maxLength": 10000, - "minLength": 1, - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/QueryDefinitionId" - ], - "required": [ - "Name", - "QueryString" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "taggable": false - }, - "typeName": "AWS::Logs::QueryDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/FilterName", - "/properties/LogGroupName" - ], - "primaryIdentifier": [ - "/properties/FilterName", - "/properties/LogGroupName" - ], - "properties": { - "DestinationArn": { - "type": "string" - }, - "Distribution": { - "enum": [ - "Random", - "ByLogStream" - ], - "type": "string" - }, - "FilterName": { - "pattern": "[^:*]*", - "type": "string" - }, - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "pattern": "[\\.\\-_/#A-Za-z0-9]+", - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "replacementStrategy": "delete_then_create", - "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::SubscriptionFilter" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Type" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "[\\s\\S]*", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "[\\s\\S]*", - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Arn": { - "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}", - "type": "string" - }, - "AwsManaged": { - "type": "boolean" - }, - "Content": { - "maxLength": 1000000, - "minLength": 1, - "pattern": "[\\s\\S]*", - "type": [ - "object", - "string" - ] - }, - "Description": { - "maxLength": 512, - "pattern": "[\\s\\S]*", - "type": "string" - }, - "Id": { - "maxLength": 130, - "pattern": "^p-[0-9a-zA-Z_]{8,128}$", - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "pattern": "[\\s\\S]*", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "TargetIds": { - "insertionOrder": false, - "items": { - "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$", - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "enum": [ - "SERVICE_CONTROL_POLICY", - "AISERVICES_OPT_OUT_POLICY", - "BACKUP_POLICY", - "TAG_POLICY", - "CHATBOT_POLICY", - "RESOURCE_CONTROL_POLICY" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn", - "/properties/AwsManaged" - ], - "required": [ - "Name", - "Type", - "Content" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Organizations::Policy" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ram-resourceshare.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Arn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Sources": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "typeName": "AWS::RAM::ResourceShare" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 b479a7a198..98825b2da7 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py @@ -946,6 +946,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::PaymentCryptography::Alias", "AWS::PaymentCryptography::Key", "AWS::Personalize::Dataset", @@ -982,6 +985,7 @@ "AWS::QLDB::Ledger", "AWS::QLDB::Stream", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1363,8 +1367,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1456,11 +1462,12 @@ "aws-bedrock-guardrail.json", "aws-bedrock-guardrailversion.json", "aws-bedrock-knowledgebase.json", - "aws-bedrock-prompt.json", "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1480,9 +1487,11 @@ "aws-cleanroomsml-trainingdataset.json", "aws-cloud9-environmentec2.json", "aws-cloudformation-customresource.json", + "aws-cloudformation-guardhook.json", "aws-cloudformation-hookdefaultversion.json", "aws-cloudformation-hooktypeconfig.json", "aws-cloudformation-hookversion.json", + "aws-cloudformation-lambdahook.json", "aws-cloudformation-macro.json", "aws-cloudformation-moduledefaultversion.json", "aws-cloudformation-moduleversion.json", @@ -1605,6 +1614,7 @@ "aws-customerprofiles-integration.json", "aws-customerprofiles-objecttype.json", "aws-customerprofiles-segmentdefinition.json", + "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1760,6 +1770,7 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", + "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -2060,6 +2071,7 @@ "aws-lakeformation-tagassociation.json", "aws-lambda-alias.json", "aws-lambda-codesigningconfig.json", + "aws-lambda-eventinvokeconfig.json", "aws-lambda-eventsourcemapping.json", "aws-lambda-function.json", "aws-lambda-layerversion.json", @@ -2091,6 +2103,7 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -2238,6 +2251,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", @@ -2272,7 +2288,9 @@ "aws-qldb-ledger.json", "aws-qldb-stream.json", "aws-quicksight-analysis.json", + "aws-quicksight-custompermissions.json", "aws-quicksight-dashboard.json", + "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", "aws-quicksight-folder.json", "aws-quicksight-refreshschedule.json", @@ -2284,7 +2302,9 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", + "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -2330,7 +2350,6 @@ "aws-robomaker-simulationapplication.json", "aws-robomaker-simulationapplicationversion.json", "aws-rolesanywhere-crl.json", - "aws-rolesanywhere-profile.json", "aws-rolesanywhere-trustanchor.json", "aws-route53-cidrcollection.json", "aws-route53-dnssec.json", @@ -2458,7 +2477,6 @@ "aws-ses-mailmanagerarchive.json", "aws-ses-mailmanageringresspoint.json", "aws-ses-mailmanagerrelay.json", - "aws-ses-mailmanagerruleset.json", "aws-ses-mailmanagertrafficpolicy.json", "aws-ses-receiptfilter.json", "aws-ses-receiptrule.json", @@ -2576,6 +2594,7 @@ "aws-wisdom-messagetemplateversion.json", "aws-workspaces-connectionalias.json", "aws-workspaces-workspace.json", + "aws-workspaces-workspacespool.json", "aws-workspacesthinclient-environment.json", "aws-workspacesweb-browsersettings.json", "aws-workspacesweb-dataprotectionsettings.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "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" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-prompt.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-prompt.json new file mode 100644 index 0000000000..3ecdce91a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-bedrock-prompt.json @@ -0,0 +1,550 @@ +{ + "additionalProperties": false, + "definitions": { + "AnyToolChoice": { + "additionalProperties": false, + "type": "object" + }, + "AutoToolChoice": { + "additionalProperties": false, + "type": "object" + }, + "ChatPromptTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "InputVariables": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PromptInputVariable" + }, + "maxItems": 5, + "minItems": 0, + "type": "array" + }, + "Messages": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Message" + }, + "minItems": 0, + "type": "array" + }, + "System": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/SystemContentBlock" + }, + "minItems": 0, + "type": "array" + }, + "ToolConfiguration": { + "$ref": "#/definitions/ToolConfiguration" + } + }, + "required": [ + "Messages" + ], + "type": "object" + }, + "ContentBlock": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Text" + ], + "title": "Text", + "type": "object" + } + ] + }, + "ConversationRole": { + "enum": [ + "user", + "assistant" + ], + "type": "string" + }, + "Message": { + "additionalProperties": false, + "properties": { + "Content": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/ContentBlock" + }, + "minItems": 1, + "type": "array" + }, + "Role": { + "$ref": "#/definitions/ConversationRole" + } + }, + "required": [ + "Role", + "Content" + ], + "type": "object" + }, + "PromptAgentResource": { + "additionalProperties": false, + "properties": { + "AgentIdentifier": { + "maxLength": 2048, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent-alias/[0-9a-zA-Z]{10}/[0-9a-zA-Z]{10}$", + "type": "string" + } + }, + "required": [ + "AgentIdentifier" + ], + "type": "object" + }, + "PromptGenAiResource": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Agent": { + "$ref": "#/definitions/PromptAgentResource" + } + }, + "required": [ + "Agent" + ], + "title": "Agent", + "type": "object" + } + ] + }, + "PromptInferenceConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Text": { + "$ref": "#/definitions/PromptModelInferenceConfiguration" + } + }, + "required": [ + "Text" + ], + "title": "Text", + "type": "object" + } + ] + }, + "PromptInputVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + } + }, + "type": "object" + }, + "PromptModelInferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaxTokens": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "PromptTemplateConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Text": { + "$ref": "#/definitions/TextPromptTemplateConfiguration" + } + }, + "required": [ + "Text" + ], + "title": "Text", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Chat": { + "$ref": "#/definitions/ChatPromptTemplateConfiguration" + } + }, + "required": [ + "Chat" + ], + "title": "Chat", + "type": "object" + } + ] + }, + "PromptTemplateType": { + "enum": [ + "TEXT", + "CHAT" + ], + "type": "string" + }, + "PromptVariant": { + "additionalProperties": false, + "properties": { + "GenAiResource": { + "$ref": "#/definitions/PromptGenAiResource" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/PromptInferenceConfiguration" + }, + "ModelId": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$", + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "TemplateConfiguration": { + "$ref": "#/definitions/PromptTemplateConfiguration" + }, + "TemplateType": { + "$ref": "#/definitions/PromptTemplateType" + } + }, + "required": [ + "Name", + "TemplateType", + "TemplateConfiguration" + ], + "type": "object" + }, + "SpecificToolChoice": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "SystemContentBlock": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Text" + ], + "title": "Text", + "type": "object" + } + ] + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "TextPromptTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "InputVariables": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PromptInputVariable" + }, + "maxItems": 5, + "minItems": 0, + "type": "array" + }, + "Text": { + "maxLength": 200000, + "minLength": 1, + "type": "string" + }, + "TextS3Location": { + "$ref": "#/definitions/TextS3Location" + } + }, + "required": [], + "type": "object" + }, + "TextS3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "Key": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "Version": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "Tool": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "ToolSpec": { + "$ref": "#/definitions/ToolSpecification" + } + }, + "required": [ + "ToolSpec" + ], + "title": "ToolSpec", + "type": "object" + } + ] + }, + "ToolChoice": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Auto": { + "$ref": "#/definitions/AutoToolChoice" + } + }, + "required": [ + "Auto" + ], + "title": "Auto", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Any": { + "$ref": "#/definitions/AnyToolChoice" + } + }, + "required": [ + "Any" + ], + "title": "Any", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Tool": { + "$ref": "#/definitions/SpecificToolChoice" + } + }, + "required": [ + "Tool" + ], + "title": "Tool", + "type": "object" + } + ] + }, + "ToolConfiguration": { + "additionalProperties": false, + "properties": { + "ToolChoice": { + "$ref": "#/definitions/ToolChoice" + }, + "Tools": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Tool" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Tools" + ], + "type": "object" + }, + "ToolInputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Json": { + "type": "object" + } + }, + "required": [ + "Json" + ], + "title": "Json", + "type": "object" + } + ] + }, + "ToolSpecification": { + "additionalProperties": false, + "properties": { + "Description": { + "minLength": 1, + "type": "string" + }, + "InputSchema": { + "$ref": "#/definitions/ToolInputSchema" + }, + "Name": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$", + "type": "string" + } + }, + "required": [ + "Name", + "InputSchema" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:prompt/[0-9a-zA-Z]{10})$", + "type": "string" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "DefaultVariant": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "Id": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + }, + "Variants": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PromptVariant" + }, + "maxItems": 1, + "minItems": 0, + "type": "array" + }, + "Version": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedAt", + "/properties/Id", + "/properties/UpdatedAt", + "/properties/Version" + ], + "required": [ + "Name" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Prompt", + "writeOnlyProperties": [ + "/properties/Variants/*/TemplateConfiguration/Text/TextS3Location" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-guardhook.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-guardhook.json deleted file mode 100644 index e76b67f036..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-guardhook.json +++ /dev/null @@ -1,287 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ExecutionRole", - "/properties/Alias" - ], - "definitions": { - "Action": { - "enum": [ - "CREATE", - "UPDATE", - "DELETE" - ], - "type": "string" - }, - "HookTarget": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/Action" - }, - "InvocationPoint": { - "$ref": "#/definitions/InvocationPoint" - }, - "TargetName": { - "$ref": "#/definitions/TargetName" - } - }, - "required": [ - "TargetName", - "Action", - "InvocationPoint" - ], - "type": "object" - }, - "InvocationPoint": { - "enum": [ - "PRE_PROVISION" - ], - "type": "string" - }, - "Role": { - "maxLength": 256, - "pattern": "arn:.+:iam::[0-9]{12}:role/.+", - "type": "string" - }, - "S3Location": { - "additionalProperties": false, - "properties": { - "Uri": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "required": [ - "Uri" - ], - "type": "object" - }, - "StackName": { - "maxLength": 128, - "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", - "type": "string" - }, - "TargetName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^(?!.*\\*\\?).*$", - "type": "string" - }, - "TargetOperation": { - "enum": [ - "RESOURCE", - "STACK", - "CHANGE_SET", - "CLOUD_CONTROL" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/HookArn" - ], - "properties": { - "Alias": { - "pattern": "^(?!(?i)aws)[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", - "type": "string" - }, - "ExecutionRole": { - "$ref": "#/definitions/Role" - }, - "FailureMode": { - "default": "WARN", - "enum": [ - "FAIL", - "WARN" - ], - "type": "string" - }, - "HookArn": { - "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", - "type": "string" - }, - "HookStatus": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "LogBucket": { - "type": "string" - }, - "Options": { - "additionalProperties": false, - "properties": { - "InputParams": { - "$ref": "#/definitions/S3Location" - } - }, - "required": [] - }, - "RuleLocation": { - "$ref": "#/definitions/S3Location" - }, - "StackFilters": { - "additionalProperties": false, - "properties": { - "FilteringCriteria": { - "default": "ALL", - "enum": [ - "ALL", - "ANY" - ], - "type": "string" - }, - "StackNames": { - "additionalProperties": false, - "minProperties": 1, - "properties": { - "Exclude": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/StackName" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Include": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/StackName" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "StackRoles": { - "additionalProperties": false, - "minProperties": 1, - "properties": { - "Exclude": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Role" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Include": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Role" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - } - }, - "required": [ - "FilteringCriteria" - ], - "type": "object" - }, - "TargetFilters": { - "oneOf": [ - { - "additionalProperties": false, - "minProperties": 1, - "properties": { - "Actions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Action" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "InvocationPoints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InvocationPoint" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "TargetNames": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TargetName" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "Targets": { - "items": { - "$ref": "#/definitions/HookTarget" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "Targets" - ], - "type": "object" - } - ], - "type": "object" - }, - "TargetOperations": { - "items": { - "$ref": "#/definitions/TargetOperation" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/HookArn" - ], - "required": [ - "RuleLocation", - "HookStatus", - "TargetOperations", - "FailureMode", - "Alias", - "ExecutionRole" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFormation::GuardHook" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-lambdahook.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-lambdahook.json deleted file mode 100644 index bec5b2634e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-lambdahook.json +++ /dev/null @@ -1,261 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Alias" - ], - "definitions": { - "Action": { - "enum": [ - "CREATE", - "UPDATE", - "DELETE" - ], - "type": "string" - }, - "HookTarget": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/Action" - }, - "InvocationPoint": { - "$ref": "#/definitions/InvocationPoint" - }, - "TargetName": { - "$ref": "#/definitions/TargetName" - } - }, - "required": [ - "TargetName", - "Action", - "InvocationPoint" - ], - "type": "object" - }, - "InvocationPoint": { - "enum": [ - "PRE_PROVISION" - ], - "type": "string" - }, - "Role": { - "maxLength": 256, - "pattern": "arn:.+:iam::[0-9]{12}:role/.+", - "type": "string" - }, - "StackName": { - "maxLength": 128, - "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", - "type": "string" - }, - "TargetName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^(?!.*\\*\\?).*$", - "type": "string" - }, - "TargetOperation": { - "enum": [ - "RESOURCE", - "STACK", - "CHANGE_SET", - "CLOUD_CONTROL" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/HookArn" - ], - "properties": { - "Alias": { - "pattern": "^(?!(?i)aws)[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", - "type": "string" - }, - "ExecutionRole": { - "$ref": "#/definitions/Role" - }, - "FailureMode": { - "enum": [ - "FAIL", - "WARN" - ], - "type": "string" - }, - "HookArn": { - "pattern": "^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$", - "type": "string" - }, - "HookStatus": { - "default": "ENABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "LambdaFunction": { - "maxLength": 170, - "minLength": 1, - "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?", - "type": "string" - }, - "StackFilters": { - "additionalProperties": false, - "properties": { - "FilteringCriteria": { - "default": "ALL", - "enum": [ - "ALL", - "ANY" - ], - "type": "string" - }, - "StackNames": { - "additionalProperties": false, - "minProperties": 1, - "properties": { - "Exclude": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/StackName" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Include": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/StackName" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "StackRoles": { - "additionalProperties": false, - "minProperties": 1, - "properties": { - "Exclude": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Role" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "Include": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Role" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - } - }, - "required": [ - "FilteringCriteria" - ], - "type": "object" - }, - "TargetFilters": { - "oneOf": [ - { - "additionalProperties": false, - "minProperties": 1, - "properties": { - "Actions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Action" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "InvocationPoints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InvocationPoint" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "TargetNames": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TargetName" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "Targets": { - "items": { - "$ref": "#/definitions/HookTarget" - }, - "maxItems": 50, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "Targets" - ], - "type": "object" - } - ], - "type": "object" - }, - "TargetOperations": { - "items": { - "$ref": "#/definitions/TargetOperation" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/HookArn" - ], - "required": [ - "LambdaFunction", - "FailureMode", - "Alias", - "ExecutionRole", - "TargetOperations", - "HookStatus" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFormation::LambdaHook" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-eventinvokeconfig.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-eventinvokeconfig.json deleted file mode 100644 index 0db5cb9651..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-lambda-eventinvokeconfig.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/FunctionName", - "/properties/Qualifier" - ], - "definitions": { - "DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/OnFailure" - }, - "OnSuccess": { - "$ref": "#/definitions/OnSuccess" - } - }, - "type": "object" - }, - "OnFailure": { - "additionalProperties": false, - "properties": { - "Destination": { - "maxLength": 350, - "minLength": 0, - "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "OnSuccess": { - "additionalProperties": false, - "properties": { - "Destination": { - "maxLength": 350, - "minLength": 0, - "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/FunctionName", - "/properties/Qualifier" - ], - "properties": { - "DestinationConfig": { - "$ref": "#/definitions/DestinationConfig" - }, - "FunctionName": { - "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", - "type": "string" - }, - "MaximumEventAgeInSeconds": { - "maximum": 21600, - "minimum": 60, - "type": "integer" - }, - "MaximumRetryAttempts": { - "maximum": 2, - "minimum": 0, - "type": "integer" - }, - "Qualifier": { - "pattern": "^(|[a-zA-Z0-9$_-]{1,129})$", - "type": "string" - } - }, - "required": [ - "FunctionName", - "Qualifier" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Lambda::EventInvokeConfig" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rolesanywhere-profile.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rolesanywhere-profile.json new file mode 100644 index 0000000000..411b0d8782 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rolesanywhere-profile.json @@ -0,0 +1,150 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/RequireInstanceProperties" + ], + "definitions": { + "AttributeMapping": { + "additionalProperties": false, + "properties": { + "CertificateField": { + "$ref": "#/definitions/CertificateField" + }, + "MappingRules": { + "items": { + "$ref": "#/definitions/MappingRule" + }, + "type": "array" + } + }, + "required": [ + "CertificateField", + "MappingRules" + ], + "type": "object" + }, + "CertificateField": { + "enum": [ + "x509Subject", + "x509Issuer", + "x509SAN" + ], + "type": "string" + }, + "MappingRule": { + "additionalProperties": false, + "properties": { + "Specifier": { + "type": "string" + } + }, + "required": [ + "Specifier" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[ a-zA-Z0-9_.:/=+@-]*$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[ a-zA-Z0-9_.:/=+@-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ProfileId" + ], + "properties": { + "AcceptRoleSessionName": { + "type": "boolean" + }, + "AttributeMappings": { + "items": { + "$ref": "#/definitions/AttributeMapping" + }, + "type": "array" + }, + "DurationSeconds": { + "maximum": 43200, + "minimum": 900, + "type": "number" + }, + "Enabled": { + "type": "boolean" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "pattern": "^[ a-zA-Z0-9-_]*$", + "type": "string" + }, + "ProfileArn": { + "type": "string" + }, + "ProfileId": { + "pattern": "[a-f0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}", + "type": "string" + }, + "RequireInstanceProperties": { + "type": "boolean" + }, + "RoleArns": { + "items": { + "maxLength": 1011, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:iam(:.*){2}(:role.*)$", + "type": "string" + }, + "type": "array" + }, + "SessionPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/ProfileId", + "/properties/ProfileArn" + ], + "required": [ + "Name", + "RoleArns" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RolesAnywhere::Profile", + "writeOnlyProperties": [ + "/properties/RequireInstanceProperties" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerruleset.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerruleset.json new file mode 100644 index 0000000000..69697781a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ses-mailmanagerruleset.json @@ -0,0 +1,903 @@ +{ + "additionalProperties": false, + "definitions": { + "ActionFailurePolicy": { + "enum": [ + "CONTINUE", + "DROP" + ], + "type": "string" + }, + "AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[xX]\\-[a-zA-Z0-9\\-]+$", + "type": "string" + }, + "HeaderValue": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "Analysis": { + "additionalProperties": false, + "properties": { + "Analyzer": { + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "ResultField": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[\\sa-zA-Z0-9_]+$", + "type": "string" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "type": "object" + }, + "ArchiveAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "TargetArchive": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "TargetArchive" + ], + "type": "object" + }, + "DeliverToMailboxAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailboxArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "MailboxArn", + "RoleArn" + ], + "type": "object" + }, + "DeliverToQBusinessAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "ApplicationId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^[a-z0-9-]+$", + "type": "string" + }, + "IndexId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^[a-z0-9-]+$", + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "ApplicationId", + "IndexId", + "RoleArn" + ], + "type": "object" + }, + "DropAction": { + "additionalProperties": false, + "type": "object" + }, + "MailFrom": { + "enum": [ + "REPLACE", + "PRESERVE" + ], + "type": "string" + }, + "RelayAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailFrom": { + "$ref": "#/definitions/MailFrom" + }, + "Relay": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "Relay" + ], + "type": "object" + }, + "ReplaceRecipientAction": { + "additionalProperties": false, + "properties": { + "ReplaceWith": { + "items": { + "maxLength": 254, + "minLength": 0, + "pattern": "^[0-9A-Za-z@+.-]+$", + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/RuleAction" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Unless": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "RuleAction": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Drop": { + "$ref": "#/definitions/DropAction" + } + }, + "required": [ + "Drop" + ], + "title": "Drop", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Relay": { + "$ref": "#/definitions/RelayAction" + } + }, + "required": [ + "Relay" + ], + "title": "Relay", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Archive": { + "$ref": "#/definitions/ArchiveAction" + } + }, + "required": [ + "Archive" + ], + "title": "Archive", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "WriteToS3": { + "$ref": "#/definitions/S3Action" + } + }, + "required": [ + "WriteToS3" + ], + "title": "WriteToS3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Send": { + "$ref": "#/definitions/SendAction" + } + }, + "required": [ + "Send" + ], + "title": "Send", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "AddHeader": { + "$ref": "#/definitions/AddHeaderAction" + } + }, + "required": [ + "AddHeader" + ], + "title": "AddHeader", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "ReplaceRecipient": { + "$ref": "#/definitions/ReplaceRecipientAction" + } + }, + "required": [ + "ReplaceRecipient" + ], + "title": "ReplaceRecipient", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DeliverToMailbox": { + "$ref": "#/definitions/DeliverToMailboxAction" + } + }, + "required": [ + "DeliverToMailbox" + ], + "title": "DeliverToMailbox", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DeliverToQBusiness": { + "$ref": "#/definitions/DeliverToQBusinessAction" + } + }, + "required": [ + "DeliverToQBusiness" + ], + "title": "DeliverToQBusiness", + "type": "object" + } + ] + }, + "RuleBooleanEmailAttribute": { + "enum": [ + "READ_RECEIPT_REQUESTED", + "TLS", + "TLS_WRAPPED" + ], + "type": "string" + }, + "RuleBooleanExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "type": "object" + }, + "RuleBooleanOperator": { + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "type": "string" + }, + "RuleBooleanToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleBooleanEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleCondition": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/RuleBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "title": "BooleanExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "StringExpression": { + "$ref": "#/definitions/RuleStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "title": "StringExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "NumberExpression": { + "$ref": "#/definitions/RuleNumberExpression" + } + }, + "required": [ + "NumberExpression" + ], + "title": "NumberExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "IpExpression": { + "$ref": "#/definitions/RuleIpExpression" + } + }, + "required": [ + "IpExpression" + ], + "title": "IpExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "VerdictExpression": { + "$ref": "#/definitions/RuleVerdictExpression" + } + }, + "required": [ + "VerdictExpression" + ], + "title": "VerdictExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DmarcExpression": { + "$ref": "#/definitions/RuleDmarcExpression" + } + }, + "required": [ + "DmarcExpression" + ], + "title": "DmarcExpression", + "type": "object" + } + ] + }, + "RuleDmarcExpression": { + "additionalProperties": false, + "properties": { + "Operator": { + "$ref": "#/definitions/RuleDmarcOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleDmarcPolicy" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Operator", + "Values" + ], + "type": "object" + }, + "RuleDmarcOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleDmarcPolicy": { + "enum": [ + "NONE", + "QUARANTINE", + "REJECT" + ], + "type": "string" + }, + "RuleIpEmailAttribute": { + "enum": [ + "SOURCE_IP" + ], + "type": "string" + }, + "RuleIpExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleIpOperator" + }, + "Values": { + "items": { + "maxLength": 18, + "minLength": 1, + "pattern": "^(([0-9]|.|/)*)$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleIpOperator": { + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "type": "string" + }, + "RuleIpToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleIpEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleNumberEmailAttribute": { + "enum": [ + "MESSAGE_SIZE" + ], + "type": "string" + }, + "RuleNumberExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleNumberToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleNumberOperator" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "type": "object" + }, + "RuleNumberOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "LESS_THAN", + "GREATER_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN_OR_EQUAL" + ], + "type": "string" + }, + "RuleNumberToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleNumberEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleStringEmailAttribute": { + "enum": [ + "MAIL_FROM", + "HELO", + "RECIPIENT", + "SENDER", + "FROM", + "SUBJECT", + "TO", + "CC" + ], + "type": "string" + }, + "RuleStringExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleStringOperator" + }, + "Values": { + "items": { + "maxLength": 4096, + "minLength": 1, + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleStringOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "type": "string" + }, + "RuleStringToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "MimeHeaderAttribute": { + "pattern": "^X-[a-zA-Z0-9-]{1,256}$", + "type": "string" + } + }, + "required": [ + "MimeHeaderAttribute" + ], + "title": "MimeHeaderAttribute", + "type": "object" + } + ] + }, + "RuleVerdict": { + "enum": [ + "PASS", + "FAIL", + "GRAY", + "PROCESSING_FAILED" + ], + "type": "string" + }, + "RuleVerdictAttribute": { + "enum": [ + "SPF", + "DKIM" + ], + "type": "string" + }, + "RuleVerdictExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleVerdictToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleVerdictOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleVerdict" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleVerdictOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleVerdictToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleVerdictAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/Analysis" + } + }, + "required": [ + "Analysis" + ], + "title": "Analysis", + "type": "object" + } + ] + }, + "S3Action": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "S3Bucket": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9.-]+$", + "type": "string" + }, + "S3Prefix": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9!_.*'()/-]+$", + "type": "string" + }, + "S3SseKmsKeyId": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9-:/]+$", + "type": "string" + } + }, + "required": [ + "RoleArn", + "S3Bucket" + ], + "type": "object" + }, + "SendAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/RuleSetId" + ], + "properties": { + "RuleSetArn": { + "type": "string" + }, + "RuleSetId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "RuleSetName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/Rule" + }, + "maxItems": 40, + "minItems": 0, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RuleSetArn", + "/properties/RuleSetId" + ], + "required": [ + "Rules" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerRuleSet" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-workspaces-workspacespool.json deleted file mode 100644 index 19c638ca23..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-workspaces-workspacespool.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PoolName" - ], - "definitions": { - "ApplicationSettings": { - "additionalProperties": false, - "properties": { - "SettingsGroup": { - "maxLength": 100, - "pattern": "^[A-Za-z0-9_./()!*'-]+$", - "type": "string" - }, - "Status": { - "$ref": "#/definitions/ApplicationSettingsStatus" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "ApplicationSettingsStatus": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "Capacity": { - "additionalProperties": false, - "properties": { - "DesiredUserSessions": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "DesiredUserSessions" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TimeoutSettings": { - "additionalProperties": false, - "properties": { - "DisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 60, - "type": "integer" - }, - "IdleDisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 0, - "type": "integer" - }, - "MaxUserDurationInSeconds": { - "maximum": 432000, - "minimum": 600, - "type": "integer" - } - }, - "required": [], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/PoolId" - ], - "properties": { - "ApplicationSettings": { - "$ref": "#/definitions/ApplicationSettings" - }, - "BundleId": { - "pattern": "^wsb-[0-9a-z]{8,63}$", - "type": "string" - }, - "Capacity": { - "$ref": "#/definitions/Capacity" - }, - "CreatedAt": { - "type": "string" - }, - "Description": { - "maxLength": 255, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_./() -]+$", - "type": "string" - }, - "DirectoryId": { - "maxLength": 65, - "minLength": 10, - "pattern": "^wsd-[0-9a-z]{8,63}$", - "type": "string" - }, - "PoolArn": { - "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$", - "type": "string" - }, - "PoolId": { - "pattern": "^wspool-[0-9a-z]{9}$", - "type": "string" - }, - "PoolName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TimeoutSettings": { - "$ref": "#/definitions/TimeoutSettings" - } - }, - "readOnlyProperties": [ - "/properties/PoolId", - "/properties/PoolArn", - "/properties/CreatedAt" - ], - "required": [ - "PoolName", - "BundleId", - "DirectoryId", - "Capacity" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::WorkSpaces::WorkspacesPool", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} 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 c35fffaf1c..3f91c66479 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py @@ -728,6 +728,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -932,6 +933,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", "aws-ec2-placementgroup.json", @@ -989,6 +991,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1118,6 +1121,7 @@ "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", "aws-launchwizard-deployment.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1162,6 +1166,7 @@ "aws-opensearchserverless-lifecyclepolicy.json", "aws-opensearchserverless-securitypolicy.json", "aws-opensearchserverless-vpcendpoint.json", + "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-userprofile.json", @@ -1322,6 +1327,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py index 879e91345e..1c1e5cb663 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py @@ -118,6 +118,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -742,6 +743,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::Pipes::Pipe", "AWS::QuickSight::Analysis", "AWS::QuickSight::Dashboard", @@ -1075,8 +1079,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1128,10 +1134,12 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1239,7 +1247,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1375,7 +1382,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -1394,6 +1400,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1715,7 +1722,6 @@ "aws-opensearchserverless-securityconfig.json", "aws-opensearchserverless-securitypolicy.json", "aws-opensearchserverless-vpcendpoint.json", - "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-instance.json", @@ -1735,6 +1741,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-pipes-pipe.json", "aws-quicksight-analysis.json", "aws-quicksight-dashboard.json", @@ -1749,7 +1758,9 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", + "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", + "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1958,6 +1969,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "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" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..069e16e3c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-vpcendpoint.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ServiceName", + "/properties/VpcEndpointType", + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" + ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CreationTimestamp": { + "type": "string" + }, + "DnsEntries": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, + "Id": { + "type": "string" + }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, + "NetworkInterfaceIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PolicyDocument": { + "type": [ + "string", + "object" + ] + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "ResourceConfigurationArn": { + "type": "string" + }, + "RouteTableIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/RouteTableId", + "typeName": "AWS::EC2::RouteTable" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/GroupId", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/DefaultSecurityGroup", + "typeName": "AWS::EC2::VPC" + } + } + ], + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ServiceName": { + "type": "string" + }, + "ServiceNetworkArn": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/SubnetId", + "typeName": "AWS::EC2::Subnet" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "VpcEndpointType": { + "enum": [ + "Interface", + "Gateway", + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" + ], + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/NetworkInterfaceIds", + "/properties/CreationTimestamp", + "/properties/DnsEntries", + "/properties/Id" + ], + "required": [ + "VpcId" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::EC2::VPCEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-opensearchservice-domain.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-opensearchservice-domain.json similarity index 91% rename from src/cfnlint/data/schemas/providers/eu_central_2/aws-opensearchservice-domain.json rename to src/cfnlint/data/schemas/providers/eu_north_1/aws-opensearchservice-domain.json index c3ce78e81a..2f0285dbe8 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-opensearchservice-domain.json +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-opensearchservice-domain.json @@ -159,6 +159,30 @@ }, "type": "object" }, + "IdentityCenterOptions": { + "additionalProperties": false, + "properties": { + "EnabledAPIAccess": { + "type": "boolean" + }, + "IdentityCenterApplicationARN": { + "type": "string" + }, + "IdentityCenterInstanceARN": { + "type": "string" + }, + "IdentityStoreId": { + "type": "string" + }, + "RolesKey": { + "$ref": "#/definitions/RolesKeyIdcType" + }, + "SubjectKey": { + "$ref": "#/definitions/SubjectKeyIdcType" + } + }, + "type": "object" + }, "Idp": { "additionalProperties": false, "properties": { @@ -252,6 +276,13 @@ }, "type": "object" }, + "RolesKeyIdcType": { + "enum": [ + "GroupName", + "GroupId" + ], + "type": "string" + }, "SAMLOptions": { "additionalProperties": false, "properties": { @@ -327,6 +358,14 @@ }, "type": "object" }, + "SubjectKeyIdcType": { + "enum": [ + "UserName", + "UserId", + "Email" + ], + "type": "string" + }, "Tag": { "additionalProperties": false, "properties": { @@ -470,6 +509,9 @@ "Id": { "type": "string" }, + "IdentityCenterOptions": { + "$ref": "#/definitions/IdentityCenterOptions" + }, "LogPublishingOptions": { "additionalProperties": false, "patternProperties": { @@ -516,7 +558,9 @@ "/properties/DomainEndpointV2", "/properties/DomainEndpoints", "/properties/ServiceSoftwareOptions", - "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate" + "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate", + "/properties/IdentityCenterOptions/IdentityCenterApplicationARN", + "/properties/IdentityCenterOptions/IdentityStoreId" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "typeName": "AWS::OpenSearchService::Domain", diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py index 2701bad209..138d09cf30 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py @@ -1023,7 +1023,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1101,6 +1100,7 @@ "aws-ec2-networkinsightsaccessscopeanalysis.json", "aws-ec2-networkinsightsanalysis.json", "aws-ec2-networkinsightspath.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkperformancemetricsubscription.json", "aws-ec2-placementgroup.json", @@ -1144,7 +1144,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -1162,6 +1161,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1200,8 +1200,6 @@ "aws-emr-instancegroupconfig.json", "aws-emr-securityconfiguration.json", "aws-emr-step.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", "aws-emrserverless-application.json", "aws-events-apidestination.json", @@ -1546,6 +1544,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..069e16e3c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-vpcendpoint.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ServiceName", + "/properties/VpcEndpointType", + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" + ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CreationTimestamp": { + "type": "string" + }, + "DnsEntries": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, + "Id": { + "type": "string" + }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, + "NetworkInterfaceIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PolicyDocument": { + "type": [ + "string", + "object" + ] + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "ResourceConfigurationArn": { + "type": "string" + }, + "RouteTableIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/RouteTableId", + "typeName": "AWS::EC2::RouteTable" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/GroupId", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/DefaultSecurityGroup", + "typeName": "AWS::EC2::VPC" + } + } + ], + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ServiceName": { + "type": "string" + }, + "ServiceNetworkArn": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/SubnetId", + "typeName": "AWS::EC2::Subnet" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "VpcEndpointType": { + "enum": [ + "Interface", + "Gateway", + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" + ], + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/NetworkInterfaceIds", + "/properties/CreationTimestamp", + "/properties/DnsEntries", + "/properties/Id" + ], + "required": [ + "VpcId" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::EC2::VPCEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py index 9e66ca5620..ea6e1d7f15 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py @@ -233,6 +233,10 @@ "AWS::EC2::InternetGateway", "AWS::EC2::KeyPair", "AWS::EC2::LaunchTemplate", + "AWS::EC2::LocalGatewayRoute", + "AWS::EC2::LocalGatewayRouteTable", + "AWS::EC2::LocalGatewayRouteTableVPCAssociation", + "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation", "AWS::EC2::NatGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkAclEntry", @@ -742,6 +746,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -813,6 +818,7 @@ "aws-backup-restoretestingplan.json", "aws-backup-restoretestingselection.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -941,6 +947,10 @@ "aws-ec2-ipamscope.json", "aws-ec2-keypair.json", "aws-ec2-launchtemplate.json", + "aws-ec2-localgatewayroute.json", + "aws-ec2-localgatewayroutetable.json", + "aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json", + "aws-ec2-localgatewayroutetablevpcassociation.json", "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", @@ -1002,6 +1012,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1202,10 +1213,9 @@ "aws-pcaconnectorscep-connector.json", "aws-pipes-pipe.json", "aws-ram-permission.json", + "aws-ram-resourceshare.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1347,6 +1357,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ram-resourceshare.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Arn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Sources": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "typeName": "AWS::RAM::ResourceShare" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "definitions": { + "CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "type": "string" + }, + "ValidTill": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "enum": [ + "coreCount", + "threadsPerCore" + ], + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "dependencies": { + "KmsKeyId": { + "properties": { + "StorageEncrypted": { + "enum": [ + "true", + "True", + true + ] + } + }, + "required": [ + "StorageEncrypted" + ] + } + }, + "dependentExcluded": { + "SourceDBInstanceIdentifier": [ + "CharacterSetName", + "MasterUserPassword", + "MasterUsername", + "StorageEncrypted" + ] + }, + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "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": { + "maximum": 35, + "minimum": 0, + "type": "integer" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "type": "string" + }, + "DBInstanceArn": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "maxLength": 63, + "minLength": 1, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DbiResourceId": { + "type": "string" + }, + "DedicatedLogVolume": { + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainAuthSecretArn": { + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainFqdn": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "DomainOu": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "integer" + }, + "MonitoringInterval": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "enum": [ + 7, + 31, + 62, + 93, + 124, + 155, + 186, + 217, + 248, + 279, + 310, + 341, + 372, + 403, + 434, + 465, + 496, + 527, + 558, + 589, + 620, + 651, + 682, + 713, + 731 + ], + "type": "integer" + }, + "Port": { + "pattern": "^\\d*$", + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "type": "string" + }, + "RestoreTime": { + "format": "date-time", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceDbiResourceId": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TdeCredentialArn": { + "type": "string" + }, + "TdeCredentialPassword": { + "type": "string" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py index 13613c07a0..4c8b5bdac5 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py @@ -920,6 +920,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::Panorama::ApplicationInstance", "AWS::Panorama::Package", "AWS::Panorama::PackageVersion", @@ -1330,8 +1333,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1409,7 +1414,6 @@ "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", - "aws-bedrock-agent.json", "aws-bedrock-agentalias.json", "aws-bedrock-applicationinferenceprofile.json", "aws-bedrock-datasource.json", @@ -1423,7 +1427,9 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1537,7 +1543,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1935,6 +1940,7 @@ "aws-iotanalytics-dataset.json", "aws-iotanalytics-datastore.json", "aws-iotanalytics-pipeline.json", + "aws-iotcoredeviceadvisor-suitedefinition.json", "aws-iotevents-alarmmodel.json", "aws-iotevents-detectormodel.json", "aws-iotevents-input.json", @@ -2190,6 +2196,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "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" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-bedrock-agent.json new file mode 100644 index 0000000000..cf36f7f277 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-bedrock-agent.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "definitions": { + "APISchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/S3Identifier" + } + }, + "required": [ + "S3" + ], + "title": "S3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "title": "Payload", + "type": "object" + } + ] + }, + "ActionGroupExecutor": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Lambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + } + }, + "required": [ + "Lambda" + ], + "title": "Lambda", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "title": "CustomControl", + "type": "object" + } + ] + }, + "ActionGroupSignature": { + "enum": [ + "AMAZON.UserInput", + "AMAZON.CodeInterpreter" + ], + "type": "string" + }, + "ActionGroupState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "AgentActionGroup": { + "additionalProperties": false, + "properties": { + "ActionGroupExecutor": { + "$ref": "#/definitions/ActionGroupExecutor" + }, + "ActionGroupName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "ActionGroupState": { + "$ref": "#/definitions/ActionGroupState" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, + "ParentActionGroupSignature": { + "$ref": "#/definitions/ActionGroupSignature" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "ActionGroupName" + ], + "type": "object" + }, + "AgentKnowledgeBase": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "KnowledgeBaseId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "KnowledgeBaseState": { + "$ref": "#/definitions/KnowledgeBaseState" + } + }, + "required": [ + "KnowledgeBaseId", + "Description" + ], + "type": "object" + }, + "AgentStatus": { + "enum": [ + "CREATING", + "PREPARING", + "PREPARED", + "NOT_PREPARED", + "DELETING", + "FAILED", + "VERSIONING", + "UPDATING" + ], + "type": "string" + }, + "CreationMode": { + "enum": [ + "DEFAULT", + "OVERRIDDEN" + ], + "type": "string" + }, + "CustomControlMethod": { + "enum": [ + "RETURN_CONTROL" + ], + "type": "string" + }, + "Function": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 1200, + "minLength": 1, + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "FunctionSchema": { + "additionalProperties": false, + "properties": { + "Functions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "title": "Functions", + "type": "object" + }, + "GuardrailConfiguration": { + "additionalProperties": false, + "properties": { + "GuardrailIdentifier": { + "maxLength": 2048, + "pattern": "^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$", + "type": "string" + }, + "GuardrailVersion": { + "pattern": "^(([0-9]{1,8})|(DRAFT))$", + "type": "string" + } + }, + "type": "object" + }, + "InferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumLength": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopK": { + "maximum": 500, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "KnowledgeBaseState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ParameterDetail": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "$ref": "#/definitions/Type" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ParameterMap": { + "additionalProperties": false, + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "type": "object" + }, + "PromptConfiguration": { + "additionalProperties": false, + "properties": { + "BasePromptTemplate": { + "maxLength": 100000, + "minLength": 1, + "type": "string" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/InferenceConfiguration" + }, + "ParserMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptCreationMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptState": { + "$ref": "#/definitions/PromptState" + }, + "PromptType": { + "$ref": "#/definitions/PromptType" + } + }, + "type": "object" + }, + "PromptOverrideConfiguration": { + "additionalProperties": false, + "properties": { + "OverrideLambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "PromptConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PromptConfiguration" + }, + "maxItems": 10, + "type": "array" + } + }, + "required": [ + "PromptConfigurations" + ], + "type": "object" + }, + "PromptState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "PromptType": { + "enum": [ + "PRE_PROCESSING", + "ORCHESTRATION", + "POST_PROCESSING", + "KNOWLEDGE_BASE_RESPONSE_GENERATION" + ], + "type": "string" + }, + "S3Identifier": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "S3ObjectKey": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/AgentId" + ], + "properties": { + "ActionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentActionGroup" + }, + "type": "array" + }, + "AgentArn": { + "maxLength": 2048, + "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "AgentResourceRoleArn": { + "maxLength": 2048, + "type": "string" + }, + "AgentStatus": { + "$ref": "#/definitions/AgentStatus" + }, + "AgentVersion": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + }, + "AutoPrepare": { + "default": false, + "type": "boolean" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FailureReasons": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "FoundationModel": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "type": "string" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, + "IdleSessionTTLInSeconds": { + "maximum": 3600, + "minimum": 60, + "type": "number" + }, + "Instruction": { + "minLength": 40, + "type": "string" + }, + "KnowledgeBases": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentKnowledgeBase" + }, + "type": "array" + }, + "PreparedAt": { + "format": "date-time", + "type": "string" + }, + "PromptOverrideConfiguration": { + "$ref": "#/definitions/PromptOverrideConfiguration" + }, + "RecommendedActions": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "TestAliasTags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/AgentArn", + "/properties/AgentId", + "/properties/AgentStatus", + "/properties/AgentVersion", + "/properties/CreatedAt", + "/properties/FailureReasons", + "/properties/PreparedAt", + "/properties/RecommendedActions", + "/properties/UpdatedAt" + ], + "required": [ + "AgentName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Agent", + "writeOnlyProperties": [ + "/properties/AutoPrepare", + "/properties/SkipResourceInUseCheckOnDelete", + "/properties/ActionGroups/*/SkipResourceInUseCheckOnDelete" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-iotcoredeviceadvisor-suitedefinition.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-iotcoredeviceadvisor-suitedefinition.json deleted file mode 100644 index 9f370d1035..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-iotcoredeviceadvisor-suitedefinition.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "DevicePermissionRoleArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "DeviceUnderTest": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "ThingArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - } - }, - "type": "object" - }, - "Devices": { - "items": { - "$ref": "#/definitions/DeviceUnderTest" - }, - "maxItems": 2, - "minItems": 0, - "type": "array" - }, - "IntendedForQualification": { - "type": "boolean" - }, - "RootGroup": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "SuiteDefinitionName": { - "maxLength": 256, - "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" - } - }, - "primaryIdentifier": [ - "/properties/SuiteDefinitionId" - ], - "properties": { - "SuiteDefinitionArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "SuiteDefinitionConfiguration": { - "additionalProperties": false, - "properties": { - "DevicePermissionRoleArn": { - "$ref": "#/definitions/DevicePermissionRoleArn" - }, - "Devices": { - "$ref": "#/definitions/Devices" - }, - "IntendedForQualification": { - "$ref": "#/definitions/IntendedForQualification" - }, - "RootGroup": { - "$ref": "#/definitions/RootGroup" - }, - "SuiteDefinitionName": { - "$ref": "#/definitions/SuiteDefinitionName" - } - }, - "required": [ - "DevicePermissionRoleArn", - "RootGroup" - ], - "type": "object" - }, - "SuiteDefinitionId": { - "maxLength": 36, - "minLength": 12, - "type": "string" - }, - "SuiteDefinitionVersion": { - "maxLength": 255, - "minLength": 2, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/SuiteDefinitionId", - "/properties/SuiteDefinitionArn", - "/properties/SuiteDefinitionVersion" - ], - "required": [ - "SuiteDefinitionConfiguration" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-device-advisor.git", - "typeName": "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py index dda94b8768..e3d8b6c0b6 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py @@ -156,6 +156,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -900,6 +901,7 @@ "AWS::QLDB::Ledger", "AWS::QLDB::Stream", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1336,9 +1338,9 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", - "aws-bedrock-agent.json", "aws-bedrock-agentalias.json", "aws-bedrock-applicationinferenceprofile.json", "aws-bedrock-datasource.json", @@ -1354,6 +1356,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1500,7 +1503,6 @@ "aws-customerprofiles-integration.json", "aws-customerprofiles-objecttype.json", "aws-customerprofiles-segmentdefinition.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1665,6 +1667,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1927,10 +1930,12 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", "aws-logs-destination.json", + "aws-logs-integration.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", "aws-logs-logstream.json", @@ -2086,6 +2091,7 @@ "aws-qldb-ledger.json", "aws-qldb-stream.json", "aws-quicksight-analysis.json", + "aws-quicksight-custompermissions.json", "aws-quicksight-dashboard.json", "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", @@ -2099,9 +2105,7 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -2312,6 +2316,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-bedrock-agent.json new file mode 100644 index 0000000000..cf36f7f277 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-bedrock-agent.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "definitions": { + "APISchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/S3Identifier" + } + }, + "required": [ + "S3" + ], + "title": "S3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "title": "Payload", + "type": "object" + } + ] + }, + "ActionGroupExecutor": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Lambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + } + }, + "required": [ + "Lambda" + ], + "title": "Lambda", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "title": "CustomControl", + "type": "object" + } + ] + }, + "ActionGroupSignature": { + "enum": [ + "AMAZON.UserInput", + "AMAZON.CodeInterpreter" + ], + "type": "string" + }, + "ActionGroupState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "AgentActionGroup": { + "additionalProperties": false, + "properties": { + "ActionGroupExecutor": { + "$ref": "#/definitions/ActionGroupExecutor" + }, + "ActionGroupName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "ActionGroupState": { + "$ref": "#/definitions/ActionGroupState" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, + "ParentActionGroupSignature": { + "$ref": "#/definitions/ActionGroupSignature" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "ActionGroupName" + ], + "type": "object" + }, + "AgentKnowledgeBase": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "KnowledgeBaseId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "KnowledgeBaseState": { + "$ref": "#/definitions/KnowledgeBaseState" + } + }, + "required": [ + "KnowledgeBaseId", + "Description" + ], + "type": "object" + }, + "AgentStatus": { + "enum": [ + "CREATING", + "PREPARING", + "PREPARED", + "NOT_PREPARED", + "DELETING", + "FAILED", + "VERSIONING", + "UPDATING" + ], + "type": "string" + }, + "CreationMode": { + "enum": [ + "DEFAULT", + "OVERRIDDEN" + ], + "type": "string" + }, + "CustomControlMethod": { + "enum": [ + "RETURN_CONTROL" + ], + "type": "string" + }, + "Function": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 1200, + "minLength": 1, + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "FunctionSchema": { + "additionalProperties": false, + "properties": { + "Functions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "title": "Functions", + "type": "object" + }, + "GuardrailConfiguration": { + "additionalProperties": false, + "properties": { + "GuardrailIdentifier": { + "maxLength": 2048, + "pattern": "^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$", + "type": "string" + }, + "GuardrailVersion": { + "pattern": "^(([0-9]{1,8})|(DRAFT))$", + "type": "string" + } + }, + "type": "object" + }, + "InferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumLength": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopK": { + "maximum": 500, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "KnowledgeBaseState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ParameterDetail": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "$ref": "#/definitions/Type" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ParameterMap": { + "additionalProperties": false, + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "type": "object" + }, + "PromptConfiguration": { + "additionalProperties": false, + "properties": { + "BasePromptTemplate": { + "maxLength": 100000, + "minLength": 1, + "type": "string" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/InferenceConfiguration" + }, + "ParserMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptCreationMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptState": { + "$ref": "#/definitions/PromptState" + }, + "PromptType": { + "$ref": "#/definitions/PromptType" + } + }, + "type": "object" + }, + "PromptOverrideConfiguration": { + "additionalProperties": false, + "properties": { + "OverrideLambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "PromptConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PromptConfiguration" + }, + "maxItems": 10, + "type": "array" + } + }, + "required": [ + "PromptConfigurations" + ], + "type": "object" + }, + "PromptState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "PromptType": { + "enum": [ + "PRE_PROCESSING", + "ORCHESTRATION", + "POST_PROCESSING", + "KNOWLEDGE_BASE_RESPONSE_GENERATION" + ], + "type": "string" + }, + "S3Identifier": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "S3ObjectKey": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/AgentId" + ], + "properties": { + "ActionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentActionGroup" + }, + "type": "array" + }, + "AgentArn": { + "maxLength": 2048, + "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "AgentResourceRoleArn": { + "maxLength": 2048, + "type": "string" + }, + "AgentStatus": { + "$ref": "#/definitions/AgentStatus" + }, + "AgentVersion": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + }, + "AutoPrepare": { + "default": false, + "type": "boolean" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FailureReasons": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "FoundationModel": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "type": "string" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, + "IdleSessionTTLInSeconds": { + "maximum": 3600, + "minimum": 60, + "type": "number" + }, + "Instruction": { + "minLength": 40, + "type": "string" + }, + "KnowledgeBases": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentKnowledgeBase" + }, + "type": "array" + }, + "PreparedAt": { + "format": "date-time", + "type": "string" + }, + "PromptOverrideConfiguration": { + "$ref": "#/definitions/PromptOverrideConfiguration" + }, + "RecommendedActions": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "TestAliasTags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/AgentArn", + "/properties/AgentId", + "/properties/AgentStatus", + "/properties/AgentVersion", + "/properties/CreatedAt", + "/properties/FailureReasons", + "/properties/PreparedAt", + "/properties/RecommendedActions", + "/properties/UpdatedAt" + ], + "required": [ + "AgentName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Agent", + "writeOnlyProperties": [ + "/properties/AutoPrepare", + "/properties/SkipResourceInUseCheckOnDelete", + "/properties/ActionGroups/*/SkipResourceInUseCheckOnDelete" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-integration.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-integration.json deleted file mode 100644 index 7d716f5622..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-integration.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/IntegrationName", - "/properties/IntegrationType", - "/properties/ResourceConfig" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "[\\w#+=/:,.@-]*\\*?", - "type": "string" - }, - "OpenSearchResourceConfig": { - "additionalProperties": false, - "properties": { - "ApplicationARN": { - "$ref": "#/definitions/Arn" - }, - "DashboardViewerPrincipals": { - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array" - }, - "DataSourceRoleArn": { - "$ref": "#/definitions/Arn" - }, - "KmsKeyArn": { - "$ref": "#/definitions/Arn" - }, - "RetentionDays": { - "maximum": 3650, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "DataSourceRoleArn", - "DashboardViewerPrincipals" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/IntegrationName" - ], - "properties": { - "IntegrationName": { - "maxLength": 256, - "minLength": 1, - "pattern": "[\\.\\-_/#A-Za-z0-9]+", - "type": "string" - }, - "IntegrationStatus": { - "enum": [ - "PROVISIONING", - "ACTIVE", - "FAILED" - ], - "type": "string" - }, - "IntegrationType": { - "enum": [ - "OPENSEARCH" - ], - "type": "string" - }, - "ResourceConfig": { - "additionalProperties": false, - "properties": { - "OpenSearchResourceConfig": { - "$ref": "#/definitions/OpenSearchResourceConfig" - } - }, - "type": "object" - } - }, - "readOnlyProperties": [ - "/properties/IntegrationStatus" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "IntegrationName", - "IntegrationType", - "ResourceConfig" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::Integration", - "writeOnlyProperties": [ - "/properties/ResourceConfig" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "definitions": { + "CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "type": "string" + }, + "ValidTill": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "enum": [ + "coreCount", + "threadsPerCore" + ], + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "dependencies": { + "KmsKeyId": { + "properties": { + "StorageEncrypted": { + "enum": [ + "true", + "True", + true + ] + } + }, + "required": [ + "StorageEncrypted" + ] + } + }, + "dependentExcluded": { + "SourceDBInstanceIdentifier": [ + "CharacterSetName", + "MasterUserPassword", + "MasterUsername", + "StorageEncrypted" + ] + }, + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "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": { + "maximum": 35, + "minimum": 0, + "type": "integer" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "type": "string" + }, + "DBInstanceArn": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "maxLength": 63, + "minLength": 1, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DbiResourceId": { + "type": "string" + }, + "DedicatedLogVolume": { + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainAuthSecretArn": { + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainFqdn": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "DomainOu": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "integer" + }, + "MonitoringInterval": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "enum": [ + 7, + 31, + 62, + 93, + 124, + 155, + 186, + 217, + 248, + 279, + 310, + 341, + 372, + 403, + 434, + 465, + 496, + 527, + 558, + 589, + 620, + 651, + 682, + 713, + 731 + ], + "type": "integer" + }, + "Port": { + "pattern": "^\\d*$", + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "type": "string" + }, + "RestoreTime": { + "format": "date-time", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceDbiResourceId": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TdeCredentialArn": { + "type": "string" + }, + "TdeCredentialPassword": { + "type": "string" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 8300f92826..ac859d7a2e 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py @@ -1112,9 +1112,9 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", - "aws-bedrock-agent.json", "aws-bedrock-agentalias.json", "aws-bedrock-applicationinferenceprofile.json", "aws-bedrock-datasource.json", @@ -1130,6 +1130,7 @@ "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1229,7 +1230,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1357,7 +1357,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -1376,6 +1375,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1675,7 +1675,6 @@ "aws-opensearchserverless-securitypolicy.json", "aws-opensearchserverless-vpcendpoint.json", "aws-opensearchservice-application.json", - "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-instance.json", @@ -1705,9 +1704,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1912,6 +1909,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-bedrock-agent.json new file mode 100644 index 0000000000..cf36f7f277 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-bedrock-agent.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "definitions": { + "APISchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/S3Identifier" + } + }, + "required": [ + "S3" + ], + "title": "S3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "title": "Payload", + "type": "object" + } + ] + }, + "ActionGroupExecutor": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Lambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + } + }, + "required": [ + "Lambda" + ], + "title": "Lambda", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "title": "CustomControl", + "type": "object" + } + ] + }, + "ActionGroupSignature": { + "enum": [ + "AMAZON.UserInput", + "AMAZON.CodeInterpreter" + ], + "type": "string" + }, + "ActionGroupState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "AgentActionGroup": { + "additionalProperties": false, + "properties": { + "ActionGroupExecutor": { + "$ref": "#/definitions/ActionGroupExecutor" + }, + "ActionGroupName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "ActionGroupState": { + "$ref": "#/definitions/ActionGroupState" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, + "ParentActionGroupSignature": { + "$ref": "#/definitions/ActionGroupSignature" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "ActionGroupName" + ], + "type": "object" + }, + "AgentKnowledgeBase": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "KnowledgeBaseId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "KnowledgeBaseState": { + "$ref": "#/definitions/KnowledgeBaseState" + } + }, + "required": [ + "KnowledgeBaseId", + "Description" + ], + "type": "object" + }, + "AgentStatus": { + "enum": [ + "CREATING", + "PREPARING", + "PREPARED", + "NOT_PREPARED", + "DELETING", + "FAILED", + "VERSIONING", + "UPDATING" + ], + "type": "string" + }, + "CreationMode": { + "enum": [ + "DEFAULT", + "OVERRIDDEN" + ], + "type": "string" + }, + "CustomControlMethod": { + "enum": [ + "RETURN_CONTROL" + ], + "type": "string" + }, + "Function": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 1200, + "minLength": 1, + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "FunctionSchema": { + "additionalProperties": false, + "properties": { + "Functions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "title": "Functions", + "type": "object" + }, + "GuardrailConfiguration": { + "additionalProperties": false, + "properties": { + "GuardrailIdentifier": { + "maxLength": 2048, + "pattern": "^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$", + "type": "string" + }, + "GuardrailVersion": { + "pattern": "^(([0-9]{1,8})|(DRAFT))$", + "type": "string" + } + }, + "type": "object" + }, + "InferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumLength": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopK": { + "maximum": 500, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "KnowledgeBaseState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ParameterDetail": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "$ref": "#/definitions/Type" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ParameterMap": { + "additionalProperties": false, + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "type": "object" + }, + "PromptConfiguration": { + "additionalProperties": false, + "properties": { + "BasePromptTemplate": { + "maxLength": 100000, + "minLength": 1, + "type": "string" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/InferenceConfiguration" + }, + "ParserMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptCreationMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptState": { + "$ref": "#/definitions/PromptState" + }, + "PromptType": { + "$ref": "#/definitions/PromptType" + } + }, + "type": "object" + }, + "PromptOverrideConfiguration": { + "additionalProperties": false, + "properties": { + "OverrideLambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "PromptConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PromptConfiguration" + }, + "maxItems": 10, + "type": "array" + } + }, + "required": [ + "PromptConfigurations" + ], + "type": "object" + }, + "PromptState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "PromptType": { + "enum": [ + "PRE_PROCESSING", + "ORCHESTRATION", + "POST_PROCESSING", + "KNOWLEDGE_BASE_RESPONSE_GENERATION" + ], + "type": "string" + }, + "S3Identifier": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "S3ObjectKey": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/AgentId" + ], + "properties": { + "ActionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentActionGroup" + }, + "type": "array" + }, + "AgentArn": { + "maxLength": 2048, + "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "AgentResourceRoleArn": { + "maxLength": 2048, + "type": "string" + }, + "AgentStatus": { + "$ref": "#/definitions/AgentStatus" + }, + "AgentVersion": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + }, + "AutoPrepare": { + "default": false, + "type": "boolean" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FailureReasons": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "FoundationModel": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "type": "string" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, + "IdleSessionTTLInSeconds": { + "maximum": 3600, + "minimum": 60, + "type": "number" + }, + "Instruction": { + "minLength": 40, + "type": "string" + }, + "KnowledgeBases": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentKnowledgeBase" + }, + "type": "array" + }, + "PreparedAt": { + "format": "date-time", + "type": "string" + }, + "PromptOverrideConfiguration": { + "$ref": "#/definitions/PromptOverrideConfiguration" + }, + "RecommendedActions": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "TestAliasTags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/AgentArn", + "/properties/AgentId", + "/properties/AgentStatus", + "/properties/AgentVersion", + "/properties/CreatedAt", + "/properties/FailureReasons", + "/properties/PreparedAt", + "/properties/RecommendedActions", + "/properties/UpdatedAt" + ], + "required": [ + "AgentName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Agent", + "writeOnlyProperties": [ + "/properties/AutoPrepare", + "/properties/SkipResourceInUseCheckOnDelete", + "/properties/ActionGroups/*/SkipResourceInUseCheckOnDelete" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..069e16e3c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-vpcendpoint.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ServiceName", + "/properties/VpcEndpointType", + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" + ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CreationTimestamp": { + "type": "string" + }, + "DnsEntries": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, + "Id": { + "type": "string" + }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, + "NetworkInterfaceIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PolicyDocument": { + "type": [ + "string", + "object" + ] + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "ResourceConfigurationArn": { + "type": "string" + }, + "RouteTableIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/RouteTableId", + "typeName": "AWS::EC2::RouteTable" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/GroupId", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/DefaultSecurityGroup", + "typeName": "AWS::EC2::VPC" + } + } + ], + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ServiceName": { + "type": "string" + }, + "ServiceNetworkArn": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/SubnetId", + "typeName": "AWS::EC2::Subnet" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "VpcEndpointType": { + "enum": [ + "Interface", + "Gateway", + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" + ], + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/NetworkInterfaceIds", + "/properties/CreationTimestamp", + "/properties/DnsEntries", + "/properties/Id" + ], + "required": [ + "VpcId" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::EC2::VPCEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-opensearchservice-domain.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-opensearchservice-domain.json similarity index 91% rename from src/cfnlint/data/schemas/providers/il_central_1/aws-opensearchservice-domain.json rename to src/cfnlint/data/schemas/providers/eu_west_3/aws-opensearchservice-domain.json index c3ce78e81a..2f0285dbe8 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-opensearchservice-domain.json +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-opensearchservice-domain.json @@ -159,6 +159,30 @@ }, "type": "object" }, + "IdentityCenterOptions": { + "additionalProperties": false, + "properties": { + "EnabledAPIAccess": { + "type": "boolean" + }, + "IdentityCenterApplicationARN": { + "type": "string" + }, + "IdentityCenterInstanceARN": { + "type": "string" + }, + "IdentityStoreId": { + "type": "string" + }, + "RolesKey": { + "$ref": "#/definitions/RolesKeyIdcType" + }, + "SubjectKey": { + "$ref": "#/definitions/SubjectKeyIdcType" + } + }, + "type": "object" + }, "Idp": { "additionalProperties": false, "properties": { @@ -252,6 +276,13 @@ }, "type": "object" }, + "RolesKeyIdcType": { + "enum": [ + "GroupName", + "GroupId" + ], + "type": "string" + }, "SAMLOptions": { "additionalProperties": false, "properties": { @@ -327,6 +358,14 @@ }, "type": "object" }, + "SubjectKeyIdcType": { + "enum": [ + "UserName", + "UserId", + "Email" + ], + "type": "string" + }, "Tag": { "additionalProperties": false, "properties": { @@ -470,6 +509,9 @@ "Id": { "type": "string" }, + "IdentityCenterOptions": { + "$ref": "#/definitions/IdentityCenterOptions" + }, "LogPublishingOptions": { "additionalProperties": false, "patternProperties": { @@ -516,7 +558,9 @@ "/properties/DomainEndpointV2", "/properties/DomainEndpoints", "/properties/ServiceSoftwareOptions", - "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate" + "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate", + "/properties/IdentityCenterOptions/IdentityCenterApplicationARN", + "/properties/IdentityCenterOptions/IdentityStoreId" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "typeName": "AWS::OpenSearchService::Domain", diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "definitions": { + "CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "type": "string" + }, + "ValidTill": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "enum": [ + "coreCount", + "threadsPerCore" + ], + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "dependencies": { + "KmsKeyId": { + "properties": { + "StorageEncrypted": { + "enum": [ + "true", + "True", + true + ] + } + }, + "required": [ + "StorageEncrypted" + ] + } + }, + "dependentExcluded": { + "SourceDBInstanceIdentifier": [ + "CharacterSetName", + "MasterUserPassword", + "MasterUsername", + "StorageEncrypted" + ] + }, + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "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": { + "maximum": 35, + "minimum": 0, + "type": "integer" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "type": "string" + }, + "DBInstanceArn": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "maxLength": 63, + "minLength": 1, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DbiResourceId": { + "type": "string" + }, + "DedicatedLogVolume": { + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainAuthSecretArn": { + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainFqdn": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "DomainOu": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "integer" + }, + "MonitoringInterval": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "enum": [ + 7, + 31, + 62, + 93, + 124, + 155, + 186, + 217, + 248, + 279, + 310, + 341, + 372, + 403, + 434, + 465, + 496, + 527, + 558, + 589, + 620, + 651, + 682, + 713, + 731 + ], + "type": "integer" + }, + "Port": { + "pattern": "^\\d*$", + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "type": "string" + }, + "RestoreTime": { + "format": "date-time", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceDbiResourceId": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TdeCredentialArn": { + "type": "string" + }, + "TdeCredentialPassword": { + "type": "string" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 d1fac84674..63a3de195c 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py @@ -734,6 +734,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -931,6 +932,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", @@ -990,6 +992,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1102,6 +1105,7 @@ "aws-lambda-function.json", "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1156,6 +1160,7 @@ "aws-omics-sequencestore.json", "aws-omics-variantstore.json", "aws-omics-workflow.json", + "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", "aws-opsworks-userprofile.json", @@ -1169,9 +1174,7 @@ "aws-pcaconnectorscep-connector.json", "aws-ram-permission.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1323,6 +1326,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} 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 new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "definitions": { + "CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "type": "string" + }, + "ValidTill": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "enum": [ + "coreCount", + "threadsPerCore" + ], + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "dependencies": { + "KmsKeyId": { + "properties": { + "StorageEncrypted": { + "enum": [ + "true", + "True", + true + ] + } + }, + "required": [ + "StorageEncrypted" + ] + } + }, + "dependentExcluded": { + "SourceDBInstanceIdentifier": [ + "CharacterSetName", + "MasterUserPassword", + "MasterUsername", + "StorageEncrypted" + ] + }, + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "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": { + "maximum": 35, + "minimum": 0, + "type": "integer" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "type": "string" + }, + "DBInstanceArn": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "maxLength": 63, + "minLength": 1, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DbiResourceId": { + "type": "string" + }, + "DedicatedLogVolume": { + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainAuthSecretArn": { + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainFqdn": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "DomainOu": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "integer" + }, + "MonitoringInterval": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "enum": [ + 7, + 31, + 62, + 93, + 124, + 155, + 186, + 217, + 248, + 279, + 310, + 341, + 372, + 403, + 434, + 465, + 496, + 527, + 558, + 589, + 620, + 651, + 682, + 713, + 731 + ], + "type": "integer" + }, + "Port": { + "pattern": "^\\d*$", + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "type": "string" + }, + "RestoreTime": { + "format": "date-time", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceDbiResourceId": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TdeCredentialArn": { + "type": "string" + }, + "TdeCredentialPassword": { + "type": "string" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py index 999903885b..b90c44ac85 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py @@ -315,6 +315,7 @@ "AWS::EMR::SecurityConfiguration", "AWS::EMR::Step", "AWS::EMR::Studio", + "AWS::EMR::StudioSessionMapping", "AWS::EMRContainers::VirtualCluster", "AWS::EMRServerless::Application", "AWS::ElastiCache::CacheCluster", @@ -763,6 +764,7 @@ "aws-apigateway-documentationpart.json", "aws-apigateway-documentationversion.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -818,6 +820,7 @@ "aws-backup-restoretestingplan.json", "aws-backup-restoretestingselection.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -839,6 +842,7 @@ "aws-cloudformation-resourceversion.json", "aws-cloudformation-stack.json", "aws-cloudformation-stackset.json", + "aws-cloudformation-typeactivation.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", @@ -1012,6 +1016,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1047,6 +1052,7 @@ "aws-emr-securityconfiguration.json", "aws-emr-step.json", "aws-emr-studio.json", + "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", "aws-emrserverless-application.json", "aws-events-apidestination.json", @@ -1167,6 +1173,7 @@ "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", "aws-launchwizard-deployment.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1243,6 +1250,7 @@ "aws-pcaconnectorscep-connector.json", "aws-pipes-pipe.json", "aws-ram-permission.json", + "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", @@ -1386,6 +1394,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudformation-typeactivation.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ExecutionRoleArn", - "/properties/LoggingConfig", - "/properties/TypeNameAlias", - "/properties/TypeName", - "/properties/Type", - "/properties/PublisherId", - "/properties/PublicTypeArn" - ], - "definitions": { - "LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogRoleArn": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "oneOf": [ - { - "required": [ - "TypeName", - "PublisherId", - "Type" - ] - }, - { - "required": [ - "PublicTypeArn" - ] - } - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "AutoUpdate": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/LoggingConfig" - }, - "MajorVersion": { - "maxLength": 100000, - "minLength": 1, - "type": "string" - }, - "PublicTypeArn": { - "maxLength": 1024, - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "PublisherId": { - "maxLength": 40, - "minLength": 1, - "pattern": "[0-9a-zA-Z-]{40}", - "type": "string" - }, - "Type": { - "enum": [ - "RESOURCE", - "MODULE", - "HOOK" - ], - "type": "string" - }, - "TypeName": { - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "TypeNameAlias": { - "maxLength": 204, - "minLength": 10, - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "VersionBump": { - "enum": [ - "MAJOR", - "MINOR" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation", - "typeName": "AWS::CloudFormation::TypeActivation" -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-ram-resourceshare.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Arn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Sources": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "typeName": "AWS::RAM::ResourceShare" -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 bb3856cea6..a7dd4aef81 100644 --- a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py @@ -114,6 +114,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -858,6 +859,7 @@ "aws-apigateway-documentationversion.json", "aws-apigateway-domainname.json", "aws-apigateway-domainnameaccessassociation.json", + "aws-apigateway-domainnamev2.json", "aws-apigateway-gatewayresponse.json", "aws-apigateway-method.json", "aws-apigateway-model.json", @@ -937,6 +939,7 @@ "aws-batch-schedulingpolicy.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1093,6 +1096,7 @@ "aws-ec2-networkinsightsaccessscopeanalysis.json", "aws-ec2-networkinsightsanalysis.json", "aws-ec2-networkinsightspath.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfaceattachment.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-networkperformancemetricsubscription.json", @@ -1133,7 +1137,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -1152,6 +1155,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1190,8 +1194,6 @@ "aws-emr-instancegroupconfig.json", "aws-emr-securityconfiguration.json", "aws-emr-step.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", "aws-emrserverless-application.json", "aws-events-apidestination.json", @@ -1402,9 +1404,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1473,7 +1473,6 @@ "aws-sagemaker-appimageconfig.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1492,9 +1491,7 @@ "aws-sagemaker-notebookinstancelifecycleconfig.json", "aws-sagemaker-pipeline.json", "aws-sagemaker-project.json", - "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", @@ -1576,6 +1573,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..069e16e3c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-vpcendpoint.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ServiceName", + "/properties/VpcEndpointType", + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" + ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CreationTimestamp": { + "type": "string" + }, + "DnsEntries": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, + "Id": { + "type": "string" + }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, + "NetworkInterfaceIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PolicyDocument": { + "type": [ + "string", + "object" + ] + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "ResourceConfigurationArn": { + "type": "string" + }, + "RouteTableIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/RouteTableId", + "typeName": "AWS::EC2::RouteTable" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/GroupId", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/DefaultSecurityGroup", + "typeName": "AWS::EC2::VPC" + } + } + ], + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ServiceName": { + "type": "string" + }, + "ServiceNetworkArn": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/SubnetId", + "typeName": "AWS::EC2::Subnet" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "VpcEndpointType": { + "enum": [ + "Interface", + "Gateway", + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" + ], + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/NetworkInterfaceIds", + "/properties/CreationTimestamp", + "/properties/DnsEntries", + "/properties/Id" + ], + "required": [ + "VpcId" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::EC2::VPCEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "definitions": { + "CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "type": "string" + }, + "ValidTill": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "enum": [ + "coreCount", + "threadsPerCore" + ], + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "dependencies": { + "KmsKeyId": { + "properties": { + "StorageEncrypted": { + "enum": [ + "true", + "True", + true + ] + } + }, + "required": [ + "StorageEncrypted" + ] + } + }, + "dependentExcluded": { + "SourceDBInstanceIdentifier": [ + "CharacterSetName", + "MasterUserPassword", + "MasterUsername", + "StorageEncrypted" + ] + }, + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "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": { + "maximum": 35, + "minimum": 0, + "type": "integer" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "type": "string" + }, + "DBInstanceArn": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "maxLength": 63, + "minLength": 1, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DbiResourceId": { + "type": "string" + }, + "DedicatedLogVolume": { + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainAuthSecretArn": { + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainFqdn": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "DomainOu": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "integer" + }, + "MonitoringInterval": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "enum": [ + 7, + 31, + 62, + 93, + 124, + 155, + 186, + 217, + 248, + 279, + 310, + 341, + 372, + 403, + 434, + 465, + 496, + 527, + 558, + 589, + 620, + 651, + 682, + 713, + 731 + ], + "type": "integer" + }, + "Port": { + "pattern": "^\\d*$", + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "type": "string" + }, + "RestoreTime": { + "format": "date-time", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceDbiResourceId": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TdeCredentialArn": { + "type": "string" + }, + "TdeCredentialPassword": { + "type": "string" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/properties/RestoreTime", + "/properties/SourceDBInstanceAutomatedBackupsArn", + "/properties/SourceDBInstanceIdentifier", + "/properties/SourceDbiResourceId", + "/properties/SourceRegion", + "/properties/TdeCredentialPassword", + "/properties/UseDefaultProcessorFeatures", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "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" + }, + "FSxLustreFileSystemConfig": { + "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" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "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" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "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 + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "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/me_south_1/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-space.json new file mode 100644 index 0000000000..20d6fd227f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-space.json @@ -0,0 +1,475 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/SpaceName", + "/properties/SpaceSharingSettings", + "/properties/OwnershipSettings" + ], + "definitions": { + "AppType": { + "enum": [ + "JupyterServer", + "KernelGateway", + "TensorBoard", + "RStudioServerPro", + "RSessionGateway", + "JupyterLab", + "CodeEditor" + ], + "type": "string" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystem": { + "additionalProperties": false, + "properties": { + "EFSFileSystem": { + "$ref": "#/definitions/EFSFileSystem" + }, + "FSxLustreFileSystem": { + "$ref": "#/definitions/FSxLustreFileSystem" + } + }, + "type": "object" + }, + "CustomFileSystems": { + "items": { + "$ref": "#/definitions/CustomFileSystem" + }, + "maxItems": 1, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "EFSFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "EbsStorageSettings": { + "additionalProperties": false, + "properties": { + "EbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "EbsVolumeSizeInGb" + ], + "type": "object" + }, + "FSxLustreFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OwnershipSettings": { + "additionalProperties": false, + "properties": { + "OwnerUserProfileName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + } + }, + "required": [ + "OwnerUserProfileName" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceAppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/SpaceIdleSettings" + } + }, + "type": "object" + }, + "SpaceCodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "SpaceIdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + } + }, + "type": "object" + }, + "SpaceJupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "SpaceSettings": { + "additionalProperties": false, + "properties": { + "AppType": { + "$ref": "#/definitions/AppType" + }, + "CodeEditorAppSettings": { + "$ref": "#/definitions/SpaceCodeEditorAppSettings" + }, + "CustomFileSystems": { + "$ref": "#/definitions/CustomFileSystems" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/SpaceJupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/SpaceStorageSettings" + } + }, + "type": "object" + }, + "SpaceSharingSettings": { + "additionalProperties": false, + "properties": { + "SharingType": { + "enum": [ + "Private", + "Shared" + ], + "type": "string" + } + }, + "required": [ + "SharingType" + ], + "type": "object" + }, + "SpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "EbsStorageSettings": { + "$ref": "#/definitions/EbsStorageSettings" + } + }, + "type": "object" + }, + "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, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId", + "/properties/SpaceName" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "OwnershipSettings": { + "$ref": "#/definitions/OwnershipSettings" + }, + "SpaceArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*", + "type": "string" + }, + "SpaceDisplayName": { + "maxLength": 64, + "pattern": "^(?!\\s*$).+", + "type": "string" + }, + "SpaceName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "SpaceSettings": { + "$ref": "#/definitions/SpaceSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + }, + "SpaceSharingSettings": { + "$ref": "#/definitions/SpaceSharingSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/SpaceArn", + "/properties/Url" + ], + "required": [ + "DomainId", + "SpaceName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SageMaker::Space", + "writeOnlyProperties": [ + "/properties/SpaceSettings" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "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" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} 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 903437d76c..572e941c80 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py @@ -755,6 +755,7 @@ "AWS::PCAConnectorSCEP::Connector", "AWS::Pipes::Pipe", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1084,8 +1085,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1151,7 +1154,6 @@ "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", - "aws-bedrock-agent.json", "aws-bedrock-agentalias.json", "aws-bedrock-applicationinferenceprofile.json", "aws-bedrock-datasource.json", @@ -1165,7 +1167,9 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1263,7 +1267,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1760,6 +1763,7 @@ "aws-pcaconnectorscep-connector.json", "aws-pipes-pipe.json", "aws-quicksight-analysis.json", + "aws-quicksight-custompermissions.json", "aws-quicksight-dashboard.json", "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", @@ -1772,9 +1776,7 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "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" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-bedrock-agent.json new file mode 100644 index 0000000000..cf36f7f277 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-bedrock-agent.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "definitions": { + "APISchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/S3Identifier" + } + }, + "required": [ + "S3" + ], + "title": "S3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "title": "Payload", + "type": "object" + } + ] + }, + "ActionGroupExecutor": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Lambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + } + }, + "required": [ + "Lambda" + ], + "title": "Lambda", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "title": "CustomControl", + "type": "object" + } + ] + }, + "ActionGroupSignature": { + "enum": [ + "AMAZON.UserInput", + "AMAZON.CodeInterpreter" + ], + "type": "string" + }, + "ActionGroupState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "AgentActionGroup": { + "additionalProperties": false, + "properties": { + "ActionGroupExecutor": { + "$ref": "#/definitions/ActionGroupExecutor" + }, + "ActionGroupName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "ActionGroupState": { + "$ref": "#/definitions/ActionGroupState" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, + "ParentActionGroupSignature": { + "$ref": "#/definitions/ActionGroupSignature" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "ActionGroupName" + ], + "type": "object" + }, + "AgentKnowledgeBase": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "KnowledgeBaseId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "KnowledgeBaseState": { + "$ref": "#/definitions/KnowledgeBaseState" + } + }, + "required": [ + "KnowledgeBaseId", + "Description" + ], + "type": "object" + }, + "AgentStatus": { + "enum": [ + "CREATING", + "PREPARING", + "PREPARED", + "NOT_PREPARED", + "DELETING", + "FAILED", + "VERSIONING", + "UPDATING" + ], + "type": "string" + }, + "CreationMode": { + "enum": [ + "DEFAULT", + "OVERRIDDEN" + ], + "type": "string" + }, + "CustomControlMethod": { + "enum": [ + "RETURN_CONTROL" + ], + "type": "string" + }, + "Function": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 1200, + "minLength": 1, + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "FunctionSchema": { + "additionalProperties": false, + "properties": { + "Functions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "title": "Functions", + "type": "object" + }, + "GuardrailConfiguration": { + "additionalProperties": false, + "properties": { + "GuardrailIdentifier": { + "maxLength": 2048, + "pattern": "^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$", + "type": "string" + }, + "GuardrailVersion": { + "pattern": "^(([0-9]{1,8})|(DRAFT))$", + "type": "string" + } + }, + "type": "object" + }, + "InferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumLength": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopK": { + "maximum": 500, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "KnowledgeBaseState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ParameterDetail": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "$ref": "#/definitions/Type" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ParameterMap": { + "additionalProperties": false, + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "type": "object" + }, + "PromptConfiguration": { + "additionalProperties": false, + "properties": { + "BasePromptTemplate": { + "maxLength": 100000, + "minLength": 1, + "type": "string" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/InferenceConfiguration" + }, + "ParserMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptCreationMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptState": { + "$ref": "#/definitions/PromptState" + }, + "PromptType": { + "$ref": "#/definitions/PromptType" + } + }, + "type": "object" + }, + "PromptOverrideConfiguration": { + "additionalProperties": false, + "properties": { + "OverrideLambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "PromptConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PromptConfiguration" + }, + "maxItems": 10, + "type": "array" + } + }, + "required": [ + "PromptConfigurations" + ], + "type": "object" + }, + "PromptState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "PromptType": { + "enum": [ + "PRE_PROCESSING", + "ORCHESTRATION", + "POST_PROCESSING", + "KNOWLEDGE_BASE_RESPONSE_GENERATION" + ], + "type": "string" + }, + "S3Identifier": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "S3ObjectKey": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/AgentId" + ], + "properties": { + "ActionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentActionGroup" + }, + "type": "array" + }, + "AgentArn": { + "maxLength": 2048, + "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "AgentResourceRoleArn": { + "maxLength": 2048, + "type": "string" + }, + "AgentStatus": { + "$ref": "#/definitions/AgentStatus" + }, + "AgentVersion": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + }, + "AutoPrepare": { + "default": false, + "type": "boolean" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FailureReasons": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "FoundationModel": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "type": "string" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, + "IdleSessionTTLInSeconds": { + "maximum": 3600, + "minimum": 60, + "type": "number" + }, + "Instruction": { + "minLength": 40, + "type": "string" + }, + "KnowledgeBases": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentKnowledgeBase" + }, + "type": "array" + }, + "PreparedAt": { + "format": "date-time", + "type": "string" + }, + "PromptOverrideConfiguration": { + "$ref": "#/definitions/PromptOverrideConfiguration" + }, + "RecommendedActions": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "TestAliasTags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/AgentArn", + "/properties/AgentId", + "/properties/AgentStatus", + "/properties/AgentVersion", + "/properties/CreatedAt", + "/properties/FailureReasons", + "/properties/PreparedAt", + "/properties/RecommendedActions", + "/properties/UpdatedAt" + ], + "required": [ + "AgentName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Agent", + "writeOnlyProperties": [ + "/properties/AutoPrepare", + "/properties/SkipResourceInUseCheckOnDelete", + "/properties/ActionGroups/*/SkipResourceInUseCheckOnDelete" + ] +} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/properties/DBInstanceParameterGroupName", + "/properties/MasterUserPassword", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/UseLatestRestorableTime" + ] +} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "definitions": { + "CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "type": "string" + }, + "ValidTill": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "enum": [ + "coreCount", + "threadsPerCore" + ], + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "dependencies": { + "KmsKeyId": { + "properties": { + "StorageEncrypted": { + "enum": [ + "true", + "True", + true + ] + } + }, + "required": [ + "StorageEncrypted" + ] + } + }, + "dependentExcluded": { + "SourceDBInstanceIdentifier": [ + "CharacterSetName", + "MasterUserPassword", + "MasterUsername", + "StorageEncrypted" + ] + }, + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "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": { + "maximum": 35, + "minimum": 0, + "type": "integer" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "type": "string" + }, + "DBInstanceArn": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "maxLength": 63, + "minLength": 1, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DbiResourceId": { + "type": "string" + }, + "DedicatedLogVolume": { + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainAuthSecretArn": { + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainFqdn": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "DomainOu": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "integer" + }, + "MonitoringInterval": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "enum": [ + 7, + 31, + 62, + 93, + 124, + 155, + 186, + 217, + 248, + 279, + 310, + 341, + 372, + 403, + 434, + 465, + 496, + 527, + 558, + 589, + 620, + 651, + 682, + 713, + 731 + ], + "type": "integer" + }, + "Port": { + "pattern": "^\\d*$", + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "type": "string" + }, + "RestoreTime": { + "format": "date-time", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceDbiResourceId": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TdeCredentialArn": { + "type": "string" + }, + "TdeCredentialPassword": { + "type": "string" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py index b6c3ec7fc9..348507a361 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py @@ -168,6 +168,7 @@ "AWS::CUR::ReportDefinition", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -981,6 +982,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::Panorama::ApplicationInstance", "AWS::Panorama::Package", "AWS::Panorama::PackageVersion", @@ -1028,6 +1032,7 @@ "AWS::QLDB::Ledger", "AWS::QLDB::Stream", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1214,6 +1219,7 @@ "AWS::SageMaker::MonitoringSchedule", "AWS::SageMaker::NotebookInstance", "AWS::SageMaker::NotebookInstanceLifecycleConfig", + "AWS::SageMaker::PartnerApp", "AWS::SageMaker::Pipeline", "AWS::SageMaker::Project", "AWS::SageMaker::Space", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-configurationprofile.json index 6b60f2aa78..5d841be3e1 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-configurationprofile.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-configurationprofile.json @@ -53,6 +53,14 @@ "ConfigurationProfileId": { "type": "string" }, + "DeletionProtectionCheck": { + "enum": [ + "ACCOUNT_DEFAULT", + "APPLY", + "BYPASS" + ], + "type": "string" + }, "Description": { "maxLength": 1024, "minLength": 0, @@ -123,5 +131,8 @@ "tagUpdatable": true, "taggable": true }, - "typeName": "AWS::AppConfig::ConfigurationProfile" + "typeName": "AWS::AppConfig::ConfigurationProfile", + "writeOnlyProperties": [ + "/properties/DeletionProtectionCheck" + ] } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-environment.json index 674f994207..e5874842d7 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-environment.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-appconfig-environment.json @@ -62,6 +62,14 @@ "pattern": "[a-z0-9]{4,7}", "type": "string" }, + "DeletionProtectionCheck": { + "enum": [ + "ACCOUNT_DEFAULT", + "APPLY", + "BYPASS" + ], + "type": "string" + }, "Description": { "maxLength": 1024, "minLength": 0, @@ -109,5 +117,8 @@ "tagUpdatable": true, "taggable": true }, - "typeName": "AWS::AppConfig::Environment" + "typeName": "AWS::AppConfig::Environment", + "writeOnlyProperties": [ + "/properties/DeletionProtectionCheck" + ] } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-application.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-application.json index 0c8b02745d..b206713a1a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-application.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-appstream-application.json @@ -17,6 +17,7 @@ "enum": [ "AMAZON_LINUX2", "RHEL8", + "ROCKY_LINUX8", "WINDOWS", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-bedrock-agent.json index cf36f7f277..e58c0eb4f2 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-bedrock-agent.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-bedrock-agent.json @@ -176,6 +176,9 @@ }, "Parameters": { "$ref": "#/definitions/ParameterMap" + }, + "RequireConfirmation": { + "$ref": "#/definitions/RequireConfirmation" } }, "required": [ @@ -350,6 +353,13 @@ ], "type": "string" }, + "RequireConfirmation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, "S3Identifier": { "additionalProperties": false, "properties": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cassandra-keyspace.json index f197b941f1..203828de9b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cassandra-keyspace.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cassandra-keyspace.json @@ -1,7 +1,6 @@ { "additionalProperties": false, "createOnlyProperties": [ - "/properties/ReplicationSpecification", "/properties/KeyspaceName" ], "definitions": { @@ -87,6 +86,9 @@ "/properties/KeyspaceName" ], "properties": { + "ClientSideTimestampsEnabled": { + "type": "boolean" + }, "KeyspaceName": { "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", "type": "string" diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cassandra-type.json similarity index 100% rename from src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-type.json rename to src/cfnlint/data/schemas/providers/us_east_1/aws-cassandra-type.json diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-guardhook.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-guardhook.json index b56ab15d13..e76b67f036 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-guardhook.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-guardhook.json @@ -74,7 +74,8 @@ "enum": [ "RESOURCE", "STACK", - "CHANGE_SET" + "CHANGE_SET", + "CLOUD_CONTROL" ], "type": "string" } @@ -84,7 +85,7 @@ ], "properties": { "Alias": { - "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "pattern": "^(?!(?i)aws)[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", "type": "string" }, "ExecutionRole": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-lambdahook.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-lambdahook.json index 1eb7a9f78a..bec5b2634e 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-lambdahook.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudformation-lambdahook.json @@ -58,7 +58,8 @@ "enum": [ "RESOURCE", "STACK", - "CHANGE_SET" + "CHANGE_SET", + "CLOUD_CONTROL" ], "type": "string" } @@ -68,7 +69,7 @@ ], "properties": { "Alias": { - "pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "pattern": "^(?!(?i)aws)[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", "type": "string" }, "ExecutionRole": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-databrew-dataset.json index 58187f9b37..6ee15229e6 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-databrew-dataset.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-databrew-dataset.json @@ -5,6 +5,12 @@ "/properties/Tags" ], "definitions": { + "BucketOwner": { + "maxLength": 12, + "minLength": 12, + "pattern": "^[0-9]{12}$", + "type": "string" + }, "CsvOptions": { "additionalProperties": false, "properties": { @@ -319,6 +325,9 @@ "Bucket": { "type": "string" }, + "BucketOwner": { + "$ref": "#/definitions/BucketOwner" + }, "Key": { "type": "string" } @@ -377,6 +386,14 @@ "PathOptions": { "$ref": "#/definitions/PathOptions" }, + "Source": { + "enum": [ + "S3", + "DATA-CATALOG", + "DATABASE" + ], + "type": "string" + }, "Tags": { "insertionOrder": false, "items": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-projectmembership.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-projectmembership.json index 42b829e951..9edc2ab9e6 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-projectmembership.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-projectmembership.json @@ -46,7 +46,10 @@ "UserDesignation": { "enum": [ "PROJECT_OWNER", - "PROJECT_CONTRIBUTOR" + "PROJECT_CONTRIBUTOR", + "PROJECT_CATALOG_VIEWER", + "PROJECT_CATALOG_CONSUMER", + "PROJECT_CATALOG_STEWARD" ], "type": "string" } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-subscriptiontarget.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-subscriptiontarget.json index f844e18371..801ae54398 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-subscriptiontarget.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-datazone-subscriptiontarget.json @@ -128,7 +128,6 @@ "AuthorizedPrincipals", "DomainIdentifier", "EnvironmentIdentifier", - "ManageAccessRole", "Name", "SubscriptionTargetConfig", "Type" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-ec2fleet.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-ec2fleet.json index 84c05df06a..1a23e2ee2f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-ec2fleet.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-ec2fleet.json @@ -57,6 +57,24 @@ }, "type": "object" }, + "BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, "CapacityRebalance": { "additionalProperties": false, "properties": { @@ -98,6 +116,42 @@ }, "type": "object" }, + "EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "integer" + }, + "VolumeType": { + "enum": [ + "gp2", + "gp3", + "io1", + "io2", + "sc1", + "st1", + "standard" + ], + "type": "string" + } + }, + "type": "object" + }, "FleetLaunchTemplateConfigRequest": { "additionalProperties": false, "properties": { @@ -1127,6 +1181,9 @@ "BaselineEbsBandwidthMbps": { "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" }, + "BaselinePerformanceFactors": { + "$ref": "#/definitions/BaselinePerformanceFactorsRequest" + }, "BurstablePerformance": { "enum": [ "included", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-spotfleet.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-spotfleet.json index b92bf8572f..0b349f5d4b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-spotfleet.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-spotfleet.json @@ -352,6 +352,9 @@ "BaselineEbsBandwidthMbps": { "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" }, + "BaselinePerformanceFactors": { + "$ref": "#/definitions/BaselinePerformanceFactorsRequest" + }, "BurstablePerformance": { "enum": [ "included", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-vpcendpoint.json index 98883c5afa..740e9f1a84 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-vpcendpoint.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-vpcendpoint.json @@ -3,8 +3,52 @@ "createOnlyProperties": [ "/properties/ServiceName", "/properties/VpcEndpointType", - "/properties/VpcId" + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, "primaryIdentifier": [ "/properties/Id" ], @@ -20,9 +64,21 @@ "type": "array", "uniqueItems": false }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, "Id": { "type": "string" }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, "NetworkInterfaceIds": { "insertionOrder": false, "items": { @@ -40,6 +96,9 @@ "PrivateDnsEnabled": { "type": "boolean" }, + "ResourceConfigurationArn": { + "type": "string" + }, "RouteTableIds": { "insertionOrder": false, "items": { @@ -85,6 +144,9 @@ "ServiceName": { "type": "string" }, + "ServiceNetworkArn": { + "type": "string" + }, "SubnetIds": { "insertionOrder": false, "items": { @@ -97,11 +159,21 @@ "type": "array", "uniqueItems": true }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, "VpcEndpointType": { "enum": [ "Interface", "Gateway", - "GatewayLoadBalancer" + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" ], "type": "string" }, @@ -117,14 +189,14 @@ "/properties/Id" ], "required": [ - "VpcId", - "ServiceName" + "VpcId" ], "tagging": { "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true }, "typeName": "AWS::EC2::VPCEndpoint" } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studio.json index c0bc599ee6..826fe99b21 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studio.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studio.json @@ -14,7 +14,7 @@ ], "definitions": { "Arn": { - "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "pattern": "^arn:aws(-(cn|us-gov|iso-f|iso-e))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", "type": "string" }, "SubnetId": { @@ -170,5 +170,11 @@ "WorkspaceSecurityGroupId", "DefaultS3Location" ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, "typeName": "AWS::EMR::Studio" } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studiosessionmapping.json index c9adfa363d..479a03694f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studiosessionmapping.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-emr-studiosessionmapping.json @@ -7,7 +7,7 @@ ], "definitions": { "IamPolicyArn": { - "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "pattern": "^arn:aws(-(cn|us-gov|iso-f|iso-e))?:iam::([0-9]{12})?:policy\\/[^.]+$", "type": "string" } }, @@ -45,5 +45,11 @@ "SessionPolicyArn" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, "typeName": "AWS::EMR::StudioSessionMapping" } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-eventinvokeconfig.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-eventinvokeconfig.json index 54ec787a7c..0db5cb9651 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-eventinvokeconfig.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-lambda-eventinvokeconfig.json @@ -23,7 +23,7 @@ "Destination": { "maxLength": 350, "minLength": 0, - "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", "type": "string" } }, @@ -38,7 +38,7 @@ "Destination": { "maxLength": 350, "minLength": 0, - "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", "type": "string" } }, @@ -57,7 +57,7 @@ "$ref": "#/definitions/DestinationConfig" }, "FunctionName": { - "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", "type": "string" }, "MaximumEventAgeInSeconds": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchservice-domain.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchservice-domain.json index 2f0285dbe8..f046602b0f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchservice-domain.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-opensearchservice-domain.json @@ -60,6 +60,12 @@ "MultiAZWithStandbyEnabled": { "type": "boolean" }, + "NodeOptions": { + "items": { + "$ref": "#/definitions/NodeOption" + }, + "type": "array" + }, "WarmCount": { "type": "integer" }, @@ -246,6 +252,36 @@ }, "type": "object" }, + "NodeConfig": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "integer" + }, + "Enabled": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "NodeOption": { + "additionalProperties": false, + "properties": { + "NodeConfig": { + "$ref": "#/definitions/NodeConfig" + }, + "NodeType": { + "enum": [ + "coordinator" + ], + "type": "string" + } + }, + "type": "object" + }, "NodeToNodeEncryptionOptions": { "additionalProperties": false, "properties": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-cluster.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-cluster.json new file mode 100644 index 0000000000..b31f23ede6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-cluster.json @@ -0,0 +1,248 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Networking", + "/properties/Scheduler", + "/properties/Size", + "/properties/SlurmConfiguration" + ], + "definitions": { + "AuthKey": { + "additionalProperties": false, + "properties": { + "SecretArn": { + "type": "string" + }, + "SecretVersion": { + "type": "string" + } + }, + "required": [ + "SecretArn", + "SecretVersion" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PublicIpAddress": { + "type": "string" + }, + "Type": { + "enum": [ + "SLURMCTLD", + "SLURMDBD" + ], + "type": "string" + } + }, + "required": [ + "Port", + "PrivateIpAddress", + "Type" + ], + "type": "object" + }, + "ErrorInfo": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "string" + }, + "Message": { + "type": "string" + } + }, + "type": "object" + }, + "SecurityGroupId": { + "pattern": "sg-\\w{8,17}", + "type": "string" + }, + "SlurmCustomSetting": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "SubnetId": { + "pattern": "subnet-\\w{8,17}", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "type": "string" + }, + "Endpoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Endpoint" + }, + "type": "array" + }, + "ErrorInfo": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ErrorInfo" + }, + "type": "array" + }, + "Id": { + "pattern": "^(pcs_[a-zA-Z0-9]+|[A-Za-z][A-Za-z0-9-]{1,40})$", + "type": "string" + }, + "Name": { + "pattern": "^(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+$", + "type": "string" + }, + "Networking": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SecurityGroupId" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetId" + }, + "type": "array" + } + }, + "type": "object" + }, + "Scheduler": { + "additionalProperties": false, + "properties": { + "Type": { + "enum": [ + "SLURM" + ], + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Type", + "Version" + ], + "type": "object" + }, + "Size": { + "enum": [ + "SMALL", + "MEDIUM", + "LARGE" + ], + "type": "string" + }, + "SlurmConfiguration": { + "additionalProperties": false, + "properties": { + "AuthKey": { + "$ref": "#/definitions/AuthKey" + }, + "ScaleDownIdleTimeInSeconds": { + "minimum": 1, + "type": "integer" + }, + "SlurmCustomSettings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SlurmCustomSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "Status": { + "enum": [ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED", + "UPDATE_FAILED" + ], + "type": "string" + }, + "Tags": { + "additionalProperties": false, + "patternProperties": { + "^.+$": { + "type": "string" + } + } + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Endpoints", + "/properties/ErrorInfo", + "/properties/Id", + "/properties/Status" + ], + "required": [ + "Networking", + "Scheduler", + "Size" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcs.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::PCS::Cluster" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-computenodegroup.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-computenodegroup.json new file mode 100644 index 0000000000..c87f471efd --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-computenodegroup.json @@ -0,0 +1,208 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/ClusterId", + "/properties/InstanceConfigs" + ], + "definitions": { + "ErrorInfo": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "string" + }, + "Message": { + "type": "string" + } + }, + "type": "object" + }, + "InstanceConfig": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + } + }, + "type": "object" + }, + "SlurmCustomSetting": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "SubnetId": { + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "AmiId": { + "pattern": "^ami-[a-z0-9]+$", + "type": "string" + }, + "Arn": { + "type": "string" + }, + "ClusterId": { + "type": "string" + }, + "CustomLaunchTemplate": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Id", + "Version" + ], + "type": "object" + }, + "ErrorInfo": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ErrorInfo" + }, + "type": "array" + }, + "IamInstanceProfileArn": { + "pattern": "^arn:aws([a-zA-Z-]{0,10})?:iam::[0-9]{12}:instance-profile/.{1,128}$", + "type": "string" + }, + "Id": { + "type": "string" + }, + "InstanceConfigs": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InstanceConfig" + }, + "type": "array" + }, + "Name": { + "pattern": "^(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+$", + "type": "string" + }, + "PurchaseOption": { + "enum": [ + "ONDEMAND", + "SPOT" + ], + "type": "string" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxInstanceCount": { + "minimum": 0, + "type": "integer" + }, + "MinInstanceCount": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "MaxInstanceCount", + "MinInstanceCount" + ], + "type": "object" + }, + "SlurmConfiguration": { + "additionalProperties": false, + "properties": { + "SlurmCustomSettings": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SlurmCustomSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "SpotOptions": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "enum": [ + "lowest-price", + "capacity-optimized", + "price-capacity-optimized" + ], + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "enum": [ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED", + "UPDATE_FAILED" + ], + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetId" + }, + "type": "array" + }, + "Tags": { + "additionalProperties": false, + "patternProperties": { + "^.+$": { + "type": "string" + } + } + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ErrorInfo", + "/properties/Id", + "/properties/Status" + ], + "required": [ + "ClusterId", + "CustomLaunchTemplate", + "IamInstanceProfileArn", + "InstanceConfigs", + "ScalingConfiguration", + "SubnetIds" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcs.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::PCS::ComputeNodeGroup" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-queue.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-queue.json new file mode 100644 index 0000000000..17932906a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-pcs-queue.json @@ -0,0 +1,102 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/ClusterId" + ], + "definitions": { + "ComputeNodeGroupConfiguration": { + "additionalProperties": false, + "properties": { + "ComputeNodeGroupId": { + "type": "string" + } + }, + "type": "object" + }, + "ErrorInfo": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "string" + }, + "Message": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "pattern": "^(.*?)", + "type": "string" + }, + "ClusterId": { + "type": "string" + }, + "ComputeNodeGroupConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ComputeNodeGroupConfiguration" + }, + "type": "array" + }, + "ErrorInfo": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ErrorInfo" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "Name": { + "pattern": "^(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+$", + "type": "string" + }, + "Status": { + "enum": [ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED", + "UPDATE_FAILED" + ], + "type": "string" + }, + "Tags": { + "additionalProperties": false, + "patternProperties": { + "^.+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ErrorInfo", + "/properties/Id", + "/properties/Status" + ], + "required": [ + "ClusterId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcs.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::PCS::Queue" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-custompermissions.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-custompermissions.json new file mode 100644 index 0000000000..0b8ef8a803 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-custompermissions.json @@ -0,0 +1,139 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "definitions": { + "Capabilities": { + "additionalProperties": false, + "properties": { + "AddOrRunAnomalyDetectionForAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThemes": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThresholdAlerts": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSPICEDataset": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "ExportToCsv": { + "$ref": "#/definitions/CapabilityState" + }, + "ExportToExcel": { + "$ref": "#/definitions/CapabilityState" + }, + "RenameSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDashboards": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "SubscribeDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "ViewAccountSPICECapacity": { + "$ref": "#/definitions/CapabilityState" + } + }, + "type": "object" + }, + "CapabilityState": { + "enum": [ + "DENY" + ], + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "properties": { + "Arn": { + "type": "string" + }, + "AwsAccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^[0-9]{12}$", + "type": "string" + }, + "Capabilities": { + "$ref": "#/definitions/Capabilities" + }, + "CustomPermissionsName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9+=,.@_-]+$", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "required": [ + "AwsAccountId", + "CustomPermissionsName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::QuickSight::CustomPermissions" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dataset.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dataset.json index 8e56700955..ba48a3b834 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dataset.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-quicksight-dataset.json @@ -763,6 +763,20 @@ ], "type": "object" }, + "PerformanceConfiguration": { + "additionalProperties": false, + "properties": { + "UniqueKeys": { + "items": { + "$ref": "#/definitions/UniqueKey" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, "PhysicalTable": { "additionalProperties": false, "properties": { @@ -1172,6 +1186,25 @@ }, "type": "object" }, + "UniqueKey": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "maxLength": 127, + "minLength": 1, + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "ColumnNames" + ], + "type": "object" + }, "UntagColumnOperation": { "additionalProperties": false, "properties": { @@ -1307,6 +1340,9 @@ }, "type": "array" }, + "PerformanceConfiguration": { + "$ref": "#/definitions/PerformanceConfiguration" + }, "Permissions": { "items": { "$ref": "#/definitions/ResourcePermission" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbcluster.json index 4e5428d4a2..8372362d6b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbcluster.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbcluster.json @@ -104,6 +104,9 @@ }, "MinCapacity": { "type": "number" + }, + "SecondsUntilAutoPause": { + "type": "integer" } }, "type": "object" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbinstance.json index 71fda608fe..f20e802a6a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbinstance.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-dbinstance.json @@ -26,6 +26,7 @@ "/properties/DBInstanceIdentifier", "/properties/DBName", "/properties/DBSubnetGroupName", + "/properties/DBSystemId", "/properties/KmsKeyId", "/properties/MasterUsername", "/properties/NcharCharacterSetName", @@ -479,6 +480,7 @@ "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/DBSystemId": "$uppercase(DBSystemId)", "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", @@ -497,7 +499,6 @@ "/properties/Endpoint/HostedZoneId", "/properties/DbiResourceId", "/properties/DBInstanceArn", - "/properties/DBSystemId", "/properties/MasterUserSecret/SecretArn", "/properties/CertificateDetails/CAIdentifier", "/properties/CertificateDetails/ValidTill" diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-partnerapp.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-partnerapp.json similarity index 92% rename from src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-partnerapp.json rename to src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-partnerapp.json index ffd296a890..78bd848c28 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-sagemaker-partnerapp.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-partnerapp.json @@ -11,6 +11,7 @@ "additionalProperties": false, "maxLength": 256, "minLength": 1, + "pattern": "^(?!\\s*$).+", "type": "string" }, "PartnerAppConfig": { @@ -61,11 +62,13 @@ "Key": { "maxLength": 128, "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", "type": "string" }, "Value": { "maxLength": 128, "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", "type": "string" } }, @@ -76,6 +79,9 @@ "type": "object" } }, + "deprecatedProperties": [ + "/properties/ClientToken" + ], "primaryIdentifier": [ "/properties/Arn" ], @@ -136,6 +142,7 @@ "Tier": { "maxLength": 64, "minLength": 1, + "pattern": "^(?!\\s*$).+", "type": "string" }, "Type": { @@ -152,6 +159,7 @@ "/properties/Arn", "/properties/BaseUrl" ], + "replacementStrategy": "delete_then_create", "required": [ "Name", "Type", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-synthetics-canary.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-synthetics-canary.json index 5687e095ff..fe58464d5b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-synthetics-canary.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-synthetics-canary.json @@ -112,7 +112,7 @@ "type": "string" }, "KmsKeyArn": { - "pattern": "arn:(aws[a-zA-Z-]*)?:kms:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:key/[\\w\\-\\/]+", + "pattern": "arn:(aws[a-zA-Z-]*)?:kms:[a-z]{2,4}(-[a-z]{2,4})?-[a-z]+-\\d{1}:\\d{12}:key/[\\w\\-\\/]+", "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py index f015910a78..3feed113c1 100644 --- a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py @@ -878,6 +878,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::PaymentCryptography::Alias", "AWS::PaymentCryptography::Key", "AWS::Personalize::Dataset", @@ -1063,6 +1066,7 @@ "AWS::SageMaker::MonitoringSchedule", "AWS::SageMaker::NotebookInstance", "AWS::SageMaker::NotebookInstanceLifecycleConfig", + "AWS::SageMaker::PartnerApp", "AWS::SageMaker::Pipeline", "AWS::SageMaker::Project", "AWS::SageMaker::Space", @@ -1326,9 +1330,9 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", - "aws-bedrock-agent.json", "aws-bedrock-agentalias.json", "aws-bedrock-applicationinferenceprofile.json", "aws-bedrock-datasource.json", @@ -1342,7 +1346,9 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1456,7 +1462,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1476,7 +1481,6 @@ "aws-datasync-locationsmb.json", "aws-datasync-storagesystem.json", "aws-datasync-task.json", - "aws-datazone-datasource.json", "aws-datazone-domain.json", "aws-datazone-environment.json", "aws-datazone-environmentactions.json", @@ -1484,6 +1488,8 @@ "aws-datazone-environmentprofile.json", "aws-datazone-groupprofile.json", "aws-datazone-project.json", + "aws-datazone-projectmembership.json", + "aws-datazone-subscriptiontarget.json", "aws-datazone-userprofile.json", "aws-dax-cluster.json", "aws-dax-parametergroup.json", @@ -1609,7 +1615,6 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", - "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -1628,6 +1633,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1916,10 +1922,12 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", "aws-logs-destination.json", + "aws-logs-integration.json", "aws-logs-loganomalydetector.json", "aws-logs-loggroup.json", "aws-logs-logstream.json", @@ -2052,6 +2060,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", @@ -2074,6 +2085,7 @@ "aws-quicksight-topic.json", "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", + "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", "aws-rds-dbcluster.json", @@ -2174,7 +2186,6 @@ "aws-sagemaker-dataqualityjobdefinition.json", "aws-sagemaker-device.json", "aws-sagemaker-devicefleet.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -2192,11 +2203,10 @@ "aws-sagemaker-monitoringschedule.json", "aws-sagemaker-notebookinstance.json", "aws-sagemaker-notebookinstancelifecycleconfig.json", + "aws-sagemaker-partnerapp.json", "aws-sagemaker-pipeline.json", "aws-sagemaker-project.json", - "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", @@ -2307,6 +2317,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-bedrock-agent.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-bedrock-agent.json new file mode 100644 index 0000000000..cf36f7f277 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-bedrock-agent.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "definitions": { + "APISchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/S3Identifier" + } + }, + "required": [ + "S3" + ], + "title": "S3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Payload": { + "type": "string" + } + }, + "required": [ + "Payload" + ], + "title": "Payload", + "type": "object" + } + ] + }, + "ActionGroupExecutor": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Lambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + } + }, + "required": [ + "Lambda" + ], + "title": "Lambda", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "CustomControl": { + "$ref": "#/definitions/CustomControlMethod" + } + }, + "required": [ + "CustomControl" + ], + "title": "CustomControl", + "type": "object" + } + ] + }, + "ActionGroupSignature": { + "enum": [ + "AMAZON.UserInput", + "AMAZON.CodeInterpreter" + ], + "type": "string" + }, + "ActionGroupState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "AgentActionGroup": { + "additionalProperties": false, + "properties": { + "ActionGroupExecutor": { + "$ref": "#/definitions/ActionGroupExecutor" + }, + "ActionGroupName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "ActionGroupState": { + "$ref": "#/definitions/ActionGroupState" + }, + "ApiSchema": { + "$ref": "#/definitions/APISchema" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FunctionSchema": { + "$ref": "#/definitions/FunctionSchema" + }, + "ParentActionGroupSignature": { + "$ref": "#/definitions/ActionGroupSignature" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "ActionGroupName" + ], + "type": "object" + }, + "AgentKnowledgeBase": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "KnowledgeBaseId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "KnowledgeBaseState": { + "$ref": "#/definitions/KnowledgeBaseState" + } + }, + "required": [ + "KnowledgeBaseId", + "Description" + ], + "type": "object" + }, + "AgentStatus": { + "enum": [ + "CREATING", + "PREPARING", + "PREPARED", + "NOT_PREPARED", + "DELETING", + "FAILED", + "VERSIONING", + "UPDATING" + ], + "type": "string" + }, + "CreationMode": { + "enum": [ + "DEFAULT", + "OVERRIDDEN" + ], + "type": "string" + }, + "CustomControlMethod": { + "enum": [ + "RETURN_CONTROL" + ], + "type": "string" + }, + "Function": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 1200, + "minLength": 1, + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/ParameterMap" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "FunctionSchema": { + "additionalProperties": false, + "properties": { + "Functions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "title": "Functions", + "type": "object" + }, + "GuardrailConfiguration": { + "additionalProperties": false, + "properties": { + "GuardrailIdentifier": { + "maxLength": 2048, + "pattern": "^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$", + "type": "string" + }, + "GuardrailVersion": { + "pattern": "^(([0-9]{1,8})|(DRAFT))$", + "type": "string" + } + }, + "type": "object" + }, + "InferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaximumLength": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopK": { + "maximum": 500, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "KnowledgeBaseState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "ParameterDetail": { + "additionalProperties": false, + "properties": { + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "$ref": "#/definitions/Type" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "ParameterMap": { + "additionalProperties": false, + "patternProperties": { + "^([0-9a-zA-Z][_-]?){1,100}$": { + "$ref": "#/definitions/ParameterDetail" + } + }, + "type": "object" + }, + "PromptConfiguration": { + "additionalProperties": false, + "properties": { + "BasePromptTemplate": { + "maxLength": 100000, + "minLength": 1, + "type": "string" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/InferenceConfiguration" + }, + "ParserMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptCreationMode": { + "$ref": "#/definitions/CreationMode" + }, + "PromptState": { + "$ref": "#/definitions/PromptState" + }, + "PromptType": { + "$ref": "#/definitions/PromptType" + } + }, + "type": "object" + }, + "PromptOverrideConfiguration": { + "additionalProperties": false, + "properties": { + "OverrideLambda": { + "maxLength": 2048, + "pattern": "^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", + "type": "string" + }, + "PromptConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/PromptConfiguration" + }, + "maxItems": 10, + "type": "array" + } + }, + "required": [ + "PromptConfigurations" + ], + "type": "object" + }, + "PromptState": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "PromptType": { + "enum": [ + "PRE_PROCESSING", + "ORCHESTRATION", + "POST_PROCESSING", + "KNOWLEDGE_BASE_RESPONSE_GENERATION" + ], + "type": "string" + }, + "S3Identifier": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "S3ObjectKey": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "string", + "number", + "integer", + "boolean", + "array" + ], + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/AgentId" + ], + "properties": { + "ActionGroups": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentActionGroup" + }, + "type": "array" + }, + "AgentArn": { + "maxLength": 2048, + "pattern": "^arn:aws(|-cn|-us-gov):bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentId": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "AgentName": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "AgentResourceRoleArn": { + "maxLength": 2048, + "type": "string" + }, + "AgentStatus": { + "$ref": "#/definitions/AgentStatus" + }, + "AgentVersion": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + }, + "AutoPrepare": { + "default": false, + "type": "boolean" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "FailureReasons": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "FoundationModel": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "type": "string" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" + }, + "IdleSessionTTLInSeconds": { + "maximum": 3600, + "minimum": 60, + "type": "number" + }, + "Instruction": { + "minLength": 40, + "type": "string" + }, + "KnowledgeBases": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AgentKnowledgeBase" + }, + "type": "array" + }, + "PreparedAt": { + "format": "date-time", + "type": "string" + }, + "PromptOverrideConfiguration": { + "$ref": "#/definitions/PromptOverrideConfiguration" + }, + "RecommendedActions": { + "insertionOrder": false, + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 2048, + "type": "array" + }, + "SkipResourceInUseCheckOnDelete": { + "default": false, + "type": "boolean" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "TestAliasTags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/AgentArn", + "/properties/AgentId", + "/properties/AgentStatus", + "/properties/AgentVersion", + "/properties/CreatedAt", + "/properties/FailureReasons", + "/properties/PreparedAt", + "/properties/RecommendedActions", + "/properties/UpdatedAt" + ], + "required": [ + "AgentName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Agent", + "writeOnlyProperties": [ + "/properties/AutoPrepare", + "/properties/SkipResourceInUseCheckOnDelete", + "/properties/ActionGroups/*/SkipResourceInUseCheckOnDelete" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-datasource.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-datasource.json new file mode 100644 index 0000000000..ec66adcc4a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-datasource.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/EnvironmentIdentifier", + "/properties/DomainIdentifier", + "/properties/ProjectIdentifier", + "/properties/Type" + ], + "definitions": { + "AccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}$", + "type": "string" + }, + "DataAccessRole": { + "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$", + "type": "string" + }, + "DataSourceConfigurationInput": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "GlueRunConfiguration": { + "$ref": "#/definitions/GlueRunConfigurationInput" + } + }, + "title": "GlueRunConfiguration", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "RedshiftRunConfiguration": { + "$ref": "#/definitions/RedshiftRunConfigurationInput" + } + }, + "title": "RedshiftRunConfiguration", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "SageMakerRunConfiguration": { + "$ref": "#/definitions/SageMakerRunConfigurationInput" + } + }, + "title": "SageMakerRunConfiguration", + "type": "object" + } + ] + }, + "DataSourceStatus": { + "enum": [ + "CREATING", + "FAILED_CREATION", + "READY", + "UPDATING", + "FAILED_UPDATE", + "RUNNING", + "DELETING", + "FAILED_DELETION" + ], + "type": "string" + }, + "EnableSetting": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "Type": { + "$ref": "#/definitions/FilterExpressionType" + } + }, + "required": [ + "Expression", + "Type" + ], + "type": "object" + }, + "FilterExpressionType": { + "enum": [ + "INCLUDE", + "EXCLUDE" + ], + "type": "string" + }, + "FormInput": { + "additionalProperties": false, + "properties": { + "Content": { + "maxLength": 75000, + "type": "string" + }, + "FormName": { + "$ref": "#/definitions/FormName" + }, + "TypeIdentifier": { + "maxLength": 385, + "minLength": 1, + "pattern": "^(?!\\.)[\\w\\.]*\\w$", + "type": "string" + }, + "TypeRevision": { + "$ref": "#/definitions/TypeRevision" + } + }, + "required": [ + "FormName" + ], + "type": "object" + }, + "FormName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?![0-9_])\\w+$|^_\\w*[a-zA-Z0-9]\\w*$", + "type": "string" + }, + "GlueRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "AutoImportDataQualityResult": { + "type": "boolean" + }, + "DataAccessRole": { + "$ref": "#/definitions/DataAccessRole" + }, + "RelationalFilterConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RelationalFilterConfiguration" + }, + "type": "array" + } + }, + "required": [ + "RelationalFilterConfigurations" + ], + "type": "object" + }, + "RecommendationConfiguration": { + "additionalProperties": false, + "properties": { + "EnableBusinessNameGeneration": { + "type": "boolean" + } + }, + "type": "object" + }, + "RedshiftClusterStorage": { + "additionalProperties": false, + "properties": { + "ClusterName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[0-9a-z].[a-z0-9\\-]*$", + "type": "string" + } + }, + "required": [ + "ClusterName" + ], + "type": "object" + }, + "RedshiftCredentialConfiguration": { + "additionalProperties": false, + "properties": { + "SecretManagerArn": { + "maxLength": 256, + "pattern": "^arn:aws[^:]*:secretsmanager:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:secret:.*$", + "type": "string" + } + }, + "required": [ + "SecretManagerArn" + ], + "type": "object" + }, + "RedshiftRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "DataAccessRole": { + "$ref": "#/definitions/DataAccessRole" + }, + "RedshiftCredentialConfiguration": { + "$ref": "#/definitions/RedshiftCredentialConfiguration" + }, + "RedshiftStorage": { + "$ref": "#/definitions/RedshiftStorage" + }, + "RelationalFilterConfigurations": { + "$ref": "#/definitions/RelationalFilterConfigurations" + } + }, + "required": [ + "RedshiftCredentialConfiguration", + "RedshiftStorage", + "RelationalFilterConfigurations" + ], + "type": "object" + }, + "RedshiftServerlessStorage": { + "additionalProperties": false, + "properties": { + "WorkgroupName": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-z0-9-]+$", + "type": "string" + } + }, + "required": [ + "WorkgroupName" + ], + "type": "object" + }, + "RedshiftStorage": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "RedshiftClusterSource": { + "$ref": "#/definitions/RedshiftClusterStorage" + } + }, + "required": [ + "RedshiftClusterSource" + ], + "title": "RedshiftClusterSource", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "RedshiftServerlessSource": { + "$ref": "#/definitions/RedshiftServerlessStorage" + } + }, + "required": [ + "RedshiftServerlessSource" + ], + "title": "RedshiftServerlessSource", + "type": "object" + } + ] + }, + "Region": { + "maxLength": 16, + "minLength": 4, + "pattern": "[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]", + "type": "string" + }, + "RelationalFilterConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "FilterExpressions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/FilterExpression" + }, + "type": "array" + }, + "SchemaName": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "DatabaseName" + ], + "type": "object" + }, + "RelationalFilterConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RelationalFilterConfiguration" + }, + "type": "array" + }, + "SageMakerRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "TrackingAssets": { + "$ref": "#/definitions/TrackingAssets" + } + }, + "required": [ + "TrackingAssets" + ], + "type": "object" + }, + "ScheduleConfiguration": { + "additionalProperties": false, + "properties": { + "Schedule": { + "maxLength": 256, + "minLength": 1, + "pattern": "cron\\((\\b[0-5]?[0-9]\\b) (\\b2[0-3]\\b|\\b[0-1]?[0-9]\\b) (.*){1,5} (.*){1,5} (.*){1,5} (.*){1,5}\\)", + "type": "string" + }, + "Timezone": { + "$ref": "#/definitions/Timezone" + } + }, + "type": "object" + }, + "Timezone": { + "enum": [ + "AFRICA_JOHANNESBURG", + "AMERICA_MONTREAL", + "AMERICA_SAO_PAULO", + "ASIA_BAHRAIN", + "ASIA_BANGKOK", + "ASIA_CALCUTTA", + "ASIA_DUBAI", + "ASIA_HONG_KONG", + "ASIA_JAKARTA", + "ASIA_KUALA_LUMPUR", + "ASIA_SEOUL", + "ASIA_SHANGHAI", + "ASIA_SINGAPORE", + "ASIA_TAIPEI", + "ASIA_TOKYO", + "AUSTRALIA_MELBOURNE", + "AUSTRALIA_SYDNEY", + "CANADA_CENTRAL", + "CET", + "CST6CDT", + "ETC_GMT", + "ETC_GMT0", + "ETC_GMT_ADD_0", + "ETC_GMT_ADD_1", + "ETC_GMT_ADD_10", + "ETC_GMT_ADD_11", + "ETC_GMT_ADD_12", + "ETC_GMT_ADD_2", + "ETC_GMT_ADD_3", + "ETC_GMT_ADD_4", + "ETC_GMT_ADD_5", + "ETC_GMT_ADD_6", + "ETC_GMT_ADD_7", + "ETC_GMT_ADD_8", + "ETC_GMT_ADD_9", + "ETC_GMT_NEG_0", + "ETC_GMT_NEG_1", + "ETC_GMT_NEG_10", + "ETC_GMT_NEG_11", + "ETC_GMT_NEG_12", + "ETC_GMT_NEG_13", + "ETC_GMT_NEG_14", + "ETC_GMT_NEG_2", + "ETC_GMT_NEG_3", + "ETC_GMT_NEG_4", + "ETC_GMT_NEG_5", + "ETC_GMT_NEG_6", + "ETC_GMT_NEG_7", + "ETC_GMT_NEG_8", + "ETC_GMT_NEG_9", + "EUROPE_DUBLIN", + "EUROPE_LONDON", + "EUROPE_PARIS", + "EUROPE_STOCKHOLM", + "EUROPE_ZURICH", + "ISRAEL", + "MEXICO_GENERAL", + "MST7MDT", + "PACIFIC_AUCKLAND", + "US_CENTRAL", + "US_EASTERN", + "US_MOUNTAIN", + "US_PACIFIC", + "UTC" + ], + "type": "string" + }, + "TrackingAssets": { + "additionalProperties": false, + "maxProperties": 1, + "patternProperties": { + "^.{1,64}$": { + "items": { + "pattern": "^arn:aws[^:]*:sagemaker:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:[\\w+=,.@-]{1,128}/[\\w+=,.@-]{1,256}$", + "type": "string" + }, + "maxItems": 500, + "minItems": 0, + "type": "array" + } + }, + "type": "object" + }, + "TypeRevision": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/DomainId", + "/properties/Id" + ], + "properties": { + "AssetFormsInput": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/FormInput" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/DataSourceConfigurationInput" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "Description": { + "maxLength": 2048, + "type": "string" + }, + "DomainId": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "DomainIdentifier": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "EnableSetting": { + "$ref": "#/definitions/EnableSetting" + }, + "EnvironmentId": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "EnvironmentIdentifier": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "Id": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "LastRunAssetCount": { + "type": "number" + }, + "LastRunAt": { + "type": "string" + }, + "LastRunStatus": { + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "ProjectId": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "ProjectIdentifier": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "PublishOnImport": { + "type": "boolean" + }, + "Recommendation": { + "$ref": "#/definitions/RecommendationConfiguration" + }, + "Schedule": { + "$ref": "#/definitions/ScheduleConfiguration" + }, + "Status": { + "$ref": "#/definitions/DataSourceStatus" + }, + "Type": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/DomainId", + "/properties/EnvironmentId", + "/properties/Id", + "/properties/LastRunAssetCount", + "/properties/LastRunAt", + "/properties/LastRunStatus", + "/properties/ProjectId", + "/properties/Status", + "/properties/UpdatedAt" + ], + "required": [ + "Name", + "DomainIdentifier", + "ProjectIdentifier", + "EnvironmentIdentifier", + "Type" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::DataZone::DataSource", + "writeOnlyProperties": [ + "/properties/AssetFormsInput", + "/properties/EnvironmentIdentifier", + "/properties/DomainIdentifier", + "/properties/Configuration", + "/properties/ProjectIdentifier" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-projectmembership.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-projectmembership.json deleted file mode 100644 index 9edc2ab9e6..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-projectmembership.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainIdentifier", - "/properties/ProjectIdentifier", - "/properties/Member" - ], - "definitions": { - "Member": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "UserIdentifier": { - "type": "string" - } - }, - "required": [ - "UserIdentifier" - ], - "title": "UserIdentifier", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "GroupIdentifier": { - "type": "string" - } - }, - "required": [ - "GroupIdentifier" - ], - "title": "GroupIdentifier", - "type": "object" - } - ] - }, - "MemberIdentifierType": { - "enum": [ - "USER_IDENTIFIER", - "GROUP_IDENTIFIER" - ], - "type": "string" - }, - "UserDesignation": { - "enum": [ - "PROJECT_OWNER", - "PROJECT_CONTRIBUTOR", - "PROJECT_CATALOG_VIEWER", - "PROJECT_CATALOG_CONSUMER", - "PROJECT_CATALOG_STEWARD" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/DomainIdentifier", - "/properties/ProjectIdentifier" - ], - "properties": { - "Designation": { - "$ref": "#/definitions/UserDesignation" - }, - "DomainIdentifier": { - "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "Member": { - "$ref": "#/definitions/Member" - }, - "ProjectIdentifier": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - } - }, - "required": [ - "Designation", - "DomainIdentifier", - "ProjectIdentifier", - "Member" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", - "tagging": { - "taggable": false - }, - "typeName": "AWS::DataZone::ProjectMembership", - "writeOnlyProperties": [ - "/properties/Designation", - "/properties/Member" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-subscriptiontarget.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-subscriptiontarget.json deleted file mode 100644 index 801ae54398..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-subscriptiontarget.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Type", - "/properties/DomainIdentifier", - "/properties/EnvironmentIdentifier" - ], - "definitions": { - "SubscriptionTargetForm": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "FormName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?![0-9_])\\w+$|^_\\w*[a-zA-Z0-9]\\w*$", - "type": "string" - } - }, - "required": [ - "Content", - "FormName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainId", - "/properties/EnvironmentId", - "/properties/Id" - ], - "properties": { - "ApplicableAssetTypes": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^\\.]*", - "type": "string" - }, - "type": "array" - }, - "AuthorizedPrincipals": { - "insertionOrder": false, - "items": { - "pattern": "^[a-zA-Z0-9:/_-]*$", - "type": "string" - }, - "maxItems": 10, - "minItems": 1, - "type": "array" - }, - "CreatedAt": { - "format": "date-time", - "type": "string" - }, - "CreatedBy": { - "type": "string" - }, - "DomainId": { - "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "DomainIdentifier": { - "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "EnvironmentId": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "EnvironmentIdentifier": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "Id": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "ManageAccessRole": { - "pattern": "^arn:aws(|-cn|-us-gov):iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "ProjectId": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "Provider": { - "type": "string" - }, - "SubscriptionTargetConfig": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubscriptionTargetForm" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "UpdatedAt": { - "format": "date-time", - "type": "string" - }, - "UpdatedBy": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/CreatedAt", - "/properties/CreatedBy", - "/properties/DomainId", - "/properties/EnvironmentId", - "/properties/Id", - "/properties/ProjectId", - "/properties/UpdatedAt", - "/properties/UpdatedBy" - ], - "required": [ - "ApplicableAssetTypes", - "AuthorizedPrincipals", - "DomainIdentifier", - "EnvironmentIdentifier", - "Name", - "SubscriptionTargetConfig", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::DataZone::SubscriptionTarget", - "writeOnlyProperties": [ - "/properties/DomainIdentifier", - "/properties/EnvironmentIdentifier" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..069e16e3c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-vpcendpoint.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ServiceName", + "/properties/VpcEndpointType", + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" + ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CreationTimestamp": { + "type": "string" + }, + "DnsEntries": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, + "Id": { + "type": "string" + }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, + "NetworkInterfaceIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PolicyDocument": { + "type": [ + "string", + "object" + ] + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "ResourceConfigurationArn": { + "type": "string" + }, + "RouteTableIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/RouteTableId", + "typeName": "AWS::EC2::RouteTable" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/GroupId", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/DefaultSecurityGroup", + "typeName": "AWS::EC2::VPC" + } + } + ], + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ServiceName": { + "type": "string" + }, + "ServiceNetworkArn": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/SubnetId", + "typeName": "AWS::EC2::Subnet" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "VpcEndpointType": { + "enum": [ + "Interface", + "Gateway", + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" + ], + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/NetworkInterfaceIds", + "/properties/CreationTimestamp", + "/properties/DnsEntries", + "/properties/Id" + ], + "required": [ + "VpcId" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::EC2::VPCEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-integration.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-integration.json deleted file mode 100644 index 7d716f5622..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-integration.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/IntegrationName", - "/properties/IntegrationType", - "/properties/ResourceConfig" - ], - "definitions": { - "Arn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "[\\w#+=/:,.@-]*\\*?", - "type": "string" - }, - "OpenSearchResourceConfig": { - "additionalProperties": false, - "properties": { - "ApplicationARN": { - "$ref": "#/definitions/Arn" - }, - "DashboardViewerPrincipals": { - "items": { - "$ref": "#/definitions/Arn" - }, - "type": "array" - }, - "DataSourceRoleArn": { - "$ref": "#/definitions/Arn" - }, - "KmsKeyArn": { - "$ref": "#/definitions/Arn" - }, - "RetentionDays": { - "maximum": 3650, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "DataSourceRoleArn", - "DashboardViewerPrincipals" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/IntegrationName" - ], - "properties": { - "IntegrationName": { - "maxLength": 256, - "minLength": 1, - "pattern": "[\\.\\-_/#A-Za-z0-9]+", - "type": "string" - }, - "IntegrationStatus": { - "enum": [ - "PROVISIONING", - "ACTIVE", - "FAILED" - ], - "type": "string" - }, - "IntegrationType": { - "enum": [ - "OPENSEARCH" - ], - "type": "string" - }, - "ResourceConfig": { - "additionalProperties": false, - "properties": { - "OpenSearchResourceConfig": { - "$ref": "#/definitions/OpenSearchResourceConfig" - } - }, - "type": "object" - } - }, - "readOnlyProperties": [ - "/properties/IntegrationStatus" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "IntegrationName", - "IntegrationType", - "ResourceConfig" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::Integration", - "writeOnlyProperties": [ - "/properties/ResourceConfig" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-ram-resourceshare.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Arn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Sources": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name" - ], - "typeName": "AWS::RAM::ResourceShare" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "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" + }, + "FSxLustreFileSystemConfig": { + "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" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "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" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "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 + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/DomainArn", + "/properties/Url", + "/properties/DomainId", + "/properties/HomeEfsFileSystemId", + "/properties/SecurityGroupIdForDomainBoundary", + "/properties/SingleSignOnManagedApplicationInstanceId", + "/properties/SingleSignOnApplicationArn" + ], + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "typeName": "AWS::SageMaker::Domain", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-space.json new file mode 100644 index 0000000000..20d6fd227f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-space.json @@ -0,0 +1,475 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/SpaceName", + "/properties/SpaceSharingSettings", + "/properties/OwnershipSettings" + ], + "definitions": { + "AppType": { + "enum": [ + "JupyterServer", + "KernelGateway", + "TensorBoard", + "RStudioServerPro", + "RSessionGateway", + "JupyterLab", + "CodeEditor" + ], + "type": "string" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystem": { + "additionalProperties": false, + "properties": { + "EFSFileSystem": { + "$ref": "#/definitions/EFSFileSystem" + }, + "FSxLustreFileSystem": { + "$ref": "#/definitions/FSxLustreFileSystem" + } + }, + "type": "object" + }, + "CustomFileSystems": { + "items": { + "$ref": "#/definitions/CustomFileSystem" + }, + "maxItems": 1, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "EFSFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "EbsStorageSettings": { + "additionalProperties": false, + "properties": { + "EbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "EbsVolumeSizeInGb" + ], + "type": "object" + }, + "FSxLustreFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OwnershipSettings": { + "additionalProperties": false, + "properties": { + "OwnerUserProfileName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + } + }, + "required": [ + "OwnerUserProfileName" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceAppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/SpaceIdleSettings" + } + }, + "type": "object" + }, + "SpaceCodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "SpaceIdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + } + }, + "type": "object" + }, + "SpaceJupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "SpaceSettings": { + "additionalProperties": false, + "properties": { + "AppType": { + "$ref": "#/definitions/AppType" + }, + "CodeEditorAppSettings": { + "$ref": "#/definitions/SpaceCodeEditorAppSettings" + }, + "CustomFileSystems": { + "$ref": "#/definitions/CustomFileSystems" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/SpaceJupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/SpaceStorageSettings" + } + }, + "type": "object" + }, + "SpaceSharingSettings": { + "additionalProperties": false, + "properties": { + "SharingType": { + "enum": [ + "Private", + "Shared" + ], + "type": "string" + } + }, + "required": [ + "SharingType" + ], + "type": "object" + }, + "SpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "EbsStorageSettings": { + "$ref": "#/definitions/EbsStorageSettings" + } + }, + "type": "object" + }, + "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, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId", + "/properties/SpaceName" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "OwnershipSettings": { + "$ref": "#/definitions/OwnershipSettings" + }, + "SpaceArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*", + "type": "string" + }, + "SpaceDisplayName": { + "maxLength": 64, + "pattern": "^(?!\\s*$).+", + "type": "string" + }, + "SpaceName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "SpaceSettings": { + "$ref": "#/definitions/SpaceSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + }, + "SpaceSharingSettings": { + "$ref": "#/definitions/SpaceSharingSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/SpaceArn", + "/properties/Url" + ], + "required": [ + "DomainId", + "SpaceName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SageMaker::Space", + "writeOnlyProperties": [ + "/properties/SpaceSettings" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "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" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py index a3e1a9300a..bc8f820eae 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py @@ -98,6 +98,7 @@ "AWS::CDK::Metadata", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::CloudFormation::CustomResource", @@ -781,7 +782,9 @@ "aws-batch-schedulingpolicy.json", "aws-bedrock-guardrail.json", "aws-bedrock-guardrailversion.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-certificatemanager-account.json", "aws-certificatemanager-certificate.json", "aws-cloudformation-customresource.json", @@ -886,6 +889,7 @@ "aws-ec2-localgatewayroutetablevpcassociation.json", "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", @@ -941,6 +945,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -968,8 +973,6 @@ "aws-emr-cluster.json", "aws-emr-instancefleetconfig.json", "aws-emr-instancegroupconfig.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-events-archive.json", "aws-events-eventbuspolicy.json", "aws-eventschemas-discoverer.json", @@ -1084,6 +1087,7 @@ "aws-launchwizard-deployment.json", "aws-licensemanager-grant.json", "aws-licensemanager-license.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1095,6 +1099,7 @@ "aws-logs-resourcepolicy.json", "aws-logs-subscriptionfilter.json", "aws-m2-application.json", + "aws-m2-environment.json", "aws-msk-batchscramsecret.json", "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", @@ -1134,8 +1139,15 @@ "aws-organizations-resourcepolicy.json", "aws-ram-permission.json", "aws-rbin-rule.json", + "aws-rds-dbcluster.json", + "aws-rds-dbclusterparametergroup.json", + "aws-rds-dbinstance.json", + "aws-rds-dbparametergroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", + "aws-rds-dbsubnetgroup.json", + "aws-rds-eventsubscription.json", + "aws-rds-optiongroup.json", "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", @@ -1263,6 +1275,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-policy.json", @@ -1278,6 +1291,7 @@ "aws-wafv2-loggingconfiguration.json", "aws-wafv2-webaclassociation.json", "aws-workspaces-workspace.json", + "aws-workspaces-workspacespool.json", "aws-xray-resourcepolicy.json", "module.json", ] diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-environment.json deleted file mode 100644 index 1c433a260d..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-environment.json +++ /dev/null @@ -1,203 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Description", - "/properties/EngineType", - "/properties/KmsKeyId", - "/properties/Name", - "/properties/PubliclyAccessible", - "/properties/SecurityGroupIds", - "/properties/StorageConfigurations", - "/properties/SubnetIds" - ], - "definitions": { - "EfsStorageConfiguration": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "pattern": "^\\S{1,200}$", - "type": "string" - }, - "MountPoint": { - "pattern": "^\\S{1,200}$", - "type": "string" - } - }, - "required": [ - "FileSystemId", - "MountPoint" - ], - "type": "object" - }, - "EngineType": { - "enum": [ - "microfocus", - "bluage" - ], - "type": "string" - }, - "FsxStorageConfiguration": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "pattern": "^\\S{1,200}$", - "type": "string" - }, - "MountPoint": { - "pattern": "^\\S{1,200}$", - "type": "string" - } - }, - "required": [ - "FileSystemId", - "MountPoint" - ], - "type": "object" - }, - "HighAvailabilityConfig": { - "additionalProperties": false, - "properties": { - "DesiredCapacity": { - "maximum": 100, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "DesiredCapacity" - ], - "type": "object" - }, - "StorageConfiguration": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "Efs": { - "$ref": "#/definitions/EfsStorageConfiguration" - } - }, - "required": [ - "Efs" - ] - }, - { - "additionalProperties": false, - "properties": { - "Fsx": { - "$ref": "#/definitions/FsxStorageConfiguration" - } - }, - "required": [ - "Fsx" - ] - } - ], - "type": "object" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 200, - "minProperties": 0, - "patternProperties": { - "^(?!aws:).+$": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/EnvironmentArn" - ], - "properties": { - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "EngineType": { - "$ref": "#/definitions/EngineType" - }, - "EngineVersion": { - "pattern": "^\\S{1,10}$", - "type": "string" - }, - "EnvironmentArn": { - "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" - }, - "EnvironmentId": { - "pattern": "^\\S{1,80}$", - "type": "string" - }, - "HighAvailabilityConfig": { - "$ref": "#/definitions/HighAvailabilityConfig" - }, - "InstanceType": { - "pattern": "^\\S{1,20}$", - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "type": "string" - }, - "Name": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "PreferredMaintenanceWindow": { - "pattern": "^\\S{1,50}$", - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "pattern": "^\\S{1,50}$", - "type": "string" - }, - "type": "array" - }, - "StorageConfigurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/StorageConfiguration" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "pattern": "^\\S{1,50}$", - "type": "string" - }, - "type": "array" - }, - "Tags": { - "$ref": "#/definitions/TagMap" - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentArn", - "/properties/EnvironmentId" - ], - "required": [ - "EngineType", - "InstanceType", - "Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::M2::Environment" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbclusterparametergroup.json deleted file mode 100644 index 72b2c49945..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbclusterparametergroup.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBClusterParameterGroupName", - "/properties/Description", - "/properties/Family" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DBClusterParameterGroupName" - ], - "properties": { - "DBClusterParameterGroupName": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$", - "type": "string" - }, - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array" - } - }, - "propertyTransform": { - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)" - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBClusterParameterGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbparametergroup.json deleted file mode 100644 index 8d14cf78b9..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbparametergroup.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBParameterGroupName", - "/properties/Description", - "/properties/Family" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DBParameterGroupName" - ], - "properties": { - "DBParameterGroupName": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$", - "type": "string" - }, - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)" - }, - "required": [ - "Family", - "Description" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBParameterGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbsubnetgroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbsubnetgroup.json deleted file mode 100644 index 7229fe5de5..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-dbsubnetgroup.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBSubnetGroupName" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DBSubnetGroupName" - ], - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)" - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBSubnetGroup", - "writeOnlyProperties": [ - "/properties/SubnetIds" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-eventsubscription.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-eventsubscription.json deleted file mode 100644 index 10fa51a2d0..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-eventsubscription.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/SubscriptionName", - "/properties/SnsTopicArn" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/SubscriptionName" - ], - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SourceType": { - "type": "string" - }, - "SubscriptionName": { - "maxLength": 255, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/SubscriptionName": "$lowercase(SubscriptionName)" - }, - "required": [ - "SnsTopicArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::EventSubscription" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-optiongroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-optiongroup.json deleted file mode 100644 index d0e1e7a6a9..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-rds-optiongroup.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/EngineName", - "/properties/MajorEngineVersion", - "/properties/OptionGroupDescription", - "/properties/OptionGroupName" - ], - "definitions": { - "OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "VpcSecurityGroupMemberships": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "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" - } - }, - "primaryIdentifier": [ - "/properties/OptionGroupName" - ], - "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "arrayType": "AttributeList", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" - }, - "OptionGroupName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/OptionGroupName": "$lowercase(OptionGroupName)" - }, - "required": [ - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::OptionGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json deleted file mode 100644 index 19c638ca23..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PoolName" - ], - "definitions": { - "ApplicationSettings": { - "additionalProperties": false, - "properties": { - "SettingsGroup": { - "maxLength": 100, - "pattern": "^[A-Za-z0-9_./()!*'-]+$", - "type": "string" - }, - "Status": { - "$ref": "#/definitions/ApplicationSettingsStatus" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "ApplicationSettingsStatus": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "Capacity": { - "additionalProperties": false, - "properties": { - "DesiredUserSessions": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "DesiredUserSessions" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TimeoutSettings": { - "additionalProperties": false, - "properties": { - "DisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 60, - "type": "integer" - }, - "IdleDisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 0, - "type": "integer" - }, - "MaxUserDurationInSeconds": { - "maximum": 432000, - "minimum": 600, - "type": "integer" - } - }, - "required": [], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/PoolId" - ], - "properties": { - "ApplicationSettings": { - "$ref": "#/definitions/ApplicationSettings" - }, - "BundleId": { - "pattern": "^wsb-[0-9a-z]{8,63}$", - "type": "string" - }, - "Capacity": { - "$ref": "#/definitions/Capacity" - }, - "CreatedAt": { - "type": "string" - }, - "Description": { - "maxLength": 255, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_./() -]+$", - "type": "string" - }, - "DirectoryId": { - "maxLength": 65, - "minLength": 10, - "pattern": "^wsd-[0-9a-z]{8,63}$", - "type": "string" - }, - "PoolArn": { - "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$", - "type": "string" - }, - "PoolId": { - "pattern": "^wspool-[0-9a-z]{9}$", - "type": "string" - }, - "PoolName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TimeoutSettings": { - "$ref": "#/definitions/TimeoutSettings" - } - }, - "readOnlyProperties": [ - "/properties/PoolId", - "/properties/PoolArn", - "/properties/CreatedAt" - ], - "required": [ - "PoolName", - "BundleId", - "DirectoryId", - "Capacity" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::WorkSpaces::WorkspacesPool", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py index 97eea60595..a8a03454bb 100644 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py @@ -98,11 +98,17 @@ "AWS::Batch::JobDefinition", "AWS::Batch::JobQueue", "AWS::Batch::SchedulingPolicy", + "AWS::Bedrock::Flow", + "AWS::Bedrock::FlowAlias", + "AWS::Bedrock::FlowVersion", "AWS::Bedrock::Guardrail", "AWS::Bedrock::GuardrailVersion", + "AWS::Bedrock::Prompt", + "AWS::Bedrock::PromptVersion", "AWS::CDK::Metadata", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::CloudFormation::CustomResource", @@ -897,9 +903,16 @@ "aws-batch-computeenvironment.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", + "aws-bedrock-flow.json", + "aws-bedrock-flowalias.json", + "aws-bedrock-flowversion.json", "aws-bedrock-guardrail.json", "aws-bedrock-guardrailversion.json", + "aws-bedrock-prompt.json", + "aws-bedrock-promptversion.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-certificatemanager-account.json", "aws-certificatemanager-certificate.json", "aws-cloudformation-customresource.json", @@ -976,7 +989,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1042,6 +1054,7 @@ "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", + "aws-ec2-networkinterface.json", "aws-ec2-networkinterfacepermission.json", "aws-ec2-placementgroup.json", "aws-ec2-prefixlist.json", @@ -1097,6 +1110,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1124,8 +1138,6 @@ "aws-emr-cluster.json", "aws-emr-instancefleetconfig.json", "aws-emr-instancegroupconfig.json", - "aws-emr-studio.json", - "aws-emr-studiosessionmapping.json", "aws-events-archive.json", "aws-events-eventbuspolicy.json", "aws-eventschemas-discoverer.json", @@ -1269,6 +1281,7 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -1279,6 +1292,7 @@ "aws-logs-querydefinition.json", "aws-logs-resourcepolicy.json", "aws-logs-subscriptionfilter.json", + "aws-m2-application.json", "aws-msk-batchscramsecret.json", "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", @@ -1333,7 +1347,6 @@ "aws-pinpoint-voicechannel.json", "aws-quicksight-analysis.json", "aws-quicksight-dashboard.json", - "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", "aws-quicksight-folder.json", "aws-quicksight-refreshschedule.json", @@ -1342,8 +1355,15 @@ "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", "aws-rbin-rule.json", + "aws-rds-dbcluster.json", + "aws-rds-dbclusterparametergroup.json", + "aws-rds-dbinstance.json", + "aws-rds-dbparametergroup.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", + "aws-rds-dbsubnetgroup.json", + "aws-rds-eventsubscription.json", + "aws-rds-optiongroup.json", "aws-redshift-cluster.json", "aws-redshift-clusterparametergroup.json", "aws-redshift-clustersecuritygroup.json", @@ -1487,6 +1507,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", @@ -1503,6 +1524,7 @@ "aws-wafv2-loggingconfiguration.json", "aws-wafv2-webaclassociation.json", "aws-workspaces-workspace.json", + "aws-workspaces-workspacespool.json", "aws-xray-resourcepolicy.json", "module.json", ] diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-networkinterface.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "definitions": { - "ConnectionTrackingSpecification": { - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer" - }, - "UdpStreamTimeout": { - "type": "integer" - }, - "UdpTimeout": { - "type": "integer" - } - }, - "type": "object" - }, - "InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "Ipv4PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv4Prefix" - ], - "type": "object" - }, - "Ipv6PrefixSpecification": { - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string" - } - }, - "required": [ - "Ipv6Prefix" - ], - "type": "object" - }, - "PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "dependentExcluded": { - "Ipv6AddressCount": [ - "Ipv6Addresses" - ], - "Ipv6Addresses": [ - "Ipv6AddressCount" - ] - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, - "Description": { - "type": "string" - }, - "EnablePrimaryIpv6": { - "type": "boolean" - }, - "GroupSet": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Id": { - "type": "string" - }, - "InterfaceType": { - "enum": [ - "branch", - "efa", - "efa-only", - "trunk" - ], - "type": "string" - }, - "Ipv4PrefixCount": { - "type": "integer" - }, - "Ipv4Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv4PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "Ipv6AddressCount": { - "type": "integer" - }, - "Ipv6Addresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InstanceIpv6Address" - }, - "type": "array", - "uniqueItems": true - }, - "Ipv6PrefixCount": { - "type": "integer" - }, - "Ipv6Prefixes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ipv6PrefixSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "PrimaryIpv6Address": { - "type": "string" - }, - "PrimaryPrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" - }, - "type": "array", - "uniqueItems": false - }, - "SecondaryPrivateIpAddressCount": { - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "required": [ - "SubnetId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", - "taggable": true, - "typeName": "AWS::EC2::NetworkInterface" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studio.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studio.json new file mode 100644 index 0000000000..c0bc599ee6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studio.json @@ -0,0 +1,174 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/EngineSecurityGroupId", + "/properties/ServiceRole", + "/properties/UserRole", + "/properties/VpcId", + "/properties/WorkspaceSecurityGroupId", + "/properties/TrustedIdentityPropagationEnabled", + "/properties/IdcUserAssignment", + "/properties/IdcInstanceArn", + "/properties/EncryptionKeyArn" + ], + "definitions": { + "Arn": { + "pattern": "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", + "type": "string" + }, + "SubnetId": { + "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", + "type": "string" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[a-zA-Z+-=._:/]+$", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "documentationUrl": "https://docs.aws.amazon.com/emr/latest/APIReference/API_CreateStudio.html", + "primaryIdentifier": [ + "/properties/StudioId" + ], + "properties": { + "Arn": { + "$ref": "#/definitions/Arn" + }, + "AuthMode": { + "enum": [ + "SSO", + "IAM" + ], + "type": "string" + }, + "DefaultS3Location": { + "maxLength": 10280, + "minLength": 6, + "pattern": "^s3://.*", + "type": "string" + }, + "Description": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "EncryptionKeyArn": { + "$ref": "#/definitions/Arn" + }, + "EngineSecurityGroupId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + }, + "IdcInstanceArn": { + "maxLength": 2048, + "minLength": 20, + "type": "string" + }, + "IdcUserAssignment": { + "enum": [ + "REQUIRED", + "OPTIONAL" + ], + "type": "string" + }, + "IdpAuthUrl": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "IdpRelayStateParameterName": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "pattern": "[a-zA-Z0-9_-]+", + "type": "string" + }, + "ServiceRole": { + "$ref": "#/definitions/Arn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + }, + "SubnetIds": { + "items": { + "$ref": "#/definitions/SubnetId" + }, + "minItems": 1, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TrustedIdentityPropagationEnabled": { + "type": "boolean" + }, + "Url": { + "maxLength": 4096, + "pattern": "^https://[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])(:[0-9]*)*([?/#].*)?$", + "type": "string" + }, + "UserRole": { + "$ref": "#/definitions/Arn" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "pattern": "^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$", + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "pattern": "^sg-[a-zA-Z0-9\\-._]+$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/Arn", + "/properties/Url" + ], + "required": [ + "AuthMode", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "VpcId", + "WorkspaceSecurityGroupId", + "DefaultS3Location" + ], + "typeName": "AWS::EMR::Studio" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studiosessionmapping.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studiosessionmapping.json new file mode 100644 index 0000000000..c9adfa363d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-emr-studiosessionmapping.json @@ -0,0 +1,49 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "definitions": { + "IamPolicyArn": { + "pattern": "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$", + "type": "string" + } + }, + "documentationUrl": "https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html", + "primaryIdentifier": [ + "/properties/StudioId", + "/properties/IdentityType", + "/properties/IdentityName" + ], + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "enum": [ + "USER", + "GROUP" + ], + "type": "string" + }, + "SessionPolicyArn": { + "$ref": "#/definitions/IamPolicyArn" + }, + "StudioId": { + "maxLength": 256, + "minLength": 4, + "pattern": "^es-[0-9A-Z]+", + "type": "string" + } + }, + "required": [ + "StudioId", + "IdentityName", + "IdentityType", + "SessionPolicyArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "typeName": "AWS::EMR::StudioSessionMapping" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-m2-application.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-m2-application.json deleted file mode 100644 index 6a62b38cd3..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-m2-application.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/EngineType", - "/properties/Name", - "/properties/KmsKeyId", - "/properties/RoleArn" - ], - "definitions": { - "Definition": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "S3Location": { - "pattern": "^\\S{1,2000}$", - "type": "string" - } - }, - "required": [ - "S3Location" - ], - "title": "S3Location", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 6500, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Content" - ], - "title": "Content", - "type": "object" - } - ] - }, - "EngineType": { - "enum": [ - "microfocus", - "bluage" - ], - "type": "string" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 200, - "minProperties": 0, - "patternProperties": { - "^(?!aws:).+$": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationArn" - ], - "properties": { - "ApplicationArn": { - "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" - }, - "ApplicationId": { - "pattern": "^\\S{1,80}$", - "type": "string" - }, - "Definition": { - "$ref": "#/definitions/Definition" - }, - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "EngineType": { - "$ref": "#/definitions/EngineType" - }, - "KmsKeyId": { - "maxLength": 2048, - "type": "string" - }, - "Name": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "RoleArn": { - "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" - }, - "Tags": { - "$ref": "#/definitions/TagMap" - } - }, - "readOnlyProperties": [ - "/properties/ApplicationArn", - "/properties/ApplicationId" - ], - "required": [ - "Definition", - "EngineType", - "Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::M2::Application", - "writeOnlyProperties": [ - "/properties/Definition" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-quicksight-dataset.json similarity index 97% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json rename to src/cfnlint/data/schemas/providers/us_gov_west_1/aws-quicksight-dataset.json index ba48a3b834..8e56700955 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-quicksight-dataset.json @@ -763,20 +763,6 @@ ], "type": "object" }, - "PerformanceConfiguration": { - "additionalProperties": false, - "properties": { - "UniqueKeys": { - "items": { - "$ref": "#/definitions/UniqueKey" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "type": "object" - }, "PhysicalTable": { "additionalProperties": false, "properties": { @@ -1186,25 +1172,6 @@ }, "type": "object" }, - "UniqueKey": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "ColumnNames" - ], - "type": "object" - }, "UntagColumnOperation": { "additionalProperties": false, "properties": { @@ -1340,9 +1307,6 @@ }, "type": "array" }, - "PerformanceConfiguration": { - "$ref": "#/definitions/PerformanceConfiguration" - }, "Permissions": { "items": { "$ref": "#/definitions/ResourcePermission" diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbclusterparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbclusterparametergroup.json deleted file mode 100644 index 72b2c49945..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbclusterparametergroup.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBClusterParameterGroupName", - "/properties/Description", - "/properties/Family" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DBClusterParameterGroupName" - ], - "properties": { - "DBClusterParameterGroupName": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$", - "type": "string" - }, - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array" - } - }, - "propertyTransform": { - "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)" - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBClusterParameterGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbparametergroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbparametergroup.json deleted file mode 100644 index 8d14cf78b9..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbparametergroup.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBParameterGroupName", - "/properties/Description", - "/properties/Family" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DBParameterGroupName" - ], - "properties": { - "DBParameterGroupName": { - "pattern": "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$", - "type": "string" - }, - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)" - }, - "required": [ - "Family", - "Description" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBParameterGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbsubnetgroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbsubnetgroup.json deleted file mode 100644 index 7229fe5de5..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-dbsubnetgroup.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DBSubnetGroupName" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DBSubnetGroupName" - ], - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)" - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::DBSubnetGroup", - "writeOnlyProperties": [ - "/properties/SubnetIds" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-eventsubscription.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-eventsubscription.json deleted file mode 100644 index 10fa51a2d0..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-eventsubscription.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/SubscriptionName", - "/properties/SnsTopicArn" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/SubscriptionName" - ], - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SourceType": { - "type": "string" - }, - "SubscriptionName": { - "maxLength": 255, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": false - } - }, - "propertyTransform": { - "/properties/SubscriptionName": "$lowercase(SubscriptionName)" - }, - "required": [ - "SnsTopicArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::EventSubscription" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-optiongroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-optiongroup.json deleted file mode 100644 index d0e1e7a6a9..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-rds-optiongroup.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/EngineName", - "/properties/MajorEngineVersion", - "/properties/OptionGroupDescription", - "/properties/OptionGroupName" - ], - "definitions": { - "OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "VpcSecurityGroupMemberships": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "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" - } - }, - "primaryIdentifier": [ - "/properties/OptionGroupName" - ], - "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "arrayType": "AttributeList", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" - }, - "OptionGroupName": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/OptionGroupName": "$lowercase(OptionGroupName)" - }, - "required": [ - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "typeName": "AWS::RDS::OptionGroup" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json deleted file mode 100644 index 19c638ca23..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PoolName" - ], - "definitions": { - "ApplicationSettings": { - "additionalProperties": false, - "properties": { - "SettingsGroup": { - "maxLength": 100, - "pattern": "^[A-Za-z0-9_./()!*'-]+$", - "type": "string" - }, - "Status": { - "$ref": "#/definitions/ApplicationSettingsStatus" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "ApplicationSettingsStatus": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "Capacity": { - "additionalProperties": false, - "properties": { - "DesiredUserSessions": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "DesiredUserSessions" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TimeoutSettings": { - "additionalProperties": false, - "properties": { - "DisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 60, - "type": "integer" - }, - "IdleDisconnectTimeoutInSeconds": { - "maximum": 36000, - "minimum": 0, - "type": "integer" - }, - "MaxUserDurationInSeconds": { - "maximum": 432000, - "minimum": 600, - "type": "integer" - } - }, - "required": [], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/PoolId" - ], - "properties": { - "ApplicationSettings": { - "$ref": "#/definitions/ApplicationSettings" - }, - "BundleId": { - "pattern": "^wsb-[0-9a-z]{8,63}$", - "type": "string" - }, - "Capacity": { - "$ref": "#/definitions/Capacity" - }, - "CreatedAt": { - "type": "string" - }, - "Description": { - "maxLength": 255, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_./() -]+$", - "type": "string" - }, - "DirectoryId": { - "maxLength": 65, - "minLength": 10, - "pattern": "^wsd-[0-9a-z]{8,63}$", - "type": "string" - }, - "PoolArn": { - "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$", - "type": "string" - }, - "PoolId": { - "pattern": "^wspool-[0-9a-z]{9}$", - "type": "string" - }, - "PoolName": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TimeoutSettings": { - "$ref": "#/definitions/TimeoutSettings" - } - }, - "readOnlyProperties": [ - "/properties/PoolId", - "/properties/PoolArn", - "/properties/CreatedAt" - ], - "required": [ - "PoolName", - "BundleId", - "DirectoryId", - "Capacity" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": false, - "taggable": true - }, - "typeName": "AWS::WorkSpaces::WorkspacesPool", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} 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 162ce8e5a4..9e46786913 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py @@ -127,6 +127,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -1016,8 +1017,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1071,12 +1074,14 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1172,7 +1177,6 @@ "aws-controltower-enabledbaseline.json", "aws-controltower-enabledcontrol.json", "aws-controltower-landingzone.json", - "aws-databrew-dataset.json", "aws-databrew-job.json", "aws-databrew-project.json", "aws-databrew-recipe.json", @@ -1317,6 +1321,7 @@ "aws-ecs-cluster.json", "aws-ecs-clustercapacityproviderassociations.json", "aws-ecs-primarytaskset.json", + "aws-ecs-service.json", "aws-ecs-taskdefinition.json", "aws-ecs-taskset.json", "aws-efs-accesspoint.json", @@ -1542,9 +1547,7 @@ "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", "aws-macie-session.json", - "aws-mediaconnect-bridge.json", "aws-mediaconnect-bridgeoutput.json", - "aws-mediaconnect-bridgesource.json", "aws-mediaconnect-flow.json", "aws-mediaconnect-flowentitlement.json", "aws-mediaconnect-flowoutput.json", @@ -1626,9 +1629,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1834,6 +1835,7 @@ "aws-transfer-certificate.json", "aws-transfer-connector.json", "aws-transfer-profile.json", + "aws-transfer-server.json", "aws-transfer-user.json", "aws-transfer-workflow.json", "aws-verifiedpermissions-identitysource.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "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" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-batch-jobdefinition.json deleted file mode 100644 index ef7e6803f7..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-batch-jobdefinition.json +++ /dev/null @@ -1,998 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/JobDefinitionName" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "integer" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EcsProperties": { - "additionalProperties": false, - "properties": { - "TaskProperties": { - "items": { - "$ref": "#/definitions/EcsTaskProperties" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "TaskProperties" - ], - "type": "object" - }, - "EcsTaskProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/TaskContainerProperties" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PidMode": { - "type": "string" - }, - "PlatformVersion": { - "type": "string" - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/Volumes" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "EksContainer": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Env": { - "items": { - "$ref": "#/definitions/EksContainerEnvironmentVariable" - }, - "type": "array", - "uniqueItems": false - }, - "Image": { - "type": "string" - }, - "ImagePullPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Resources": { - "$ref": "#/definitions/EksContainerResourceRequirements" - }, - "SecurityContext": { - "$ref": "#/definitions/EksContainerSecurityContext" - }, - "VolumeMounts": { - "items": { - "$ref": "#/definitions/EksContainerVolumeMount" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "EksContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "EksContainerResourceRequirements": { - "additionalProperties": false, - "properties": { - "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "EksContainerSecurityContext": { - "additionalProperties": false, - "properties": { - "AllowPrivilegeEscalation": { - "type": "boolean" - }, - "Privileged": { - "type": "boolean" - }, - "ReadOnlyRootFilesystem": { - "type": "boolean" - }, - "RunAsGroup": { - "type": "integer" - }, - "RunAsNonRoot": { - "type": "boolean" - }, - "RunAsUser": { - "type": "integer" - } - }, - "type": "object" - }, - "EksContainerVolumeMount": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "EksEmptyDir": { - "additionalProperties": false, - "properties": { - "Medium": { - "type": "string" - }, - "SizeLimit": { - "type": "string" - } - }, - "type": "object" - }, - "EksHostPath": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "EksProperties": { - "additionalProperties": false, - "properties": { - "PodProperties": { - "$ref": "#/definitions/PodProperties" - } - }, - "type": "object" - }, - "EksSecret": { - "additionalProperties": false, - "properties": { - "Optional": { - "type": "boolean" - }, - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "EksVolume": { - "additionalProperties": false, - "properties": { - "EmptyDir": { - "$ref": "#/definitions/EksEmptyDir" - }, - "HostPath": { - "$ref": "#/definitions/EksHostPath" - }, - "Name": { - "type": "string" - }, - "Secret": { - "$ref": "#/definitions/EksSecret" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "required": [ - "SizeInGiB" - ], - "type": "object" - }, - "EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "ImagePullSecret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array", - "uniqueItems": false - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/NodeRangeProperty" - }, - "type": "array", - "uniqueItems": false - }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "PodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter" - ], - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "integer" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "type": "string" - }, - "OperatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "type": "object" - }, - "TaskContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "required": [ - "Condition", - "ContainerName" - ], - "type": "object" - }, - "TaskContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/TaskContainerDependency" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "Essential": { - "type": "boolean" - }, - "Image": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/MountPoints" - }, - "type": "array", - "uniqueItems": false - }, - "Name": { - "type": "string" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "Secrets": { - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array", - "uniqueItems": false - }, - "User": { - "type": "string" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size", - "ContainerPath" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "SoftLimit", - "HardLimit", - "Name" - ], - "type": "object" - }, - "Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Id": { - "type": "string" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" - }, - "SchedulingPriority": { - "type": "integer" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "Type": { - "enumCaseInsensitive": [ - "container", - "multinode" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type" - ], - "typeName": "AWS::Batch::JobDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-databrew-dataset.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..58187f9b37 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-databrew-dataset.json @@ -0,0 +1,402 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "minLength": 1, + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "GlueConnectionName" + ], + "type": "object" + }, + "DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/FilterExpression" + }, + "Name": { + "$ref": "#/definitions/PathParameterName" + }, + "Type": { + "enum": [ + "String", + "Number", + "Datetime" + ], + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "maxLength": 100, + "minLength": 2, + "type": "string" + }, + "LocaleCode": { + "maxLength": 100, + "minLength": 2, + "pattern": "^[A-Za-z0-9_\\.#@\\-]+$", + "type": "string" + }, + "TimezoneOffset": { + "maxLength": 6, + "minLength": 1, + "pattern": "^(Z|[-+](\\d|\\d{2}|\\d{2}:?\\d{2}))$", + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "ExcelOptions": { + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "SheetNames" + ] + }, + { + "required": [ + "SheetIndexes" + ] + } + ], + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "insertionOrder": true, + "items": { + "type": "integer" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "SheetNames": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "type": "object" + }, + "FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "integer" + }, + "Order": { + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string" + }, + "OrderedBy": { + "enum": [ + "LAST_MODIFIED_DATE" + ], + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 1024, + "minLength": 4, + "pattern": "^[><0-9A-Za-z_.,:)(!= ]+$", + "type": "string" + }, + "ValuesMap": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "ValueReference": { + "maxLength": 128, + "minLength": 2, + "pattern": "^:[A-Za-z0-9_]+$", + "type": "string" + } + }, + "required": [ + "ValueReference", + "Value" + ], + "type": "object" + }, + "FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/JsonOptions" + } + }, + "type": "object" + }, + "Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/DatabaseInputDefinition" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "S3InputDefinition": { + "$ref": "#/definitions/S3Location" + } + }, + "type": "object" + }, + "JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "Metadata": { + "additionalProperties": false, + "properties": { + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/FilterExpression" + }, + "Parameters": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/DatasetParameter" + }, + "PathParameterName": { + "$ref": "#/definitions/PathParameterName" + } + }, + "required": [ + "PathParameterName", + "DatasetParameter" + ], + "type": "object" + }, + "PathParameterName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "Format": { + "enum": [ + "CSV", + "JSON", + "PARQUET", + "EXCEL", + "ORC" + ], + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + }, + "Input": { + "$ref": "#/definitions/Input" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/PathOptions" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "Name", + "Input" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::DataBrew::Dataset" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-ecs-service.json deleted file mode 100644 index 57d8a70796..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-ecs-service.json +++ /dev/null @@ -1,645 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/DeploymentController", - "/properties/LaunchType", - "/properties/Role", - "/properties/SchedulingStrategy", - "/properties/ServiceName" - ], - "definitions": { - "AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "enum": [ - "DISABLED", - "ENABLED" - ], - "type": "string" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "format": "AWS::EC2::Subnet.Ids", - "items": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "integer" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentAlarms": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "AlarmNames", - "Rollback", - "Enable" - ], - "type": "object" - }, - "DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/DeploymentAlarms" - }, - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "integer" - }, - "MinimumHealthyPercent": { - "type": "integer" - } - }, - "type": "object" - }, - "DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "CODE_DEPLOY", - "ECS", - "EXTERNAL" - ], - "type": "string" - } - }, - "type": "object" - }, - "EBSTagSpecification": { - "additionalProperties": false, - "properties": { - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "ResourceType": { - "enum": [ - "volume" - ], - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "enum": [ - "awsfirelens", - "awslogs", - "fluentd", - "gelf", - "journald", - "json-file", - "splunk", - "syslog" - ], - "type": "string" - }, - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" - } - }, - "type": "object" - }, - "PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "distinctInstance", - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "enum": [ - "binpack", - "random", - "spread" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "ServiceConnectClientAlias": { - "additionalProperties": false, - "properties": { - "DnsName": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "required": [ - "Port" - ], - "type": "object" - }, - "ServiceConnectConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Namespace": { - "type": "string" - }, - "Services": { - "items": { - "$ref": "#/definitions/ServiceConnectService" - }, - "type": "array" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "ServiceConnectService": { - "additionalProperties": false, - "properties": { - "ClientAliases": { - "items": { - "$ref": "#/definitions/ServiceConnectClientAlias" - }, - "type": "array" - }, - "DiscoveryName": { - "type": "string" - }, - "IngressPortOverride": { - "type": "integer" - }, - "PortName": { - "type": "string" - }, - "Timeout": { - "$ref": "#/definitions/TimeoutConfiguration" - }, - "Tls": { - "$ref": "#/definitions/ServiceConnectTlsConfiguration" - } - }, - "required": [ - "PortName" - ], - "type": "object" - }, - "ServiceConnectTlsCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AwsPcaAuthorityArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceConnectTlsConfiguration": { - "additionalProperties": false, - "properties": { - "IssuerCertificateAuthority": { - "$ref": "#/definitions/ServiceConnectTlsCertificateAuthority" - }, - "KmsKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "IssuerCertificateAuthority" - ], - "type": "object" - }, - "ServiceManagedEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "FilesystemType": { - "enum": [ - "ext3", - "ext4", - "ntfs", - "xfs" - ], - "type": "string" - }, - "Iops": { - "type": "integer" - }, - "KmsKeyId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SizeInGiB": { - "type": "integer" - }, - "SnapshotId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/EBSTagSpecification" - }, - "type": "array" - }, - "Throughput": { - "type": "integer" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "Port": { - "type": "integer" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "ServiceVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedEBSVolume": { - "$ref": "#/definitions/ServiceManagedEBSVolumeConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "type": "object" - }, - "TimeoutConfiguration": { - "additionalProperties": false, - "properties": { - "IdleTimeoutSeconds": { - "type": "integer" - }, - "PerRequestTimeoutSeconds": { - "type": "integer" - } - }, - "type": "object" - }, - "VpcLatticeConfiguration": { - "additionalProperties": false, - "properties": { - "PortName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetGroupArn", - "PortName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ServiceArn", - "/properties/Cluster" - ], - "properties": { - "AvailabilityZoneRebalancing": { - "default": "DISABLED", - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/DeploymentController" - }, - "DesiredCount": { - "type": "integer" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "integer" - }, - "LaunchType": { - "enum": [ - "EC2", - "FARGATE", - "EXTERNAL" - ], - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "default": "LATEST", - "type": "string" - }, - "PropagateTags": { - "enum": [ - "SERVICE", - "TASK_DEFINITION" - ], - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "enum": [ - "DAEMON", - "REPLICA" - ], - "type": "string" - }, - "ServiceArn": { - "type": "string" - }, - "ServiceConnectConfiguration": { - "$ref": "#/definitions/ServiceConnectConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/ServiceVolumeConfiguration" - }, - "type": "array" - }, - "VpcLatticeConfigurations": { - "items": { - "$ref": "#/definitions/VpcLatticeConfiguration" - }, - "type": "array" - } - }, - "propertyTransform": { - "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" - }, - "readOnlyProperties": [ - "/properties/ServiceArn", - "/properties/Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::Service", - "writeOnlyProperties": [ - "/properties/ServiceConnectConfiguration", - "/properties/VolumeConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-bridge.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-bridge.json new file mode 100644 index 0000000000..70aec2c93e --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-bridge.json @@ -0,0 +1,278 @@ +{ + "additionalProperties": false, + "definitions": { + "BridgeFlowSource": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/VpcInterfaceAttachment" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name", + "FlowArn" + ], + "type": "object" + }, + "BridgeNetworkOutput": { + "additionalProperties": false, + "properties": { + "IpAddress": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "Protocol": { + "$ref": "#/definitions/ProtocolEnum" + }, + "Ttl": { + "type": "integer" + } + }, + "required": [ + "Name", + "Protocol", + "IpAddress", + "Port", + "NetworkName", + "Ttl" + ], + "type": "object" + }, + "BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { + "type": "string" + }, + "MulticastSourceSettings": { + "$ref": "#/definitions/MulticastSourceSettings" + }, + "Name": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "Protocol": { + "$ref": "#/definitions/ProtocolEnum" + } + }, + "required": [ + "Name", + "Protocol", + "MulticastIp", + "Port", + "NetworkName" + ], + "type": "object" + }, + "BridgeOutput": { + "additionalProperties": false, + "properties": { + "NetworkOutput": { + "$ref": "#/definitions/BridgeNetworkOutput" + } + }, + "type": "object" + }, + "BridgeSource": { + "additionalProperties": false, + "properties": { + "FlowSource": { + "$ref": "#/definitions/BridgeFlowSource" + }, + "NetworkSource": { + "$ref": "#/definitions/BridgeNetworkSource" + } + }, + "type": "object" + }, + "BridgeStateEnum": { + "enum": [ + "CREATING", + "STANDBY", + "STARTING", + "DEPLOYING", + "ACTIVE", + "STOPPING", + "DELETING", + "DELETED", + "START_FAILED", + "START_PENDING", + "UPDATING" + ], + "type": "string" + }, + "EgressGatewayBridge": { + "additionalProperties": false, + "properties": { + "MaxBitrate": { + "type": "integer" + } + }, + "required": [ + "MaxBitrate" + ], + "type": "object" + }, + "FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "$ref": "#/definitions/FailoverModeEnum" + }, + "SourcePriority": { + "$ref": "#/definitions/SourcePriority" + }, + "State": { + "$ref": "#/definitions/FailoverConfigStateEnum" + } + }, + "required": [ + "FailoverMode" + ], + "type": "object" + }, + "FailoverConfigStateEnum": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "FailoverModeEnum": { + "enum": [ + "FAILOVER" + ], + "type": "string" + }, + "IngressGatewayBridge": { + "additionalProperties": false, + "properties": { + "MaxBitrate": { + "type": "integer" + }, + "MaxOutputs": { + "type": "integer" + } + }, + "required": [ + "MaxBitrate", + "MaxOutputs" + ], + "type": "object" + }, + "MulticastSourceSettings": { + "additionalProperties": false, + "properties": { + "MulticastSourceIp": { + "type": "string" + } + }, + "type": "object" + }, + "ProtocolEnum": { + "enum": [ + "rtp-fec", + "rtp", + "udp" + ], + "type": "string" + }, + "SourcePriority": { + "additionalProperties": false, + "properties": { + "PrimarySource": { + "type": "string" + } + }, + "type": "object" + }, + "VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/BridgeArn" + ], + "properties": { + "BridgeArn": { + "type": "string" + }, + "BridgeState": { + "$ref": "#/definitions/BridgeStateEnum" + }, + "EgressGatewayBridge": { + "$ref": "#/definitions/EgressGatewayBridge", + "type": "object" + }, + "IngressGatewayBridge": { + "$ref": "#/definitions/IngressGatewayBridge", + "type": "object" + }, + "Name": { + "type": "string" + }, + "Outputs": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/BridgeOutput" + }, + "maxItems": 2, + "minItems": 0, + "type": "array" + }, + "PlacementArn": { + "type": "string" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/FailoverConfig" + }, + "Sources": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/BridgeSource" + }, + "maxItems": 2, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/BridgeArn", + "/properties/BridgeState" + ], + "required": [ + "Name", + "PlacementArn", + "Sources" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-mediaconnect.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::MediaConnect::Bridge" +} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-bridgesource.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-bridgesource.json new file mode 100644 index 0000000000..707ee82e4e --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-mediaconnect-bridgesource.json @@ -0,0 +1,107 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/BridgeArn", + "/properties/Name" + ], + "definitions": { + "BridgeFlowSource": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/VpcInterfaceAttachment" + } + }, + "required": [ + "FlowArn" + ], + "type": "object" + }, + "BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { + "type": "string" + }, + "MulticastSourceSettings": { + "$ref": "#/definitions/MulticastSourceSettings" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "integer" + }, + "Protocol": { + "$ref": "#/definitions/ProtocolEnum" + } + }, + "required": [ + "Protocol", + "MulticastIp", + "Port", + "NetworkName" + ], + "type": "object" + }, + "MulticastSourceSettings": { + "additionalProperties": false, + "properties": { + "MulticastSourceIp": { + "type": "string" + } + }, + "type": "object" + }, + "ProtocolEnum": { + "enum": [ + "rtp-fec", + "rtp", + "udp" + ], + "type": "string" + }, + "VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/BridgeArn", + "/properties/Name" + ], + "properties": { + "BridgeArn": { + "type": "string" + }, + "FlowSource": { + "$ref": "#/definitions/BridgeFlowSource" + }, + "Name": { + "type": "string" + }, + "NetworkSource": { + "$ref": "#/definitions/BridgeNetworkSource" + } + }, + "propertyTransform": { + "/properties/Name": "$join([\"Source:\",Name])" + }, + "required": [ + "Name", + "BridgeArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-mediaconnect.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::MediaConnect::BridgeSource" +} 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 new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/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 new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "definitions": { + "CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "type": "string" + }, + "ValidTill": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "enum": [ + "coreCount", + "threadsPerCore" + ], + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "dependencies": { + "KmsKeyId": { + "properties": { + "StorageEncrypted": { + "enum": [ + "true", + "True", + true + ] + } + }, + "required": [ + "StorageEncrypted" + ] + } + }, + "dependentExcluded": { + "SourceDBInstanceIdentifier": [ + "CharacterSetName", + "MasterUserPassword", + "MasterUsername", + "StorageEncrypted" + ] + }, + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "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": { + "maximum": 35, + "minimum": 0, + "type": "integer" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "type": "string" + }, + "DBInstanceArn": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "maxLength": 63, + "minLength": 1, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DbiResourceId": { + "type": "string" + }, + "DedicatedLogVolume": { + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainAuthSecretArn": { + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainFqdn": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "DomainOu": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "integer" + }, + "MonitoringInterval": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "enum": [ + 7, + 31, + 62, + 93, + 124, + 155, + 186, + 217, + 248, + 279, + 310, + 341, + 372, + 403, + 434, + 465, + 496, + 527, + 558, + 589, + 620, + 651, + 682, + 713, + 731 + ], + "type": "integer" + }, + "Port": { + "pattern": "^\\d*$", + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "type": "string" + }, + "RestoreTime": { + "format": "date-time", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceDbiResourceId": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TdeCredentialArn": { + "type": "string" + }, + "TdeCredentialPassword": { + "type": "string" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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-transfer-server.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-transfer-server.json deleted file mode 100644 index 22e8898972..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-transfer-server.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ServerId" - ] - ], - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/EndpointDetails", - "/properties/EndpointDetails/AddressAllocationIds" - ], - "createOnlyProperties": [ - "/properties/Domain", - "/properties/IdentityProviderType" - ], - "definitions": { - "As2Transport": { - "enum": [ - "HTTP" - ], - "type": "string" - }, - "DirectoryListingOptimization": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Domain": { - "enum": [ - "S3", - "EFS" - ], - "type": "string" - }, - "EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "sg-[0-9a-f]{8,17}", - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "maxLength": 22, - "minLength": 22, - "pattern": "^vpce-[0-9a-f]{17}$", - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "EndpointType": { - "enum": [ - "PUBLIC", - "VPC", - "VPC_ENDPOINT" - ], - "type": "string" - }, - "IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Function": { - "maxLength": 170, - "minLength": 1, - "pattern": "^arn:[a-z-]+:lambda:.*$", - "type": "string" - }, - "InvocationRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "SftpAuthenticationMethods": { - "$ref": "#/definitions/SftpAuthenticationMethods" - }, - "Url": { - "maxLength": 255, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "IdentityProviderType": { - "enum": [ - "SERVICE_MANAGED", - "API_GATEWAY", - "AWS_DIRECTORY_SERVICE", - "AWS_LAMBDA" - ], - "type": "string" - }, - "Protocol": { - "enum": [ - "AS2", - "FTP", - "FTPS", - "SFTP" - ], - "type": "string" - }, - "ProtocolDetails": { - "additionalProperties": false, - "properties": { - "As2Transports": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/As2Transport" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "PassiveIp": { - "maxLength": 15, - "minLength": 0, - "type": "string" - }, - "SetStatOption": { - "$ref": "#/definitions/SetStatOption" - }, - "TlsSessionResumptionMode": { - "$ref": "#/definitions/TlsSessionResumptionMode" - } - }, - "type": "object" - }, - "S3StorageOptions": { - "additionalProperties": false, - "properties": { - "DirectoryListingOptimization": { - "$ref": "#/definitions/DirectoryListingOptimization" - } - }, - "type": "object" - }, - "SetStatOption": { - "enum": [ - "DEFAULT", - "ENABLE_NO_OP" - ], - "type": "string" - }, - "SftpAuthenticationMethods": { - "enum": [ - "PASSWORD", - "PUBLIC_KEY", - "PUBLIC_KEY_OR_PASSWORD", - "PUBLIC_KEY_AND_PASSWORD" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 0, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TlsSessionResumptionMode": { - "enum": [ - "DISABLED", - "ENABLED", - "ENFORCED" - ], - "type": "string" - }, - "WorkflowDetail": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:.*role/\\S+$", - "type": "string" - }, - "WorkflowId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^w-([a-z0-9]{17})$", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "WorkflowId" - ], - "type": "object" - }, - "WorkflowDetails": { - "additionalProperties": false, - "properties": { - "OnPartialUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "OnUpload": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "maxLength": 1600, - "minLength": 20, - "pattern": "^arn:\\S+$", - "type": "string" - }, - "As2ServiceManagedEgressIpAddresses": { - "insertionOrder": false, - "items": { - "pattern": "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", - "type": "string" - }, - "type": "array" - }, - "Certificate": { - "maxLength": 1600, - "minLength": 0, - "type": "string" - }, - "Domain": { - "$ref": "#/definitions/Domain" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "EndpointType": { - "$ref": "#/definitions/EndpointType" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "IdentityProviderType": { - "$ref": "#/definitions/IdentityProviderType" - }, - "LoggingRole": { - "maxLength": 2048, - "minLength": 0, - "pattern": "^(|arn:.*role/\\S+)$", - "type": "string" - }, - "PostAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "PreAuthenticationLoginBanner": { - "maxLength": 4096, - "minLength": 0, - "pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$", - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "Protocols": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "maxItems": 4, - "minItems": 1, - "type": "array" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "SecurityPolicyName": { - "maxLength": 100, - "minLength": 0, - "pattern": "^TransferSecurityPolicy-.+$", - "type": "string" - }, - "ServerId": { - "maxLength": 19, - "minLength": 19, - "pattern": "^s-([0-9a-f]{17})$", - "type": "string" - }, - "StructuredLogDestinations": { - "insertionOrder": false, - "items": { - "maxLength": 1600, - "minLength": 20, - "pattern": "arn:\\S+", - "type": "string" - }, - "maxItems": 1, - "minItems": 0, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Transfer::Server", - "writeOnlyProperties": [ - "/properties/IdentityProviderType" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py index 544143d582..64b4ac2dcd 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py @@ -967,6 +967,9 @@ "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", "AWS::PCAConnectorSCEP::Challenge", "AWS::PCAConnectorSCEP::Connector", + "AWS::PCS::Cluster", + "AWS::PCS::ComputeNodeGroup", + "AWS::PCS::Queue", "AWS::Panorama::ApplicationInstance", "AWS::Panorama::Package", "AWS::Panorama::PackageVersion", @@ -1014,6 +1017,7 @@ "AWS::QLDB::Ledger", "AWS::QLDB::Stream", "AWS::QuickSight::Analysis", + "AWS::QuickSight::CustomPermissions", "AWS::QuickSight::Dashboard", "AWS::QuickSight::DataSet", "AWS::QuickSight::DataSource", @@ -1408,8 +1412,10 @@ "aws-apigatewayv2-stage.json", "aws-apigatewayv2-vpclink.json", "aws-appconfig-application.json", + "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", "aws-appconfig-deploymentstrategy.json", + "aws-appconfig-environment.json", "aws-appconfig-extension.json", "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", @@ -1505,11 +1511,12 @@ "aws-bedrock-guardrail.json", "aws-bedrock-guardrailversion.json", "aws-bedrock-knowledgebase.json", - "aws-bedrock-prompt.json", "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", + "aws-cassandra-keyspace.json", "aws-cassandra-table.json", + "aws-cassandra-type.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", "aws-ce-costcategory.json", @@ -1678,7 +1685,6 @@ "aws-datasync-locationsmb.json", "aws-datasync-storagesystem.json", "aws-datasync-task.json", - "aws-datazone-datasource.json", "aws-datazone-domain.json", "aws-datazone-environment.json", "aws-datazone-environmentactions.json", @@ -1686,6 +1692,8 @@ "aws-datazone-environmentprofile.json", "aws-datazone-groupprofile.json", "aws-datazone-project.json", + "aws-datazone-projectmembership.json", + "aws-datazone-subscriptiontarget.json", "aws-datazone-userprofile.json", "aws-dax-cluster.json", "aws-dax-parametergroup.json", @@ -1813,6 +1821,7 @@ "aws-ec2-vpcblockpublicaccessoptions.json", "aws-ec2-vpccidrblock.json", "aws-ec2-vpcdhcpoptionsassociation.json", + "aws-ec2-vpcendpoint.json", "aws-ec2-vpcendpointconnectionnotification.json", "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", @@ -2054,6 +2063,7 @@ "aws-iotanalytics-dataset.json", "aws-iotanalytics-datastore.json", "aws-iotanalytics-pipeline.json", + "aws-iotcoredeviceadvisor-suitedefinition.json", "aws-iotevents-alarmmodel.json", "aws-iotevents-detectormodel.json", "aws-iotevents-input.json", @@ -2156,6 +2166,7 @@ "aws-location-routecalculator.json", "aws-location-tracker.json", "aws-location-trackerconsumer.json", + "aws-logs-accountpolicy.json", "aws-logs-delivery.json", "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", @@ -2310,6 +2321,9 @@ "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", + "aws-pcs-cluster.json", + "aws-pcs-computenodegroup.json", + "aws-pcs-queue.json", "aws-personalize-dataset.json", "aws-personalize-datasetgroup.json", "aws-personalize-schema.json", @@ -2352,7 +2366,9 @@ "aws-qldb-ledger.json", "aws-qldb-stream.json", "aws-quicksight-analysis.json", + "aws-quicksight-custompermissions.json", "aws-quicksight-dashboard.json", + "aws-quicksight-dataset.json", "aws-quicksight-datasource.json", "aws-quicksight-folder.json", "aws-quicksight-refreshschedule.json", @@ -2364,9 +2380,7 @@ "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", - "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -2471,7 +2485,6 @@ "aws-sagemaker-dataqualityjobdefinition.json", "aws-sagemaker-device.json", "aws-sagemaker-devicefleet.json", - "aws-sagemaker-domain.json", "aws-sagemaker-endpoint.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", @@ -2490,11 +2503,10 @@ "aws-sagemaker-monitoringschedule.json", "aws-sagemaker-notebookinstance.json", "aws-sagemaker-notebookinstancelifecycleconfig.json", + "aws-sagemaker-partnerapp.json", "aws-sagemaker-pipeline.json", "aws-sagemaker-project.json", - "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", - "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", @@ -2553,7 +2565,6 @@ "aws-ses-mailmanagerarchive.json", "aws-ses-mailmanageringresspoint.json", "aws-ses-mailmanagerrelay.json", - "aws-ses-mailmanagerruleset.json", "aws-ses-mailmanagertrafficpolicy.json", "aws-ses-receiptfilter.json", "aws-ses-receiptrule.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-configurationprofile.json deleted file mode 100644 index 5d841be3e1..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-configurationprofile.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 32768, - "minLength": 0, - "type": "string" - }, - "Type": { - "enum": [ - "JSON_SCHEMA", - "LAMBDA" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "KmsKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+", - "type": "string" - }, - "KmsKeyIdentifier": { - "pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$", - "type": "string" - }, - "LocationUri": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "RetrievalRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tags" - }, - "type": "array", - "uniqueItems": false - }, - "Type": { - "pattern": "^[a-zA-Z\\.]+", - "type": "string" - }, - "Validators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Validators" - }, - "maxItems": 2, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-environment.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-environment.json deleted file mode 100644 index e5874842d7..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-environment.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplicationId" - ], - "definitions": { - "Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "maxLength": 2048, - "minLength": 1, - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::CloudWatch::Alarm" - }, - "type": "string" - }, - "AlarmRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$", - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::Role" - }, - "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "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" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], - "properties": { - "ApplicationId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "DeletionProtectionCheck": { - "enum": [ - "ACCOUNT_DEFAULT", - "APPLY", - "BYPASS" - ], - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "EnvironmentId": { - "pattern": "[a-z0-9]{4,7}", - "type": "string" - }, - "Monitors": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Monitor" - }, - "maxItems": 5, - "minItems": 0, - "type": "array" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "required": [ - "Name", - "ApplicationId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::AppConfig::Environment", - "writeOnlyProperties": [ - "/properties/DeletionProtectionCheck" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-bedrock-prompt.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-bedrock-prompt.json new file mode 100644 index 0000000000..3ecdce91a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-bedrock-prompt.json @@ -0,0 +1,550 @@ +{ + "additionalProperties": false, + "definitions": { + "AnyToolChoice": { + "additionalProperties": false, + "type": "object" + }, + "AutoToolChoice": { + "additionalProperties": false, + "type": "object" + }, + "ChatPromptTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "InputVariables": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PromptInputVariable" + }, + "maxItems": 5, + "minItems": 0, + "type": "array" + }, + "Messages": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Message" + }, + "minItems": 0, + "type": "array" + }, + "System": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/SystemContentBlock" + }, + "minItems": 0, + "type": "array" + }, + "ToolConfiguration": { + "$ref": "#/definitions/ToolConfiguration" + } + }, + "required": [ + "Messages" + ], + "type": "object" + }, + "ContentBlock": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Text" + ], + "title": "Text", + "type": "object" + } + ] + }, + "ConversationRole": { + "enum": [ + "user", + "assistant" + ], + "type": "string" + }, + "Message": { + "additionalProperties": false, + "properties": { + "Content": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/ContentBlock" + }, + "minItems": 1, + "type": "array" + }, + "Role": { + "$ref": "#/definitions/ConversationRole" + } + }, + "required": [ + "Role", + "Content" + ], + "type": "object" + }, + "PromptAgentResource": { + "additionalProperties": false, + "properties": { + "AgentIdentifier": { + "maxLength": 2048, + "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent-alias/[0-9a-zA-Z]{10}/[0-9a-zA-Z]{10}$", + "type": "string" + } + }, + "required": [ + "AgentIdentifier" + ], + "type": "object" + }, + "PromptGenAiResource": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Agent": { + "$ref": "#/definitions/PromptAgentResource" + } + }, + "required": [ + "Agent" + ], + "title": "Agent", + "type": "object" + } + ] + }, + "PromptInferenceConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Text": { + "$ref": "#/definitions/PromptModelInferenceConfiguration" + } + }, + "required": [ + "Text" + ], + "title": "Text", + "type": "object" + } + ] + }, + "PromptInputVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + } + }, + "type": "object" + }, + "PromptModelInferenceConfiguration": { + "additionalProperties": false, + "properties": { + "MaxTokens": { + "maximum": 4096, + "minimum": 0, + "type": "number" + }, + "StopSequences": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "maxItems": 4, + "minItems": 0, + "type": "array" + }, + "Temperature": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "TopP": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "PromptTemplateConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Text": { + "$ref": "#/definitions/TextPromptTemplateConfiguration" + } + }, + "required": [ + "Text" + ], + "title": "Text", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Chat": { + "$ref": "#/definitions/ChatPromptTemplateConfiguration" + } + }, + "required": [ + "Chat" + ], + "title": "Chat", + "type": "object" + } + ] + }, + "PromptTemplateType": { + "enum": [ + "TEXT", + "CHAT" + ], + "type": "string" + }, + "PromptVariant": { + "additionalProperties": false, + "properties": { + "GenAiResource": { + "$ref": "#/definitions/PromptGenAiResource" + }, + "InferenceConfiguration": { + "$ref": "#/definitions/PromptInferenceConfiguration" + }, + "ModelId": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$", + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "TemplateConfiguration": { + "$ref": "#/definitions/PromptTemplateConfiguration" + }, + "TemplateType": { + "$ref": "#/definitions/PromptTemplateType" + } + }, + "required": [ + "Name", + "TemplateType", + "TemplateConfiguration" + ], + "type": "object" + }, + "SpecificToolChoice": { + "additionalProperties": false, + "properties": { + "Name": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "SystemContentBlock": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Text" + ], + "title": "Text", + "type": "object" + } + ] + }, + "TagsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$", + "type": "string" + } + }, + "type": "object" + }, + "TextPromptTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "InputVariables": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PromptInputVariable" + }, + "maxItems": 5, + "minItems": 0, + "type": "array" + }, + "Text": { + "maxLength": 200000, + "minLength": 1, + "type": "string" + }, + "TextS3Location": { + "$ref": "#/definitions/TextS3Location" + } + }, + "required": [], + "type": "object" + }, + "TextS3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "type": "string" + }, + "Key": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "Version": { + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "Tool": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "ToolSpec": { + "$ref": "#/definitions/ToolSpecification" + } + }, + "required": [ + "ToolSpec" + ], + "title": "ToolSpec", + "type": "object" + } + ] + }, + "ToolChoice": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Auto": { + "$ref": "#/definitions/AutoToolChoice" + } + }, + "required": [ + "Auto" + ], + "title": "Auto", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Any": { + "$ref": "#/definitions/AnyToolChoice" + } + }, + "required": [ + "Any" + ], + "title": "Any", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Tool": { + "$ref": "#/definitions/SpecificToolChoice" + } + }, + "required": [ + "Tool" + ], + "title": "Tool", + "type": "object" + } + ] + }, + "ToolConfiguration": { + "additionalProperties": false, + "properties": { + "ToolChoice": { + "$ref": "#/definitions/ToolChoice" + }, + "Tools": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Tool" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Tools" + ], + "type": "object" + }, + "ToolInputSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Json": { + "type": "object" + } + }, + "required": [ + "Json" + ], + "title": "Json", + "type": "object" + } + ] + }, + "ToolSpecification": { + "additionalProperties": false, + "properties": { + "Description": { + "minLength": 1, + "type": "string" + }, + "InputSchema": { + "$ref": "#/definitions/ToolInputSchema" + }, + "Name": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$", + "type": "string" + } + }, + "required": [ + "Name", + "InputSchema" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Arn" + ], + "properties": { + "Arn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:prompt/[0-9a-zA-Z]{10})$", + "type": "string" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "CustomerEncryptionKeyArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$", + "type": "string" + }, + "DefaultVariant": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Description": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "Id": { + "pattern": "^[0-9a-zA-Z]{10}$", + "type": "string" + }, + "Name": { + "pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/TagsMap" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + }, + "Variants": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/PromptVariant" + }, + "maxItems": 1, + "minItems": 0, + "type": "array" + }, + "Version": { + "maxLength": 5, + "minLength": 5, + "pattern": "^DRAFT$", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedAt", + "/properties/Id", + "/properties/UpdatedAt", + "/properties/Version" + ], + "required": [ + "Name" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Bedrock::Prompt", + "writeOnlyProperties": [ + "/properties/Variants/*/TemplateConfiguration/Text/TextS3Location" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-keyspace.json deleted file mode 100644 index 203828de9b..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-keyspace.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName" - ], - "definitions": { - "RegionList": { - "insertionOrder": false, - "items": { - "enum": [ - "ap-northeast-1", - "ap-northeast-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-central-1", - "eu-north-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "type": "string" - }, - "maxItems": 6, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationSpecification": { - "additionalProperties": false, - "default": { - "properties": { - "ReplicationStrategy": { - "const": "SINGLE_REGION", - "type": "string" - } - } - }, - "dependencies": { - "RegionList": [ - "ReplicationStrategy" - ] - }, - "properties": { - "RegionList": { - "$ref": "#/definitions/RegionList" - }, - "ReplicationStrategy": { - "enum": [ - "SINGLE_REGION", - "MULTI_REGION" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName" - ], - "properties": { - "ClientSideTimestampsEnabled": { - "type": "boolean" - }, - "KeyspaceName": { - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$", - "type": "string" - }, - "ReplicationSpecification": { - "$ref": "#/definitions/ReplicationSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Cassandra::Keyspace" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-type.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-type.json deleted file mode 100644 index a788c284cf..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-type.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyspaceName", - "/properties/TypeName", - "/properties/Fields" - ], - "definitions": { - "Field": { - "additionalProperties": false, - "properties": { - "FieldName": { - "type": "string" - }, - "FieldType": { - "type": "string" - } - }, - "required": [ - "FieldName", - "FieldType" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KeyspaceName", - "/properties/TypeName" - ], - "properties": { - "DirectParentTypes": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "DirectReferringTables": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Fields": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Field" - }, - "type": "array", - "uniqueItems": true - }, - "KeyspaceArn": { - "type": "string" - }, - "KeyspaceName": { - "type": "string" - }, - "LastModifiedTimestamp": { - "type": "number" - }, - "MaxNestingDepth": { - "type": "integer" - }, - "TypeName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DirectReferringTables", - "/properties/DirectParentTypes", - "/properties/MaxNestingDepth", - "/properties/LastModifiedTimestamp", - "/properties/KeyspaceArn" - ], - "required": [ - "KeyspaceName", - "TypeName", - "Fields" - ], - "tagging": { - "taggable": false - }, - "typeName": "AWS::Cassandra::Type" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-datasource.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-datasource.json new file mode 100644 index 0000000000..ec66adcc4a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-datasource.json @@ -0,0 +1,542 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/EnvironmentIdentifier", + "/properties/DomainIdentifier", + "/properties/ProjectIdentifier", + "/properties/Type" + ], + "definitions": { + "AccountId": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d{12}$", + "type": "string" + }, + "DataAccessRole": { + "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$", + "type": "string" + }, + "DataSourceConfigurationInput": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "GlueRunConfiguration": { + "$ref": "#/definitions/GlueRunConfigurationInput" + } + }, + "title": "GlueRunConfiguration", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "RedshiftRunConfiguration": { + "$ref": "#/definitions/RedshiftRunConfigurationInput" + } + }, + "title": "RedshiftRunConfiguration", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "SageMakerRunConfiguration": { + "$ref": "#/definitions/SageMakerRunConfigurationInput" + } + }, + "title": "SageMakerRunConfiguration", + "type": "object" + } + ] + }, + "DataSourceStatus": { + "enum": [ + "CREATING", + "FAILED_CREATION", + "READY", + "UPDATING", + "FAILED_UPDATE", + "RUNNING", + "DELETING", + "FAILED_DELETION" + ], + "type": "string" + }, + "EnableSetting": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "Type": { + "$ref": "#/definitions/FilterExpressionType" + } + }, + "required": [ + "Expression", + "Type" + ], + "type": "object" + }, + "FilterExpressionType": { + "enum": [ + "INCLUDE", + "EXCLUDE" + ], + "type": "string" + }, + "FormInput": { + "additionalProperties": false, + "properties": { + "Content": { + "maxLength": 75000, + "type": "string" + }, + "FormName": { + "$ref": "#/definitions/FormName" + }, + "TypeIdentifier": { + "maxLength": 385, + "minLength": 1, + "pattern": "^(?!\\.)[\\w\\.]*\\w$", + "type": "string" + }, + "TypeRevision": { + "$ref": "#/definitions/TypeRevision" + } + }, + "required": [ + "FormName" + ], + "type": "object" + }, + "FormName": { + "maxLength": 128, + "minLength": 1, + "pattern": "^(?![0-9_])\\w+$|^_\\w*[a-zA-Z0-9]\\w*$", + "type": "string" + }, + "GlueRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "AutoImportDataQualityResult": { + "type": "boolean" + }, + "DataAccessRole": { + "$ref": "#/definitions/DataAccessRole" + }, + "RelationalFilterConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RelationalFilterConfiguration" + }, + "type": "array" + } + }, + "required": [ + "RelationalFilterConfigurations" + ], + "type": "object" + }, + "RecommendationConfiguration": { + "additionalProperties": false, + "properties": { + "EnableBusinessNameGeneration": { + "type": "boolean" + } + }, + "type": "object" + }, + "RedshiftClusterStorage": { + "additionalProperties": false, + "properties": { + "ClusterName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[0-9a-z].[a-z0-9\\-]*$", + "type": "string" + } + }, + "required": [ + "ClusterName" + ], + "type": "object" + }, + "RedshiftCredentialConfiguration": { + "additionalProperties": false, + "properties": { + "SecretManagerArn": { + "maxLength": 256, + "pattern": "^arn:aws[^:]*:secretsmanager:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:secret:.*$", + "type": "string" + } + }, + "required": [ + "SecretManagerArn" + ], + "type": "object" + }, + "RedshiftRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "DataAccessRole": { + "$ref": "#/definitions/DataAccessRole" + }, + "RedshiftCredentialConfiguration": { + "$ref": "#/definitions/RedshiftCredentialConfiguration" + }, + "RedshiftStorage": { + "$ref": "#/definitions/RedshiftStorage" + }, + "RelationalFilterConfigurations": { + "$ref": "#/definitions/RelationalFilterConfigurations" + } + }, + "required": [ + "RedshiftCredentialConfiguration", + "RedshiftStorage", + "RelationalFilterConfigurations" + ], + "type": "object" + }, + "RedshiftServerlessStorage": { + "additionalProperties": false, + "properties": { + "WorkgroupName": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-z0-9-]+$", + "type": "string" + } + }, + "required": [ + "WorkgroupName" + ], + "type": "object" + }, + "RedshiftStorage": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "RedshiftClusterSource": { + "$ref": "#/definitions/RedshiftClusterStorage" + } + }, + "required": [ + "RedshiftClusterSource" + ], + "title": "RedshiftClusterSource", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "RedshiftServerlessSource": { + "$ref": "#/definitions/RedshiftServerlessStorage" + } + }, + "required": [ + "RedshiftServerlessSource" + ], + "title": "RedshiftServerlessSource", + "type": "object" + } + ] + }, + "Region": { + "maxLength": 16, + "minLength": 4, + "pattern": "[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]", + "type": "string" + }, + "RelationalFilterConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "FilterExpressions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/FilterExpression" + }, + "type": "array" + }, + "SchemaName": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "DatabaseName" + ], + "type": "object" + }, + "RelationalFilterConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RelationalFilterConfiguration" + }, + "type": "array" + }, + "SageMakerRunConfigurationInput": { + "additionalProperties": false, + "properties": { + "TrackingAssets": { + "$ref": "#/definitions/TrackingAssets" + } + }, + "required": [ + "TrackingAssets" + ], + "type": "object" + }, + "ScheduleConfiguration": { + "additionalProperties": false, + "properties": { + "Schedule": { + "maxLength": 256, + "minLength": 1, + "pattern": "cron\\((\\b[0-5]?[0-9]\\b) (\\b2[0-3]\\b|\\b[0-1]?[0-9]\\b) (.*){1,5} (.*){1,5} (.*){1,5} (.*){1,5}\\)", + "type": "string" + }, + "Timezone": { + "$ref": "#/definitions/Timezone" + } + }, + "type": "object" + }, + "Timezone": { + "enum": [ + "AFRICA_JOHANNESBURG", + "AMERICA_MONTREAL", + "AMERICA_SAO_PAULO", + "ASIA_BAHRAIN", + "ASIA_BANGKOK", + "ASIA_CALCUTTA", + "ASIA_DUBAI", + "ASIA_HONG_KONG", + "ASIA_JAKARTA", + "ASIA_KUALA_LUMPUR", + "ASIA_SEOUL", + "ASIA_SHANGHAI", + "ASIA_SINGAPORE", + "ASIA_TAIPEI", + "ASIA_TOKYO", + "AUSTRALIA_MELBOURNE", + "AUSTRALIA_SYDNEY", + "CANADA_CENTRAL", + "CET", + "CST6CDT", + "ETC_GMT", + "ETC_GMT0", + "ETC_GMT_ADD_0", + "ETC_GMT_ADD_1", + "ETC_GMT_ADD_10", + "ETC_GMT_ADD_11", + "ETC_GMT_ADD_12", + "ETC_GMT_ADD_2", + "ETC_GMT_ADD_3", + "ETC_GMT_ADD_4", + "ETC_GMT_ADD_5", + "ETC_GMT_ADD_6", + "ETC_GMT_ADD_7", + "ETC_GMT_ADD_8", + "ETC_GMT_ADD_9", + "ETC_GMT_NEG_0", + "ETC_GMT_NEG_1", + "ETC_GMT_NEG_10", + "ETC_GMT_NEG_11", + "ETC_GMT_NEG_12", + "ETC_GMT_NEG_13", + "ETC_GMT_NEG_14", + "ETC_GMT_NEG_2", + "ETC_GMT_NEG_3", + "ETC_GMT_NEG_4", + "ETC_GMT_NEG_5", + "ETC_GMT_NEG_6", + "ETC_GMT_NEG_7", + "ETC_GMT_NEG_8", + "ETC_GMT_NEG_9", + "EUROPE_DUBLIN", + "EUROPE_LONDON", + "EUROPE_PARIS", + "EUROPE_STOCKHOLM", + "EUROPE_ZURICH", + "ISRAEL", + "MEXICO_GENERAL", + "MST7MDT", + "PACIFIC_AUCKLAND", + "US_CENTRAL", + "US_EASTERN", + "US_MOUNTAIN", + "US_PACIFIC", + "UTC" + ], + "type": "string" + }, + "TrackingAssets": { + "additionalProperties": false, + "maxProperties": 1, + "patternProperties": { + "^.{1,64}$": { + "items": { + "pattern": "^arn:aws[^:]*:sagemaker:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:[\\w+=,.@-]{1,128}/[\\w+=,.@-]{1,256}$", + "type": "string" + }, + "maxItems": 500, + "minItems": 0, + "type": "array" + } + }, + "type": "object" + }, + "TypeRevision": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/DomainId", + "/properties/Id" + ], + "properties": { + "AssetFormsInput": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/FormInput" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/DataSourceConfigurationInput" + }, + "CreatedAt": { + "format": "date-time", + "type": "string" + }, + "Description": { + "maxLength": 2048, + "type": "string" + }, + "DomainId": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "DomainIdentifier": { + "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "EnableSetting": { + "$ref": "#/definitions/EnableSetting" + }, + "EnvironmentId": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "EnvironmentIdentifier": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "Id": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "LastRunAssetCount": { + "type": "number" + }, + "LastRunAt": { + "type": "string" + }, + "LastRunStatus": { + "type": "string" + }, + "Name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "ProjectId": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "ProjectIdentifier": { + "pattern": "^[a-zA-Z0-9_-]{1,36}$", + "type": "string" + }, + "PublishOnImport": { + "type": "boolean" + }, + "Recommendation": { + "$ref": "#/definitions/RecommendationConfiguration" + }, + "Schedule": { + "$ref": "#/definitions/ScheduleConfiguration" + }, + "Status": { + "$ref": "#/definitions/DataSourceStatus" + }, + "Type": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "UpdatedAt": { + "format": "date-time", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/DomainId", + "/properties/EnvironmentId", + "/properties/Id", + "/properties/LastRunAssetCount", + "/properties/LastRunAt", + "/properties/LastRunStatus", + "/properties/ProjectId", + "/properties/Status", + "/properties/UpdatedAt" + ], + "required": [ + "Name", + "DomainIdentifier", + "ProjectIdentifier", + "EnvironmentIdentifier", + "Type" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::DataZone::DataSource", + "writeOnlyProperties": [ + "/properties/AssetFormsInput", + "/properties/EnvironmentIdentifier", + "/properties/DomainIdentifier", + "/properties/Configuration", + "/properties/ProjectIdentifier" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-projectmembership.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-projectmembership.json deleted file mode 100644 index 9edc2ab9e6..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-projectmembership.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainIdentifier", - "/properties/ProjectIdentifier", - "/properties/Member" - ], - "definitions": { - "Member": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "UserIdentifier": { - "type": "string" - } - }, - "required": [ - "UserIdentifier" - ], - "title": "UserIdentifier", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "GroupIdentifier": { - "type": "string" - } - }, - "required": [ - "GroupIdentifier" - ], - "title": "GroupIdentifier", - "type": "object" - } - ] - }, - "MemberIdentifierType": { - "enum": [ - "USER_IDENTIFIER", - "GROUP_IDENTIFIER" - ], - "type": "string" - }, - "UserDesignation": { - "enum": [ - "PROJECT_OWNER", - "PROJECT_CONTRIBUTOR", - "PROJECT_CATALOG_VIEWER", - "PROJECT_CATALOG_CONSUMER", - "PROJECT_CATALOG_STEWARD" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/DomainIdentifier", - "/properties/ProjectIdentifier" - ], - "properties": { - "Designation": { - "$ref": "#/definitions/UserDesignation" - }, - "DomainIdentifier": { - "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "Member": { - "$ref": "#/definitions/Member" - }, - "ProjectIdentifier": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - } - }, - "required": [ - "Designation", - "DomainIdentifier", - "ProjectIdentifier", - "Member" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", - "tagging": { - "taggable": false - }, - "typeName": "AWS::DataZone::ProjectMembership", - "writeOnlyProperties": [ - "/properties/Designation", - "/properties/Member" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-subscriptiontarget.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-subscriptiontarget.json deleted file mode 100644 index 801ae54398..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-subscriptiontarget.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Type", - "/properties/DomainIdentifier", - "/properties/EnvironmentIdentifier" - ], - "definitions": { - "SubscriptionTargetForm": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "FormName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?![0-9_])\\w+$|^_\\w*[a-zA-Z0-9]\\w*$", - "type": "string" - } - }, - "required": [ - "Content", - "FormName" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainId", - "/properties/EnvironmentId", - "/properties/Id" - ], - "properties": { - "ApplicableAssetTypes": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^\\.]*", - "type": "string" - }, - "type": "array" - }, - "AuthorizedPrincipals": { - "insertionOrder": false, - "items": { - "pattern": "^[a-zA-Z0-9:/_-]*$", - "type": "string" - }, - "maxItems": 10, - "minItems": 1, - "type": "array" - }, - "CreatedAt": { - "format": "date-time", - "type": "string" - }, - "CreatedBy": { - "type": "string" - }, - "DomainId": { - "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "DomainIdentifier": { - "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "EnvironmentId": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "EnvironmentIdentifier": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "Id": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "ManageAccessRole": { - "pattern": "^arn:aws(|-cn|-us-gov):iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$", - "type": "string" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "ProjectId": { - "pattern": "^[a-zA-Z0-9_-]{1,36}$", - "type": "string" - }, - "Provider": { - "type": "string" - }, - "SubscriptionTargetConfig": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubscriptionTargetForm" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "UpdatedAt": { - "format": "date-time", - "type": "string" - }, - "UpdatedBy": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/CreatedAt", - "/properties/CreatedBy", - "/properties/DomainId", - "/properties/EnvironmentId", - "/properties/Id", - "/properties/ProjectId", - "/properties/UpdatedAt", - "/properties/UpdatedBy" - ], - "required": [ - "ApplicableAssetTypes", - "AuthorizedPrincipals", - "DomainIdentifier", - "EnvironmentIdentifier", - "Name", - "SubscriptionTargetConfig", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::DataZone::SubscriptionTarget", - "writeOnlyProperties": [ - "/properties/DomainIdentifier", - "/properties/EnvironmentIdentifier" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-iotcoredeviceadvisor-suitedefinition.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-iotcoredeviceadvisor-suitedefinition.json deleted file mode 100644 index 9f370d1035..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-iotcoredeviceadvisor-suitedefinition.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "DevicePermissionRoleArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "DeviceUnderTest": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "ThingArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - } - }, - "type": "object" - }, - "Devices": { - "items": { - "$ref": "#/definitions/DeviceUnderTest" - }, - "maxItems": 2, - "minItems": 0, - "type": "array" - }, - "IntendedForQualification": { - "type": "boolean" - }, - "RootGroup": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "SuiteDefinitionName": { - "maxLength": 256, - "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" - } - }, - "primaryIdentifier": [ - "/properties/SuiteDefinitionId" - ], - "properties": { - "SuiteDefinitionArn": { - "maxLength": 2048, - "minLength": 20, - "type": "string" - }, - "SuiteDefinitionConfiguration": { - "additionalProperties": false, - "properties": { - "DevicePermissionRoleArn": { - "$ref": "#/definitions/DevicePermissionRoleArn" - }, - "Devices": { - "$ref": "#/definitions/Devices" - }, - "IntendedForQualification": { - "$ref": "#/definitions/IntendedForQualification" - }, - "RootGroup": { - "$ref": "#/definitions/RootGroup" - }, - "SuiteDefinitionName": { - "$ref": "#/definitions/SuiteDefinitionName" - } - }, - "required": [ - "DevicePermissionRoleArn", - "RootGroup" - ], - "type": "object" - }, - "SuiteDefinitionId": { - "maxLength": 36, - "minLength": 12, - "type": "string" - }, - "SuiteDefinitionVersion": { - "maxLength": 255, - "minLength": 2, - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/SuiteDefinitionId", - "/properties/SuiteDefinitionArn", - "/properties/SuiteDefinitionVersion" - ], - "required": [ - "SuiteDefinitionConfiguration" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-device-advisor.git", - "typeName": "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-logs-accountpolicy.json deleted file mode 100644 index cd06e8b930..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-logs-accountpolicy.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/PolicyType" - ], - "primaryIdentifier": [ - "/properties/AccountId", - "/properties/PolicyType", - "/properties/PolicyName" - ], - "properties": { - "AccountId": { - "pattern": "^\\d{12}$", - "type": "string" - }, - "PolicyDocument": { - "maxLength": 30720, - "minLength": 1, - "type": "string" - }, - "PolicyName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[^:*]{1,256}$", - "type": "string" - }, - "PolicyType": { - "enum": [ - "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" - ], - "type": "string" - }, - "Scope": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "SelectionCriteria": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/AccountId" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "PolicyName", - "PolicyType", - "PolicyDocument" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::Logs::AccountPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-quicksight-dataset.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-quicksight-dataset.json deleted file mode 100644 index ba48a3b834..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-quicksight-dataset.json +++ /dev/null @@ -1,1392 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AwsAccountId", - "/properties/DataSetId" - ], - "definitions": { - "CalculatedColumn": { - "additionalProperties": false, - "properties": { - "ColumnId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "ColumnName": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "Expression": { - "maxLength": 250000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ColumnId", - "ColumnName", - "Expression" - ], - "type": "object" - }, - "CastColumnTypeOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "Format": { - "maxLength": 32, - "minLength": 0, - "type": "string" - }, - "NewColumnType": { - "$ref": "#/definitions/ColumnDataType" - }, - "SubType": { - "$ref": "#/definitions/ColumnDataSubType" - } - }, - "required": [ - "ColumnName", - "NewColumnType" - ], - "type": "object" - }, - "ColumnDataSubType": { - "enum": [ - "FLOAT", - "FIXED" - ], - "type": "string" - }, - "ColumnDataType": { - "enum": [ - "STRING", - "INTEGER", - "DECIMAL", - "DATETIME" - ], - "type": "string" - }, - "ColumnDescription": { - "additionalProperties": false, - "properties": { - "Text": { - "maxLength": 500, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "ColumnGroup": { - "additionalProperties": false, - "properties": { - "GeoSpatialColumnGroup": { - "$ref": "#/definitions/GeoSpatialColumnGroup" - } - }, - "type": "object" - }, - "ColumnLevelPermissionRule": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "Principals": { - "items": { - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array" - } - }, - "type": "object" - }, - "ColumnTag": { - "additionalProperties": false, - "properties": { - "ColumnDescription": { - "$ref": "#/definitions/ColumnDescription" - }, - "ColumnGeographicRole": { - "$ref": "#/definitions/GeoSpatialDataRole" - } - }, - "type": "object" - }, - "ColumnTagName": { - "enum": [ - "COLUMN_GEOGRAPHIC_ROLE", - "COLUMN_DESCRIPTION" - ], - "type": "string" - }, - "CreateColumnsOperation": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/CalculatedColumn" - }, - "maxItems": 128, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "Columns" - ], - "type": "object" - }, - "CustomSql": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/InputColumn" - }, - "maxItems": 2048, - "minItems": 1, - "type": "array" - }, - "DataSourceArn": { - "type": "string" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "SqlQuery": { - "maxLength": 168000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "DataSourceArn", - "Name", - "SqlQuery" - ], - "type": "object" - }, - "DataSetImportMode": { - "enum": [ - "SPICE", - "DIRECT_QUERY" - ], - "type": "string" - }, - "DataSetRefreshProperties": { - "additionalProperties": false, - "properties": { - "RefreshConfiguration": { - "$ref": "#/definitions/RefreshConfiguration" - } - }, - "type": "object" - }, - "DataSetUsageConfiguration": { - "additionalProperties": false, - "properties": { - "DisableUseAsDirectQuerySource": { - "default": false, - "type": "boolean" - }, - "DisableUseAsImportedSource": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "DatasetParameter": { - "additionalProperties": false, - "properties": { - "DateTimeDatasetParameter": { - "$ref": "#/definitions/DateTimeDatasetParameter" - }, - "DecimalDatasetParameter": { - "$ref": "#/definitions/DecimalDatasetParameter" - }, - "IntegerDatasetParameter": { - "$ref": "#/definitions/IntegerDatasetParameter" - }, - "StringDatasetParameter": { - "$ref": "#/definitions/StringDatasetParameter" - } - }, - "type": "object" - }, - "DatasetParameterValueType": { - "enum": [ - "MULTI_VALUED", - "SINGLE_VALUED" - ], - "type": "string" - }, - "DateTimeDatasetParameter": { - "additionalProperties": false, - "properties": { - "DefaultValues": { - "$ref": "#/definitions/DateTimeDatasetParameterDefaultValues" - }, - "Id": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "Name": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "TimeGranularity": { - "$ref": "#/definitions/TimeGranularity" - }, - "ValueType": { - "$ref": "#/definitions/DatasetParameterValueType" - } - }, - "required": [ - "Id", - "Name", - "ValueType" - ], - "type": "object" - }, - "DateTimeDatasetParameterDefaultValues": { - "additionalProperties": false, - "properties": { - "StaticValues": { - "items": { - "type": "string" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - }, - "DecimalDatasetParameter": { - "additionalProperties": false, - "properties": { - "DefaultValues": { - "$ref": "#/definitions/DecimalDatasetParameterDefaultValues" - }, - "Id": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "Name": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "ValueType": { - "$ref": "#/definitions/DatasetParameterValueType" - } - }, - "required": [ - "Id", - "Name", - "ValueType" - ], - "type": "object" - }, - "DecimalDatasetParameterDefaultValues": { - "additionalProperties": false, - "properties": { - "StaticValues": { - "items": { - "default": 0, - "type": "number" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - }, - "FieldFolder": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "type": "string" - }, - "maxItems": 5000, - "minItems": 0, - "type": "array" - }, - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "FieldFolderMap": { - "additionalProperties": false, - "patternProperties": { - ".+": { - "$ref": "#/definitions/FieldFolder" - } - }, - "type": "object" - }, - "FileFormat": { - "enum": [ - "CSV", - "TSV", - "CLF", - "ELF", - "XLSX", - "JSON" - ], - "type": "string" - }, - "FilterOperation": { - "additionalProperties": false, - "properties": { - "ConditionExpression": { - "maxLength": 4096, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ConditionExpression" - ], - "type": "object" - }, - "GeoSpatialColumnGroup": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "CountryCode": { - "$ref": "#/definitions/GeoSpatialCountryCode" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Columns", - "Name" - ], - "type": "object" - }, - "GeoSpatialCountryCode": { - "enum": [ - "US" - ], - "type": "string" - }, - "GeoSpatialDataRole": { - "enum": [ - "COUNTRY", - "STATE", - "COUNTY", - "CITY", - "POSTCODE", - "LONGITUDE", - "LATITUDE", - "POLITICAL1", - "CENSUS_TRACT", - "CENSUS_BLOCK_GROUP", - "CENSUS_BLOCK" - ], - "type": "string" - }, - "IncrementalRefresh": { - "additionalProperties": false, - "properties": { - "LookbackWindow": { - "$ref": "#/definitions/LookbackWindow" - } - }, - "required": [ - "LookbackWindow" - ], - "type": "object" - }, - "IngestionWaitPolicy": { - "additionalProperties": false, - "properties": { - "IngestionWaitTimeInHours": { - "default": 36, - "maximum": 36, - "minimum": 1, - "type": "number" - }, - "WaitForSpiceIngestion": { - "default": true, - "type": "boolean" - } - }, - "type": "object" - }, - "InputColumn": { - "additionalProperties": false, - "properties": { - "Name": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "SubType": { - "$ref": "#/definitions/ColumnDataSubType" - }, - "Type": { - "$ref": "#/definitions/InputColumnDataType" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "InputColumnDataType": { - "enum": [ - "STRING", - "INTEGER", - "DECIMAL", - "DATETIME", - "BIT", - "BOOLEAN", - "JSON" - ], - "type": "string" - }, - "IntegerDatasetParameter": { - "additionalProperties": false, - "properties": { - "DefaultValues": { - "$ref": "#/definitions/IntegerDatasetParameterDefaultValues" - }, - "Id": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "Name": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "ValueType": { - "$ref": "#/definitions/DatasetParameterValueType" - } - }, - "required": [ - "Id", - "Name", - "ValueType" - ], - "type": "object" - }, - "IntegerDatasetParameterDefaultValues": { - "additionalProperties": false, - "properties": { - "StaticValues": { - "items": { - "default": 0, - "type": "number" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - }, - "JoinInstruction": { - "additionalProperties": false, - "properties": { - "LeftJoinKeyProperties": { - "$ref": "#/definitions/JoinKeyProperties" - }, - "LeftOperand": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9a-zA-Z-]*$", - "type": "string" - }, - "OnClause": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "RightJoinKeyProperties": { - "$ref": "#/definitions/JoinKeyProperties" - }, - "RightOperand": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9a-zA-Z-]*$", - "type": "string" - }, - "Type": { - "$ref": "#/definitions/JoinType" - } - }, - "required": [ - "LeftOperand", - "OnClause", - "RightOperand", - "Type" - ], - "type": "object" - }, - "JoinKeyProperties": { - "additionalProperties": false, - "properties": { - "UniqueKey": { - "type": "boolean" - } - }, - "type": "object" - }, - "JoinType": { - "enum": [ - "INNER", - "OUTER", - "LEFT", - "RIGHT" - ], - "type": "string" - }, - "LogicalTable": { - "additionalProperties": false, - "properties": { - "Alias": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "DataTransforms": { - "items": { - "$ref": "#/definitions/TransformOperation" - }, - "maxItems": 2048, - "minItems": 1, - "type": "array" - }, - "Source": { - "$ref": "#/definitions/LogicalTableSource" - } - }, - "required": [ - "Alias" - ], - "type": "object" - }, - "LogicalTableMap": { - "additionalProperties": false, - "maxProperties": 64, - "minProperties": 1, - "patternProperties": { - "^[0-9a-zA-Z-]*$": { - "$ref": "#/definitions/LogicalTable" - } - }, - "type": "object" - }, - "LogicalTableSource": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "JoinInstruction": { - "$ref": "#/definitions/JoinInstruction" - }, - "PhysicalTableId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[0-9a-zA-Z-]*$", - "type": "string" - } - }, - "type": "object" - }, - "LookbackWindow": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "Size": { - "default": 0, - "minimum": 1, - "type": "number" - }, - "SizeUnit": { - "$ref": "#/definitions/LookbackWindowSizeUnit" - } - }, - "required": [ - "ColumnName", - "Size", - "SizeUnit" - ], - "type": "object" - }, - "LookbackWindowSizeUnit": { - "enum": [ - "HOUR", - "DAY", - "WEEK" - ], - "type": "string" - }, - "NewDefaultValues": { - "additionalProperties": false, - "properties": { - "DateTimeStaticValues": { - "items": { - "type": "string" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - }, - "DecimalStaticValues": { - "items": { - "default": 0, - "type": "number" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - }, - "IntegerStaticValues": { - "items": { - "default": 0, - "type": "number" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - }, - "StringStaticValues": { - "items": { - "maxLength": 512, - "minLength": 0, - "type": "string" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - }, - "OutputColumn": { - "additionalProperties": false, - "properties": { - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "Name": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "SubType": { - "$ref": "#/definitions/ColumnDataSubType" - }, - "Type": { - "$ref": "#/definitions/ColumnDataType" - } - }, - "type": "object" - }, - "OverrideDatasetParameterOperation": { - "additionalProperties": false, - "properties": { - "NewDefaultValues": { - "$ref": "#/definitions/NewDefaultValues" - }, - "NewParameterName": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "ParameterName": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - } - }, - "required": [ - "ParameterName" - ], - "type": "object" - }, - "PerformanceConfiguration": { - "additionalProperties": false, - "properties": { - "UniqueKeys": { - "items": { - "$ref": "#/definitions/UniqueKey" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "type": "object" - }, - "PhysicalTable": { - "additionalProperties": false, - "properties": { - "CustomSql": { - "$ref": "#/definitions/CustomSql" - }, - "RelationalTable": { - "$ref": "#/definitions/RelationalTable" - }, - "S3Source": { - "$ref": "#/definitions/S3Source" - } - }, - "type": "object" - }, - "PhysicalTableMap": { - "additionalProperties": false, - "maxProperties": 32, - "minProperties": 0, - "patternProperties": { - "^[0-9a-zA-Z-]*$": { - "$ref": "#/definitions/PhysicalTable" - } - }, - "type": "object" - }, - "ProjectOperation": { - "additionalProperties": false, - "properties": { - "ProjectedColumns": { - "items": { - "type": "string" - }, - "maxItems": 2000, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "ProjectedColumns" - ], - "type": "object" - }, - "RefreshConfiguration": { - "additionalProperties": false, - "properties": { - "IncrementalRefresh": { - "$ref": "#/definitions/IncrementalRefresh" - } - }, - "required": [ - "IncrementalRefresh" - ], - "type": "object" - }, - "RelationalTable": { - "additionalProperties": false, - "properties": { - "Catalog": { - "maxLength": 256, - "minLength": 0, - "type": "string" - }, - "DataSourceArn": { - "type": "string" - }, - "InputColumns": { - "items": { - "$ref": "#/definitions/InputColumn" - }, - "maxItems": 2048, - "minItems": 1, - "type": "array" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Schema": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "DataSourceArn", - "Name" - ], - "type": "object" - }, - "RenameColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "NewColumnName": { - "maxLength": 127, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ColumnName", - "NewColumnName" - ], - "type": "object" - }, - "ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "maxItems": 20, - "minItems": 1, - "type": "array" - }, - "Principal": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "RowLevelPermissionDataSet": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FormatVersion": { - "$ref": "#/definitions/RowLevelPermissionFormatVersion" - }, - "Namespace": { - "maxLength": 64, - "minLength": 0, - "pattern": "^[a-zA-Z0-9._-]*$", - "type": "string" - }, - "PermissionPolicy": { - "$ref": "#/definitions/RowLevelPermissionPolicy" - }, - "Status": { - "$ref": "#/definitions/Status" - } - }, - "required": [ - "Arn", - "PermissionPolicy" - ], - "type": "object" - }, - "RowLevelPermissionFormatVersion": { - "enum": [ - "VERSION_1", - "VERSION_2" - ], - "type": "string" - }, - "RowLevelPermissionPolicy": { - "enum": [ - "GRANT_ACCESS", - "DENY_ACCESS" - ], - "type": "string" - }, - "RowLevelPermissionTagConfiguration": { - "additionalProperties": false, - "properties": { - "Status": { - "$ref": "#/definitions/Status" - }, - "TagRuleConfigurations": { - "items": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "TagRules": { - "items": { - "$ref": "#/definitions/RowLevelPermissionTagRule" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "TagRules" - ], - "type": "object" - }, - "RowLevelPermissionTagRule": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "MatchAllValue": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "TagKey": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "TagMultiValueDelimiter": { - "maxLength": 10, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "ColumnName", - "TagKey" - ], - "type": "object" - }, - "S3Source": { - "additionalProperties": false, - "properties": { - "DataSourceArn": { - "type": "string" - }, - "InputColumns": { - "items": { - "$ref": "#/definitions/InputColumn" - }, - "maxItems": 2048, - "minItems": 1, - "type": "array" - }, - "UploadSettings": { - "$ref": "#/definitions/UploadSettings" - } - }, - "required": [ - "DataSourceArn", - "InputColumns" - ], - "type": "object" - }, - "Status": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StringDatasetParameter": { - "additionalProperties": false, - "properties": { - "DefaultValues": { - "$ref": "#/definitions/StringDatasetParameterDefaultValues" - }, - "Id": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "Name": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "ValueType": { - "$ref": "#/definitions/DatasetParameterValueType" - } - }, - "required": [ - "Id", - "Name", - "ValueType" - ], - "type": "object" - }, - "StringDatasetParameterDefaultValues": { - "additionalProperties": false, - "properties": { - "StaticValues": { - "items": { - "maxLength": 512, - "minLength": 0, - "type": "string" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/ColumnTag" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "ColumnName", - "Tags" - ], - "type": "object" - }, - "TextQualifier": { - "enum": [ - "DOUBLE_QUOTE", - "SINGLE_QUOTE" - ], - "type": "string" - }, - "TimeGranularity": { - "enum": [ - "YEAR", - "QUARTER", - "MONTH", - "WEEK", - "DAY", - "HOUR", - "MINUTE", - "SECOND", - "MILLISECOND" - ], - "type": "string" - }, - "TransformOperation": { - "additionalProperties": false, - "properties": { - "CastColumnTypeOperation": { - "$ref": "#/definitions/CastColumnTypeOperation" - }, - "CreateColumnsOperation": { - "$ref": "#/definitions/CreateColumnsOperation" - }, - "FilterOperation": { - "$ref": "#/definitions/FilterOperation" - }, - "OverrideDatasetParameterOperation": { - "$ref": "#/definitions/OverrideDatasetParameterOperation" - }, - "ProjectOperation": { - "$ref": "#/definitions/ProjectOperation" - }, - "RenameColumnOperation": { - "$ref": "#/definitions/RenameColumnOperation" - }, - "TagColumnOperation": { - "$ref": "#/definitions/TagColumnOperation" - }, - "UntagColumnOperation": { - "$ref": "#/definitions/UntagColumnOperation" - } - }, - "type": "object" - }, - "UniqueKey": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "ColumnNames" - ], - "type": "object" - }, - "UntagColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "TagNames": { - "items": { - "$ref": "#/definitions/ColumnTagName" - }, - "type": "array" - } - }, - "required": [ - "ColumnName", - "TagNames" - ], - "type": "object" - }, - "UploadSettings": { - "additionalProperties": false, - "properties": { - "ContainsHeader": { - "type": "boolean" - }, - "Delimiter": { - "maxLength": 1, - "minLength": 1, - "type": "string" - }, - "Format": { - "$ref": "#/definitions/FileFormat" - }, - "StartFromRow": { - "minimum": 1, - "type": "number" - }, - "TextQualifier": { - "$ref": "#/definitions/TextQualifier" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/AwsAccountId", - "/properties/DataSetId" - ], - "properties": { - "Arn": { - "type": "string" - }, - "AwsAccountId": { - "maxLength": 12, - "minLength": 12, - "pattern": "^[0-9]{12}$", - "type": "string" - }, - "ColumnGroups": { - "items": { - "$ref": "#/definitions/ColumnGroup" - }, - "maxItems": 8, - "minItems": 1, - "type": "array" - }, - "ColumnLevelPermissionRules": { - "items": { - "$ref": "#/definitions/ColumnLevelPermissionRule" - }, - "minItems": 1, - "type": "array" - }, - "ConsumedSpiceCapacityInBytes": { - "default": 0, - "type": "number" - }, - "CreatedTime": { - "format": "string", - "type": "string" - }, - "DataSetId": { - "type": "string" - }, - "DataSetRefreshProperties": { - "$ref": "#/definitions/DataSetRefreshProperties" - }, - "DataSetUsageConfiguration": { - "$ref": "#/definitions/DataSetUsageConfiguration" - }, - "DatasetParameters": { - "items": { - "$ref": "#/definitions/DatasetParameter" - }, - "maxItems": 32, - "minItems": 0, - "type": "array" - }, - "FieldFolders": { - "$ref": "#/definitions/FieldFolderMap" - }, - "FolderArns": { - "items": { - "type": "string" - }, - "maxItems": 10, - "minItems": 0, - "type": "array" - }, - "ImportMode": { - "$ref": "#/definitions/DataSetImportMode" - }, - "IngestionWaitPolicy": { - "$ref": "#/definitions/IngestionWaitPolicy" - }, - "LastUpdatedTime": { - "format": "string", - "type": "string" - }, - "LogicalTableMap": { - "$ref": "#/definitions/LogicalTableMap" - }, - "Name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "OutputColumns": { - "items": { - "$ref": "#/definitions/OutputColumn" - }, - "type": "array" - }, - "PerformanceConfiguration": { - "$ref": "#/definitions/PerformanceConfiguration" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/ResourcePermission" - }, - "maxItems": 64, - "minItems": 1, - "type": "array" - }, - "PhysicalTableMap": { - "$ref": "#/definitions/PhysicalTableMap" - }, - "RowLevelPermissionDataSet": { - "$ref": "#/definitions/RowLevelPermissionDataSet" - }, - "RowLevelPermissionTagConfiguration": { - "$ref": "#/definitions/RowLevelPermissionTagConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 1, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ConsumedSpiceCapacityInBytes", - "/properties/CreatedTime", - "/properties/LastUpdatedTime", - "/properties/OutputColumns" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::QuickSight::DataSet", - "writeOnlyProperties": [ - "/properties/FieldFolders", - "/properties/IngestionWaitPolicy", - "/properties/FolderArns" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbcluster.json new file mode 100644 index 0000000000..4e5428d4a2 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbcluster.json @@ -0,0 +1,406 @@ +{ + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/Engine", + "/properties/GlobalClusterIdentifier", + "/properties/MasterUsername" + ], + "createOnlyProperties": [ + "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", + "/properties/DBClusterIdentifier", + "/properties/DBSubnetGroupName", + "/properties/DBSystemId", + "/properties/DatabaseName", + "/properties/EngineMode", + "/properties/KmsKeyId", + "/properties/PubliclyAccessible", + "/properties/RestoreToTime", + "/properties/RestoreType", + "/properties/SnapshotIdentifier", + "/properties/SourceDBClusterIdentifier", + "/properties/SourceRegion", + "/properties/StorageEncrypted", + "/properties/UseLatestRestorableTime" + ], + "definitions": { + "DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + } + }, + "type": "object" + }, + "ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + }, + "SecondsBeforeTimeout": { + "type": "integer" + }, + "SecondsUntilAutoPause": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + } + }, + "type": "object" + }, + "ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DBClusterIdentifier" + ], + "properties": { + "AllocatedStorage": { + "type": "integer" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/DBClusterRole" + }, + "type": "array", + "uniqueItems": true + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "BacktrackWindow": { + "minimum": 0, + "type": "integer" + }, + "BackupRetentionPeriod": { + "default": 1, + "maximum": 35, + "minimum": 1, + "type": "integer" + }, + "ClusterScalabilityType": { + "enum": [ + "limitless", + "standard" + ], + "type": "string" + }, + "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": { + "type": "string" + }, + "DBClusterResourceId": { + "type": "string" + }, + "DBInstanceParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EnableGlobalWriteForwarding": { + "type": "boolean" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "maxLength": 63, + "minLength": 0, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "minLength": 1, + "pattern": "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "type": "string" + }, + "MonitoringInterval": { + "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": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBCluster", + "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", + "/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_2/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbinstance.json new file mode 100644 index 0000000000..71fda608fe --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-rds-dbinstance.json @@ -0,0 +1,530 @@ +{ + "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/SourceRegion", + "/properties/StorageEncrypted", + "/properties/Timezone" + ], + "definitions": { + "CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "type": "string" + }, + "ValidTill": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "type": "object" + }, + "ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "enum": [ + "coreCount", + "threadsPerCore" + ], + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + } + }, + "dependencies": { + "KmsKeyId": { + "properties": { + "StorageEncrypted": { + "enum": [ + "true", + "True", + true + ] + } + }, + "required": [ + "StorageEncrypted" + ] + } + }, + "dependentExcluded": { + "SourceDBInstanceIdentifier": [ + "CharacterSetName", + "MasterUserPassword", + "MasterUsername", + "StorageEncrypted" + ] + }, + "deprecatedProperties": [ + "/properties/TdeCredentialArn", + "/properties/TdeCredentialPassword" + ], + "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": { + "maximum": 35, + "minimum": 0, + "type": "integer" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateDetails": { + "$ref": "#/definitions/CertificateDetails" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "type": "string" + }, + "DBInstanceArn": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "maxLength": 63, + "minLength": 1, + "pattern": "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DBSystemId": { + "type": "string" + }, + "DbiResourceId": { + "type": "string" + }, + "DedicatedLogVolume": { + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainAuthSecretArn": { + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainFqdn": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "DomainOu": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/Endpoint" + }, + "Engine": { + "type": "string" + }, + "EngineLifecycleSupport": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "integer" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "ManageMasterUserPassword": { + "type": "boolean" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/MasterUserSecret" + }, + "MasterUsername": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,127}$", + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "integer" + }, + "MonitoringInterval": { + "type": "integer" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "NcharCharacterSetName": { + "type": "string" + }, + "NetworkType": { + "type": "string" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "enum": [ + 7, + 31, + 62, + 93, + 124, + 155, + 186, + 217, + 248, + 279, + 310, + 341, + 372, + 403, + 434, + 465, + 496, + 527, + 558, + 589, + 620, + 651, + 682, + 713, + 731 + ], + "type": "integer" + }, + "Port": { + "pattern": "^\\d*$", + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "maximum": 15, + "minimum": 0, + "type": "integer" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicaMode": { + "enum": [ + "mounted", + "open-read-only" + ], + "type": "string" + }, + "RestoreTime": { + "format": "date-time", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceDbiResourceId": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageThroughput": { + "type": "integer" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TdeCredentialArn": { + "type": "string" + }, + "TdeCredentialPassword": { + "type": "string" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBClusterSnapshotIdentifier": "$lowercase(DBClusterSnapshotIdentifier)", + "/properties/DBInstanceIdentifier": "$lowercase(DBInstanceIdentifier)", + "/properties/DBName": "$lowercase(DBName) $OR $uppercase(DBName)", + "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", + "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", + "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/Engine": "$lowercase(Engine)", + "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType": "$lowercase(NetworkType)", + "/properties/OptionGroupName": "$lowercase(OptionGroupName)", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?: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", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RDS::DBInstance", + "writeOnlyProperties": [ + "/properties/AllowMajorVersionUpgrade", + "/properties/AutomaticBackupReplicationKmsKeyId", + "/properties/CertificateRotationRestart", + "/properties/DBSnapshotIdentifier", + "/properties/DeleteAutomatedBackups", + "/properties/MasterUserPassword", + "/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_2/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-domain.json new file mode 100644 index 0000000000..a6255dc5a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-domain.json @@ -0,0 +1,899 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/AuthMode", + "/properties/DomainName", + "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", + "/properties/KmsKeyId", + "/properties/VpcId", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceSettings": { + "additionalProperties": false, + "properties": { + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "DockerSettings": { + "additionalProperties": false, + "properties": { + "EnableDockerAccess": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "VpcOnlyTrustedAccounts": { + "insertionOrder": false, + "items": { + "maxLength": 12, + "minLength": 12, + "pattern": "^\\d+$", + "type": "string" + }, + "maxItems": 20, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "type": "string" + }, + "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" + }, + "FSxLustreFileSystemConfig": { + "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" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "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" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RSessionAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 200, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "RStudioServerProDomainSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "DomainExecutionRoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "RStudioConnectUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "pattern": "^(https:|http:|www\\.)\\S*", + "type": "string" + } + }, + "required": [ + "DomainExecutionRoleArn" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "required": [ + "ExecutionRole" + ], + "type": "object" + } + }, + "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 + }, + "TagPropagation": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "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_2/aws-sagemaker-partnerapp.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-partnerapp.json deleted file mode 100644 index ffd296a890..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-partnerapp.json +++ /dev/null @@ -1,173 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type", - "/properties/ExecutionRoleArn", - "/properties/AuthType" - ], - "definitions": { - "PartnerAppAdminUserList": { - "additionalProperties": false, - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "PartnerAppConfig": { - "additionalProperties": false, - "properties": { - "AdminUsers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PartnerAppAdminUserList" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "Arguments": { - "additionalProperties": false, - "maxProperties": 5, - "patternProperties": { - "^(?!\\s*$).{1,256}$": { - "maxLength": 1024, - "pattern": "^.{0,1024}$", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "PartnerAppMaintenanceConfig": { - "additionalProperties": false, - "properties": { - "MaintenanceWindowStart": { - "maxLength": 9, - "pattern": "(Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\\d|2[0-3]):([0-5]\\d)", - "type": "string" - } - }, - "required": [ - "MaintenanceWindowStart" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "ApplicationConfig": { - "$ref": "#/definitions/PartnerAppConfig" - }, - "Arn": { - "maxLength": 128, - "minLength": 1, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:partner-app/app-[A-Z0-9]{12}$", - "type": "string" - }, - "AuthType": { - "enum": [ - "IAM" - ], - "type": "string" - }, - "BaseUrl": { - "maxLength": 2048, - "type": "string" - }, - "ClientToken": { - "maxLength": 36, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-]+$", - "type": "string" - }, - "EnableIamSessionBasedIdentity": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "MaintenanceConfig": { - "$ref": "#/definitions/PartnerAppMaintenanceConfig" - }, - "Name": { - "maxLength": 256, - "minLength": 1, - "pattern": "^[a-zA-Z0-9]+", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "Tier": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Type": { - "enum": [ - "lakera-guard", - "comet", - "deepchecks-llm-evaluation", - "fiddler" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/BaseUrl" - ], - "required": [ - "Name", - "Type", - "AuthType", - "ExecutionRoleArn", - "Tier" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::SageMaker::PartnerApp", - "writeOnlyProperties": [ - "/properties/ClientToken" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-space.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-space.json new file mode 100644 index 0000000000..20d6fd227f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-space.json @@ -0,0 +1,475 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/SpaceName", + "/properties/SpaceSharingSettings", + "/properties/OwnershipSettings" + ], + "definitions": { + "AppType": { + "enum": [ + "JupyterServer", + "KernelGateway", + "TensorBoard", + "RStudioServerPro", + "RSessionGateway", + "JupyterLab", + "CodeEditor" + ], + "type": "string" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystem": { + "additionalProperties": false, + "properties": { + "EFSFileSystem": { + "$ref": "#/definitions/EFSFileSystem" + }, + "FSxLustreFileSystem": { + "$ref": "#/definitions/FSxLustreFileSystem" + } + }, + "type": "object" + }, + "CustomFileSystems": { + "items": { + "$ref": "#/definitions/CustomFileSystem" + }, + "maxItems": 1, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "EFSFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "EbsStorageSettings": { + "additionalProperties": false, + "properties": { + "EbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "EbsVolumeSizeInGb" + ], + "type": "object" + }, + "FSxLustreFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "OwnershipSettings": { + "additionalProperties": false, + "properties": { + "OwnerUserProfileName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + } + }, + "required": [ + "OwnerUserProfileName" + ], + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceAppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/SpaceIdleSettings" + } + }, + "type": "object" + }, + "SpaceCodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "SpaceIdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + } + }, + "type": "object" + }, + "SpaceJupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + } + }, + "type": "object" + }, + "SpaceSettings": { + "additionalProperties": false, + "properties": { + "AppType": { + "$ref": "#/definitions/AppType" + }, + "CodeEditorAppSettings": { + "$ref": "#/definitions/SpaceCodeEditorAppSettings" + }, + "CustomFileSystems": { + "$ref": "#/definitions/CustomFileSystems" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/SpaceJupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/SpaceStorageSettings" + } + }, + "type": "object" + }, + "SpaceSharingSettings": { + "additionalProperties": false, + "properties": { + "SharingType": { + "enum": [ + "Private", + "Shared" + ], + "type": "string" + } + }, + "required": [ + "SharingType" + ], + "type": "object" + }, + "SpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "EbsStorageSettings": { + "$ref": "#/definitions/EbsStorageSettings" + } + }, + "type": "object" + }, + "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, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/DomainId", + "/properties/SpaceName" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "OwnershipSettings": { + "$ref": "#/definitions/OwnershipSettings" + }, + "SpaceArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:space/.*", + "type": "string" + }, + "SpaceDisplayName": { + "maxLength": 64, + "pattern": "^(?!\\s*$).+", + "type": "string" + }, + "SpaceName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "SpaceSettings": { + "$ref": "#/definitions/SpaceSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + }, + "SpaceSharingSettings": { + "$ref": "#/definitions/SpaceSharingSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "Url": { + "maxLength": 1024, + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/SpaceArn", + "/properties/Url" + ], + "required": [ + "DomainId", + "SpaceName" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SageMaker::Space", + "writeOnlyProperties": [ + "/properties/SpaceSettings" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-userprofile.json new file mode 100644 index 0000000000..2d4d1a2f88 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-userprofile.json @@ -0,0 +1,662 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/DomainId", + "/properties/UserProfileName", + "/properties/SingleSignOnUserIdentifier", + "/properties/SingleSignOnUserValue", + "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", + "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", + "/properties/Tags" + ], + "definitions": { + "AppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/IdleSettings" + } + }, + "type": "object" + }, + "AppType": { + "enum": [ + "JupyterServer", + "TensorBoard", + "RStudioServerPro", + "JupyterLab", + "CodeEditor", + "DetailedProfiler", + "Canvas" + ], + "type": "string" + }, + "CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "maxLength": 256, + "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" + } + }, + "type": "object" + }, + "CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "ImageName": { + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", + "type": "string" + }, + "ImageVersionNumber": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "maximum": 4000000, + "minimum": 1001, + "type": "integer" + }, + "Uid": { + "maximum": 4000000, + "minimum": 10000, + "type": "integer" + } + }, + "required": [ + "Uid", + "Gid" + ], + "type": "object" + }, + "DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb": { + "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "maxLength": 21, + "minLength": 11, + "pattern": "^(fs-[0-9a-f]{8,})$", + "type": "string" + }, + "FileSystemPath": { + "maxLength": 256, + "minLength": 1, + "pattern": "^\\/\\S*$", + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "FSxLustreFileSystemConfig": { + "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" + }, + "IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "$ref": "#/definitions/IdleTimeoutInMinutes" + }, + "LifecycleManagement": { + "$ref": "#/definitions/LifecycleManagement" + }, + "MaxIdleTimeoutInMinutes": { + "$ref": "#/definitions/MaxIdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes": { + "$ref": "#/definitions/MinIdleTimeoutInMinutes" + } + }, + "type": "object" + }, + "IdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/CodeRepository" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/CustomImage" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "$ref": "#/definitions/StudioLifecycleConfigArn" + }, + "maxItems": 30, + "minItems": 0, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LifecycleManagement": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "MaxIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MinIdleTimeoutInMinutes": { + "maximum": 525600, + "minimum": 60, + "type": "integer" + }, + "MlTools": { + "enum": [ + "DataWrangler", + "FeatureStore", + "EmrClusters", + "AutoMl", + "Experiments", + "Training", + "ModelEvaluation", + "Pipelines", + "Models", + "JumpStart", + "InferenceRecommender", + "Endpoints", + "Projects", + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" + ], + "type": "string" + }, + "RStudioServerProAppSettings": { + "additionalProperties": false, + "properties": { + "AccessStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "UserGroup": { + "enum": [ + "R_STUDIO_ADMIN", + "R_STUDIO_USER" + ], + "type": "string" + } + }, + "type": "object" + }, + "ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "enum": [ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.p3dn.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.geospatial.interactive", + "ml.trn1.2xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge" + ], + "type": "string" + }, + "LifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "SageMakerImageArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", + "type": "string" + }, + "SageMakerImageVersionArn": { + "maxLength": 256, + "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", + "type": "string" + } + }, + "type": "object" + }, + "SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "enum": [ + "Allowed", + "Disabled" + ], + "type": "string" + }, + "S3KmsKeyId": { + "maxLength": 2048, + "pattern": ".*", + "type": "string" + }, + "S3OutputPath": { + "maxLength": 1024, + "pattern": "^(https|s3)://([^/]+)/?(.*)$", + "type": "string" + } + }, + "type": "object" + }, + "SpaceEbsVolumeSizeInGb": { + "maximum": 16384, + "minimum": 5, + "type": "integer" + }, + "StudioLifecycleConfigArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", + "type": "string" + }, + "StudioWebPortalSettings": { + "additionalProperties": false, + "properties": { + "HiddenAppTypes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AppType" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "HiddenMlTools": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MlTools" + }, + "minItems": 0, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + }, + "Value": { + "maxLength": 128, + "minLength": 1, + "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "UserSettings": { + "additionalProperties": false, + "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/CustomFileSystemConfig" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "maxLength": 1023, + "type": "string" + }, + "ExecutionRole": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/KernelGatewayAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/RStudioServerProAppSettings" + }, + "SecurityGroups": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "maxLength": 32, + "pattern": "[-0-9a-zA-Z]+", + "type": "string" + }, + "maxItems": 5, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "SharingSettings": { + "$ref": "#/definitions/SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/StudioWebPortalSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/UserProfileName", + "/properties/DomainId" + ], + "properties": { + "DomainId": { + "maxLength": 63, + "minLength": 1, + "pattern": "^d-(-*[a-z0-9]){1,61}", + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "pattern": "UserName", + "type": "string" + }, + "SingleSignOnUserValue": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "type": "array", + "uniqueItems": false + }, + "UserProfileArn": { + "maxLength": 256, + "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", + "type": "string" + }, + "UserProfileName": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/UserSettings", + "maxItems": 50, + "minItems": 0, + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/UserProfileArn" + ], + "required": [ + "DomainId", + "UserProfileName" + ], + "typeName": "AWS::SageMaker::UserProfile", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-ses-mailmanagerruleset.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-ses-mailmanagerruleset.json new file mode 100644 index 0000000000..69697781a7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-ses-mailmanagerruleset.json @@ -0,0 +1,903 @@ +{ + "additionalProperties": false, + "definitions": { + "ActionFailurePolicy": { + "enum": [ + "CONTINUE", + "DROP" + ], + "type": "string" + }, + "AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[xX]\\-[a-zA-Z0-9\\-]+$", + "type": "string" + }, + "HeaderValue": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "Analysis": { + "additionalProperties": false, + "properties": { + "Analyzer": { + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "ResultField": { + "maxLength": 256, + "minLength": 1, + "pattern": "^[\\sa-zA-Z0-9_]+$", + "type": "string" + } + }, + "required": [ + "Analyzer", + "ResultField" + ], + "type": "object" + }, + "ArchiveAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "TargetArchive": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "TargetArchive" + ], + "type": "object" + }, + "DeliverToMailboxAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailboxArn": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "MailboxArn", + "RoleArn" + ], + "type": "object" + }, + "DeliverToQBusinessAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "ApplicationId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^[a-z0-9-]+$", + "type": "string" + }, + "IndexId": { + "maxLength": 36, + "minLength": 36, + "pattern": "^[a-z0-9-]+$", + "type": "string" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "ApplicationId", + "IndexId", + "RoleArn" + ], + "type": "object" + }, + "DropAction": { + "additionalProperties": false, + "type": "object" + }, + "MailFrom": { + "enum": [ + "REPLACE", + "PRESERVE" + ], + "type": "string" + }, + "RelayAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "MailFrom": { + "$ref": "#/definitions/MailFrom" + }, + "Relay": { + "maxLength": 2048, + "minLength": 1, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "Relay" + ], + "type": "object" + }, + "ReplaceRecipientAction": { + "additionalProperties": false, + "properties": { + "ReplaceWith": { + "items": { + "maxLength": 254, + "minLength": 0, + "pattern": "^[0-9A-Za-z@+.-]+$", + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/RuleAction" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + }, + "Name": { + "maxLength": 32, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Unless": { + "items": { + "$ref": "#/definitions/RuleCondition" + }, + "maxItems": 10, + "minItems": 0, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "RuleAction": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Drop": { + "$ref": "#/definitions/DropAction" + } + }, + "required": [ + "Drop" + ], + "title": "Drop", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Relay": { + "$ref": "#/definitions/RelayAction" + } + }, + "required": [ + "Relay" + ], + "title": "Relay", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Archive": { + "$ref": "#/definitions/ArchiveAction" + } + }, + "required": [ + "Archive" + ], + "title": "Archive", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "WriteToS3": { + "$ref": "#/definitions/S3Action" + } + }, + "required": [ + "WriteToS3" + ], + "title": "WriteToS3", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Send": { + "$ref": "#/definitions/SendAction" + } + }, + "required": [ + "Send" + ], + "title": "Send", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "AddHeader": { + "$ref": "#/definitions/AddHeaderAction" + } + }, + "required": [ + "AddHeader" + ], + "title": "AddHeader", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "ReplaceRecipient": { + "$ref": "#/definitions/ReplaceRecipientAction" + } + }, + "required": [ + "ReplaceRecipient" + ], + "title": "ReplaceRecipient", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DeliverToMailbox": { + "$ref": "#/definitions/DeliverToMailboxAction" + } + }, + "required": [ + "DeliverToMailbox" + ], + "title": "DeliverToMailbox", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DeliverToQBusiness": { + "$ref": "#/definitions/DeliverToQBusinessAction" + } + }, + "required": [ + "DeliverToQBusiness" + ], + "title": "DeliverToQBusiness", + "type": "object" + } + ] + }, + "RuleBooleanEmailAttribute": { + "enum": [ + "READ_RECEIPT_REQUESTED", + "TLS", + "TLS_WRAPPED" + ], + "type": "string" + }, + "RuleBooleanExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleBooleanToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleBooleanOperator" + } + }, + "required": [ + "Evaluate", + "Operator" + ], + "type": "object" + }, + "RuleBooleanOperator": { + "enum": [ + "IS_TRUE", + "IS_FALSE" + ], + "type": "string" + }, + "RuleBooleanToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleBooleanEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleCondition": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "BooleanExpression": { + "$ref": "#/definitions/RuleBooleanExpression" + } + }, + "required": [ + "BooleanExpression" + ], + "title": "BooleanExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "StringExpression": { + "$ref": "#/definitions/RuleStringExpression" + } + }, + "required": [ + "StringExpression" + ], + "title": "StringExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "NumberExpression": { + "$ref": "#/definitions/RuleNumberExpression" + } + }, + "required": [ + "NumberExpression" + ], + "title": "NumberExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "IpExpression": { + "$ref": "#/definitions/RuleIpExpression" + } + }, + "required": [ + "IpExpression" + ], + "title": "IpExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "VerdictExpression": { + "$ref": "#/definitions/RuleVerdictExpression" + } + }, + "required": [ + "VerdictExpression" + ], + "title": "VerdictExpression", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "DmarcExpression": { + "$ref": "#/definitions/RuleDmarcExpression" + } + }, + "required": [ + "DmarcExpression" + ], + "title": "DmarcExpression", + "type": "object" + } + ] + }, + "RuleDmarcExpression": { + "additionalProperties": false, + "properties": { + "Operator": { + "$ref": "#/definitions/RuleDmarcOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleDmarcPolicy" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Operator", + "Values" + ], + "type": "object" + }, + "RuleDmarcOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleDmarcPolicy": { + "enum": [ + "NONE", + "QUARANTINE", + "REJECT" + ], + "type": "string" + }, + "RuleIpEmailAttribute": { + "enum": [ + "SOURCE_IP" + ], + "type": "string" + }, + "RuleIpExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleIpToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleIpOperator" + }, + "Values": { + "items": { + "maxLength": 18, + "minLength": 1, + "pattern": "^(([0-9]|.|/)*)$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleIpOperator": { + "enum": [ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ], + "type": "string" + }, + "RuleIpToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleIpEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleNumberEmailAttribute": { + "enum": [ + "MESSAGE_SIZE" + ], + "type": "string" + }, + "RuleNumberExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleNumberToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleNumberOperator" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Evaluate", + "Operator", + "Value" + ], + "type": "object" + }, + "RuleNumberOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "LESS_THAN", + "GREATER_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN_OR_EQUAL" + ], + "type": "string" + }, + "RuleNumberToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleNumberEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + } + ] + }, + "RuleStringEmailAttribute": { + "enum": [ + "MAIL_FROM", + "HELO", + "RECIPIENT", + "SENDER", + "FROM", + "SUBJECT", + "TO", + "CC" + ], + "type": "string" + }, + "RuleStringExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleStringToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleStringOperator" + }, + "Values": { + "items": { + "maxLength": 4096, + "minLength": 1, + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleStringOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ], + "type": "string" + }, + "RuleStringToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleStringEmailAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "MimeHeaderAttribute": { + "pattern": "^X-[a-zA-Z0-9-]{1,256}$", + "type": "string" + } + }, + "required": [ + "MimeHeaderAttribute" + ], + "title": "MimeHeaderAttribute", + "type": "object" + } + ] + }, + "RuleVerdict": { + "enum": [ + "PASS", + "FAIL", + "GRAY", + "PROCESSING_FAILED" + ], + "type": "string" + }, + "RuleVerdictAttribute": { + "enum": [ + "SPF", + "DKIM" + ], + "type": "string" + }, + "RuleVerdictExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/RuleVerdictToEvaluate" + }, + "Operator": { + "$ref": "#/definitions/RuleVerdictOperator" + }, + "Values": { + "items": { + "$ref": "#/definitions/RuleVerdict" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "RuleVerdictOperator": { + "enum": [ + "EQUALS", + "NOT_EQUALS" + ], + "type": "string" + }, + "RuleVerdictToEvaluate": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/RuleVerdictAttribute" + } + }, + "required": [ + "Attribute" + ], + "title": "Attribute", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/Analysis" + } + }, + "required": [ + "Analysis" + ], + "title": "Analysis", + "type": "object" + } + ] + }, + "S3Action": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + }, + "S3Bucket": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9.-]+$", + "type": "string" + }, + "S3Prefix": { + "maxLength": 62, + "minLength": 1, + "pattern": "^[a-zA-Z0-9!_.*'()/-]+$", + "type": "string" + }, + "S3SseKmsKeyId": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9-:/]+$", + "type": "string" + } + }, + "required": [ + "RoleArn", + "S3Bucket" + ], + "type": "object" + }, + "SendAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "RoleArn": { + "maxLength": 2048, + "minLength": 20, + "pattern": "^[a-zA-Z0-9:_/+=,@.#-]+$", + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/RuleSetId" + ], + "properties": { + "RuleSetArn": { + "type": "string" + }, + "RuleSetId": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "RuleSetName": { + "maxLength": 100, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_.-]+$", + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/Rule" + }, + "maxItems": 40, + "minItems": 0, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/RuleSetArn", + "/properties/RuleSetId" + ], + "required": [ + "Rules" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses-mailmanager", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::SES::MailManagerRuleSet" +}