From 02241fcb4062f9772ee2c52573bdf18f4372fd9b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 10:39:40 -0800 Subject: [PATCH] Update CloudFormation schemas to 2024-12-16 (#3877) Co-authored-by: kddejong <36457093+kddejong@users.noreply.github.com> --- .../data/AdditionalSpecs/Policies.json | 19 +- ...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 +- .../aws_rds_dbcluster/engine_version.json | 6 +- .../aws_rds_dbinstance/engine_version.json | 6 +- .../all/aws_batch_jobdefinition/boto.json | 81 + .../aws_connect_hoursofoperation/boto.json | 12 + .../schemas/providers/af_south_1/__init__.py | 15 +- .../aws-batch-jobdefinition.json | 229 ++- .../aws-cloudformation-typeactivation.json | 109 -- .../aws-cloudfront-distribution.json | 1202 -------------- .../af_south_1/aws-ec2-customergateway.json | 86 - .../aws-ecs-service.json | 3 +- .../aws-logs-accountpolicy.json | 4 +- .../af_south_1/aws-logs-loggroup.json | 109 -- .../af_south_1/aws-logs-metricfilter.json | 153 -- .../af_south_1/aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../af_south_1/aws-organizations-policy.json | 114 -- .../af_south_1/aws-ram-resourceshare.json | 81 - .../aws-transfer-server.json | 17 +- .../schemas/providers/ap_east_1/__init__.py | 26 +- .../aws-batch-jobdefinition.json | 552 +++---- .../aws-cloudfront-distribution.json | 1202 -------------- .../ap_east_1/aws-ec2-customergateway.json | 86 - .../ap_east_1/aws-ec2-networkinterface.json | 234 --- .../providers/ap_east_1/aws-ecs-service.json | 645 ++++++++ .../aws-logs-accountpolicy.json | 4 +- .../ap_east_1/aws-logs-loggroup.json | 109 -- .../ap_east_1/aws-logs-metricfilter.json | 153 -- .../ap_east_1/aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../ap_east_1/aws-ram-resourceshare.json | 81 - .../ap_east_1/aws-transfer-server.json | 388 +++++ .../providers/ap_northeast_1/__init__.py | 15 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-cleanrooms-configuredtable.json | 531 ------- ...cleanrooms-configuredtableassociation.json | 253 --- .../aws-cloudfront-distribution.json | 1202 -------------- .../aws-iotsitewise-accesspolicy.json | 118 -- .../aws-logs-accountpolicy.json | 62 + .../ap_northeast_1/aws-logs-loggroup.json | 109 -- .../ap_northeast_1/aws-logs-metricfilter.json | 153 -- .../aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../ap_northeast_1/aws-m2-environment.json | 203 --- .../aws-organizations-policy.json | 114 -- .../aws-workspaces-workspacespool.json | 158 -- .../providers/ap_northeast_2/__init__.py | 28 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-batch-jobdefinition.json | 552 +++---- .../aws-cleanrooms-configuredtable.json | 531 ------- ...cleanrooms-configuredtableassociation.json | 253 --- .../aws-cloudfront-distribution.json | 1202 -------------- .../aws-ec2-customergateway.json | 86 - .../ap_northeast_2/aws-ecs-service.json | 645 ++++++++ .../aws-ecs-taskdefinition.json | 1044 ------------- .../aws-emrserverless-application.json | 539 ------- .../aws-iotsitewise-accesspolicy.json | 118 -- .../aws-iotsitewise-dashboard.json | 76 - .../aws-iotsitewise-project.json | 76 - .../aws-logs-accountpolicy.json | 62 + .../ap_northeast_2/aws-logs-loggroup.json | 109 -- .../ap_northeast_2/aws-logs-metricfilter.json | 153 -- .../aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../aws-medialive-channelplacementgroup.json | 4 +- .../ap_northeast_2/aws-memorydb-cluster.json | 195 --- .../ap_northeast_2/aws-msk-replicator.json | 321 ---- .../aws-organizations-policy.json | 114 -- .../ap_northeast_2/aws-ram-resourceshare.json | 81 - .../aws-rds-customdbengineversion.json | 132 -- .../ap_northeast_2/aws-transfer-server.json | 388 +++++ .../aws-wisdom-knowledgebase.json | 167 -- .../aws-workspaces-workspacespool.json | 158 -- .../providers/ap_northeast_3/__init__.py | 11 +- .../aws-batch-jobdefinition.json | 998 ++++++++++++ .../aws-cloudfront-distribution.json | 1202 -------------- .../ap_northeast_3/aws-ecs-service.json | 645 ++++++++ .../aws-logs-accountpolicy.json | 62 + .../ap_northeast_3/aws-logs-loggroup.json | 109 -- .../ap_northeast_3/aws-logs-metricfilter.json | 153 -- .../aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../ap_northeast_3/aws-m2-environment.json | 203 --- .../aws-medialive-channelplacementgroup.json | 4 +- .../ap_northeast_3/aws-transfer-server.json | 388 +++++ .../schemas/providers/ap_south_1/__init__.py | 7 +- .../aws-appconfig-configurationprofile.json | 138 ++ .../ap_south_1/aws-appconfig-environment.json | 124 ++ .../ap_south_1/aws-cassandra-keyspace.json | 118 ++ .../ap_south_1/aws-cassandra-type.json | 87 ++ .../ap_south_1/aws-logs-accountpolicy.json | 62 + .../ap_south_1/aws-m2-environment.json | 203 --- .../aws-workspaces-workspacespool.json | 158 -- .../schemas/providers/ap_south_2/__init__.py | 16 +- .../ap_south_2/aws-batch-jobdefinition.json | 998 ++++++++++++ .../aws-cloudformation-typeactivation.json | 109 -- .../aws-cloudfront-distribution.json | 1202 -------------- .../ap_south_2/aws-ec2-customergateway.json | 86 - .../ap_south_2/aws-ec2-networkinterface.json | 234 --- .../providers/ap_south_2/aws-ecs-service.json | 645 ++++++++ .../aws-elasticache-serverlesscache.json | 205 --- .../ap_south_2/aws-logs-accountpolicy.json | 62 + .../ap_south_2/aws-logs-loggroup.json | 109 -- .../ap_south_2/aws-logs-metricfilter.json | 153 -- .../ap_south_2/aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../ap_south_2/aws-organizations-policy.json | 114 -- .../ap_south_2/aws-transfer-server.json | 388 +++++ .../providers/ap_southeast_1/__init__.py | 3 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-medialive-channelplacementgroup.json | 88 -- .../ap_southeast_1/aws-transfer-server.json | 388 +++++ .../providers/ap_southeast_2/__init__.py | 6 +- .../aws-appconfig-configurationprofile.json | 138 ++ .../aws-appconfig-environment.json | 124 ++ .../aws-cassandra-keyspace.json | 118 ++ .../ap_southeast_2/aws-cassandra-type.json | 87 ++ .../aws-logs-accountpolicy.json | 62 + .../ap_southeast_2/aws-transfer-server.json | 388 +++++ .../providers/ap_southeast_3/__init__.py | 12 +- .../aws-cloudfront-distribution.json | 1202 -------------- .../aws-ec2-customergateway.json | 86 - .../ap_southeast_3/aws-ecs-service.json | 645 ++++++++ .../aws-logs-accountpolicy.json | 62 + .../ap_southeast_3/aws-logs-loggroup.json | 109 -- .../ap_southeast_3/aws-logs-metricfilter.json | 153 -- .../aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../aws-organizations-policy.json | 114 -- .../ap_southeast_3/aws-transfer-server.json | 388 +++++ .../providers/ap_southeast_4/__init__.py | 14 +- .../aws-batch-jobdefinition.json | 998 ++++++++++++ .../aws-cloudformation-typeactivation.json | 109 -- .../aws-cloudfront-distribution.json | 1202 -------------- .../aws-ec2-customergateway.json | 86 - .../ap_southeast_4/aws-ecs-service.json | 645 ++++++++ .../aws-logs-accountpolicy.json | 62 + .../ap_southeast_4/aws-logs-loggroup.json | 109 -- .../ap_southeast_4/aws-logs-metricfilter.json | 153 -- .../aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../aws-organizations-policy.json | 114 -- .../ap_southeast_4/aws-transfer-server.json | 388 +++++ .../providers/ap_southeast_5/__init__.py | 29 +- .../aws-apigateway-restapi.json | 163 -- .../aws-batch-jobdefinition.json | 43 + .../aws-cloudfront-distribution.json | 1202 -------------- .../aws-ec2-customergateway.json | 86 - .../ap_southeast_5/aws-ecs-service.json | 645 ++++++++ .../aws-ecs-taskdefinition.json | 1044 ------------- .../aws-logs-accountpolicy.json | 62 + .../ap_southeast_5/aws-logs-loggroup.json | 109 -- .../ap_southeast_5/aws-logs-metricfilter.json | 153 -- .../aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../aws-organizations-policy.json | 114 -- .../providers/ca_central_1/__init__.py | 31 +- .../aws-apigateway-domainnamev2.json | 88 -- .../ca_central_1/aws-batch-jobdefinition.json | 998 ++++++++++++ .../aws-cloudfront-distribution.json | 1202 -------------- .../ca_central_1/aws-ec2-customergateway.json | 86 - .../ca_central_1/aws-ecs-service.json | 645 ++++++++ .../aws-emrserverless-application.json | 539 ------- .../aws-iotsitewise-accesspolicy.json | 118 -- .../ca_central_1/aws-logs-accountpolicy.json | 62 + .../ca_central_1/aws-logs-integration.json | 100 ++ .../ca_central_1/aws-logs-loggroup.json | 109 -- .../ca_central_1/aws-logs-metricfilter.json | 153 -- .../aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../ca_central_1/aws-m2-environment.json | 203 --- .../ca_central_1/aws-msk-replicator.json | 321 ---- .../aws-organizations-policy.json | 114 -- .../ca_central_1/aws-ram-resourceshare.json | 81 - .../aws-redshiftserverless-workgroup.json | 312 ---- .../ca_central_1/aws-transfer-server.json | 388 +++++ .../schemas/providers/ca_west_1/__init__.py | 11 +- .../ca_west_1/aws-batch-jobdefinition.json | 43 + .../aws-cloudfront-distribution.json | 1202 -------------- .../providers/ca_west_1/aws-ecs-service.json | 645 ++++++++ .../ca_west_1/aws-logs-accountpolicy.json | 62 + .../ca_west_1/aws-logs-loggroup.json | 109 -- .../ca_west_1/aws-logs-metricfilter.json | 153 -- .../ca_west_1/aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../ca_west_1/aws-organizations-policy.json | 114 -- .../ca_west_1/aws-transfer-server.json | 388 +++++ .../schemas/providers/cn_north_1/__init__.py | 11 +- .../cn_north_1/aws-cassandra-keyspace.json | 118 ++ .../cn_north_1/aws-cassandra-type.json | 87 ++ .../cn_north_1/aws-ec2-vpcendpoint.json | 177 +++ .../aws-elasticache-serverlesscache.json | 205 --- .../aws-iotsitewise-accesspolicy.json | 118 -- .../cn_north_1/aws-logs-accountpolicy.json | 62 + .../cn_north_1/aws-logs-loggroup.json | 109 -- .../cn_north_1/aws-logs-metricfilter.json | 153 -- .../cn_north_1/aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../providers/cn_northwest_1/__init__.py | 9 +- .../aws-batch-jobdefinition.json | 998 ++++++++++++ .../cn_northwest_1/aws-ecs-service.json | 645 ++++++++ .../aws-ecs-taskdefinition.json | 1044 ------------- ...ws-elasticache-globalreplicationgroup.json | 124 -- .../aws-elasticache-serverlesscache.json | 205 --- .../aws-emrserverless-application.json | 539 ------- .../aws-iot-softwarepackageversion.json | 1 - .../aws-logs-accountpolicy.json | 62 + .../cn_northwest_1/aws-transfer-server.json | 388 +++++ .../providers/eu_central_1/__init__.py | 13 +- .../aws-appconfig-configurationprofile.json | 138 ++ .../aws-appconfig-environment.json | 124 ++ .../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 ++++ .../eu_central_1/aws-databrew-dataset.json | 418 +++++ .../eu_central_1/aws-logs-accountpolicy.json | 62 + .../providers/eu_central_2/__init__.py | 16 +- .../eu_central_2/aws-batch-jobdefinition.json | 998 ++++++++++++ .../aws-cloudfront-distribution.json | 1202 -------------- .../eu_central_2/aws-ec2-customergateway.json | 86 - .../eu_central_2/aws-ecs-service.json | 645 ++++++++ .../eu_central_2/aws-ecs-taskdefinition.json | 1044 ------------- .../eu_central_2/aws-logs-accountpolicy.json | 62 + .../eu_central_2/aws-logs-loggroup.json | 109 -- .../eu_central_2/aws-logs-metricfilter.json | 153 -- .../aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../aws-organizations-policy.json | 114 -- .../eu_central_2/aws-transfer-server.json | 388 +++++ .../schemas/providers/eu_north_1/__init__.py | 33 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-appconfig-configurationprofile.json | 138 ++ .../eu_north_1/aws-appconfig-environment.json | 124 ++ .../eu_north_1/aws-batch-jobdefinition.json | 998 ++++++++++++ .../aws-cloudformation-typeactivation.json | 109 -- .../aws-cloudfront-distribution.json | 1202 -------------- .../eu_north_1/aws-ec2-customergateway.json | 86 - .../eu_north_1/aws-ec2-networkinterface.json | 234 --- .../providers/eu_north_1/aws-ecs-service.json | 645 ++++++++ .../eu_north_1/aws-logs-accountpolicy.json | 62 + .../eu_north_1/aws-logs-loggroup.json | 109 -- .../eu_north_1/aws-logs-metricfilter.json | 153 -- .../eu_north_1/aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../eu_north_1/aws-msk-replicator.json | 321 ---- .../eu_north_1/aws-ram-resourceshare.json | 81 - .../eu_north_1/aws-rds-dbcluster.json | 409 +++++ .../eu_north_1/aws-rds-dbinstance.json | 531 +++++++ .../eu_north_1/aws-transfer-server.json | 388 +++++ .../schemas/providers/eu_south_1/__init__.py | 14 +- .../eu_south_1/aws-batch-jobdefinition.json | 998 ++++++++++++ .../aws-cloudfront-distribution.json | 1202 -------------- .../eu_south_1/aws-ec2-customergateway.json | 86 - .../providers/eu_south_1/aws-ecs-service.json | 645 ++++++++ .../eu_south_1/aws-logs-accountpolicy.json | 62 + .../eu_south_1/aws-logs-loggroup.json | 109 -- .../eu_south_1/aws-logs-metricfilter.json | 153 -- .../eu_south_1/aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../eu_south_1/aws-organizations-policy.json | 114 -- .../eu_south_1/aws-ram-resourceshare.json | 81 - .../eu_south_1/aws-transfer-server.json | 388 +++++ .../schemas/providers/eu_south_2/__init__.py | 16 +- .../eu_south_2/aws-batch-jobdefinition.json | 998 ++++++++++++ .../aws-cloudformation-typeactivation.json | 109 -- .../aws-cloudfront-distribution.json | 1202 -------------- .../eu_south_2/aws-ec2-customergateway.json | 86 - .../eu_south_2/aws-ec2-networkinterface.json | 234 --- .../providers/eu_south_2/aws-ecs-service.json | 645 ++++++++ .../eu_south_2/aws-logs-accountpolicy.json | 62 + .../eu_south_2/aws-logs-loggroup.json | 109 -- .../eu_south_2/aws-logs-metricfilter.json | 153 -- .../eu_south_2/aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../eu_south_2/aws-transfer-server.json | 388 +++++ .../schemas/providers/eu_west_1/__init__.py | 4 +- .../aws-appconfig-configurationprofile.json | 138 ++ .../eu_west_1/aws-appconfig-environment.json | 124 ++ .../eu_west_1/aws-cassandra-keyspace.json | 118 ++ .../eu_west_1/aws-cassandra-type.json | 87 ++ .../schemas/providers/eu_west_2/__init__.py | 9 +- .../eu_west_2/aws-batch-jobdefinition.json | 998 ++++++++++++ .../aws-cloudfront-distribution.json | 1202 -------------- .../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-m2-environment.json | 203 --- .../eu_west_2/aws-msk-replicator.json | 321 ---- .../aws-redshiftserverless-workgroup.json | 312 ---- .../eu_west_2/aws-transfer-server.json | 388 +++++ .../schemas/providers/eu_west_3/__init__.py | 15 +- .../aws-apigateway-domainnamev2.json | 88 -- .../eu_west_3/aws-batch-jobdefinition.json | 998 ++++++++++++ .../eu_west_3/aws-cassandra-type.json | 87 ++ .../aws-cloudfront-distribution.json | 1202 -------------- .../eu_west_3/aws-ec2-customergateway.json | 86 - .../eu_west_3/aws-ec2-networkinterface.json | 234 --- .../providers/eu_west_3/aws-ecs-service.json | 645 ++++++++ .../aws-emrserverless-application.json | 539 ------- .../eu_west_3/aws-m2-environment.json | 203 --- .../eu_west_3/aws-msk-replicator.json | 321 ---- .../eu_west_3/aws-organizations-policy.json | 114 -- .../eu_west_3/aws-ram-resourceshare.json | 81 - .../aws-redshiftserverless-workgroup.json | 312 ---- .../eu_west_3/aws-transfer-server.json | 388 +++++ .../providers/il_central_1/__init__.py | 16 +- .../il_central_1/aws-apigateway-vpclink.json | 60 - .../il_central_1/aws-batch-jobdefinition.json | 998 ++++++++++++ .../aws-cloudfront-distribution.json | 1202 -------------- .../il_central_1/aws-ec2-customergateway.json | 86 - .../il_central_1/aws-ecs-service.json | 645 ++++++++ .../il_central_1/aws-logs-accountpolicy.json | 62 + .../il_central_1/aws-logs-loggroup.json | 109 -- .../il_central_1/aws-logs-metricfilter.json | 153 -- .../aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../aws-organizations-policy.json | 114 -- .../il_central_1/aws-transfer-server.json | 388 +++++ .../providers/me_central_1/__init__.py | 13 +- .../me_central_1/aws-batch-jobdefinition.json | 998 ++++++++++++ .../aws-cloudfront-distribution.json | 1202 -------------- .../me_central_1/aws-ec2-customergateway.json | 86 - .../aws-ec2-networkinterface.json | 234 --- .../me_central_1/aws-ecs-service.json | 645 ++++++++ .../me_central_1/aws-logs-accountpolicy.json | 62 + .../me_central_1/aws-logs-loggroup.json | 109 -- .../me_central_1/aws-logs-metricfilter.json | 153 -- .../aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../me_central_1/aws-transfer-server.json | 388 +++++ .../schemas/providers/me_south_1/__init__.py | 17 +- .../me_south_1/aws-batch-jobdefinition.json | 998 ++++++++++++ .../aws-cloudformation-typeactivation.json | 109 -- .../aws-cloudfront-distribution.json | 1202 -------------- .../me_south_1/aws-ec2-customergateway.json | 86 - .../providers/me_south_1/aws-ecs-service.json | 645 ++++++++ .../me_south_1/aws-ecs-taskdefinition.json | 1044 ------------- .../aws-emrserverless-application.json | 539 ------- .../me_south_1/aws-logs-accountpolicy.json | 62 + .../me_south_1/aws-logs-loggroup.json | 109 -- .../me_south_1/aws-logs-metricfilter.json | 153 -- .../me_south_1/aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../me_south_1/aws-organizations-policy.json | 114 -- .../me_south_1/aws-ram-resourceshare.json | 81 - .../me_south_1/aws-transfer-server.json | 388 +++++ .../schemas/providers/sa_east_1/__init__.py | 6 +- .../aws-appconfig-configurationprofile.json | 138 ++ .../sa_east_1/aws-appconfig-environment.json | 124 ++ .../sa_east_1/aws-cassandra-keyspace.json | 118 ++ .../sa_east_1/aws-cassandra-type.json | 87 ++ .../sa_east_1/aws-m2-environment.json | 203 --- .../us_east_1/aws-batch-jobdefinition.json | 591 ++++--- .../aws-connect-hoursofoperation.json | 2 + .../providers/us_east_1/aws-ecs-service.json | 3 +- .../us_east_1/aws-fis-experimenttemplate.json | 3 +- .../aws-iot-softwarepackageversion.json | 1 + .../us_east_1/aws-logs-accountpolicy.json | 4 +- .../us_east_1/aws-logs-integration.json | 2 +- .../aws-medialive-channelplacementgroup.json | 4 +- ...ws-sagemaker-dataqualityjobdefinition.json | 7 + .../aws-sagemaker-modelbiasjobdefinition.json | 7 + ...aker-modelexplainabilityjobdefinition.json | 7 + ...s-sagemaker-modelqualityjobdefinition.json | 7 + .../us_east_1/aws-transfer-server.json | 17 +- .../schemas/providers/us_east_2/__init__.py | 23 +- .../aws-apigateway-domainnamev2.json | 88 -- .../us_east_2/aws-batch-jobdefinition.json | 998 ++++++++++++ .../us_east_2/aws-cassandra-keyspace.json | 118 ++ .../us_east_2/aws-cassandra-type.json | 87 ++ .../aws-cloudfront-distribution.json | 1202 -------------- .../aws-datazone-projectmembership.json | 92 ++ .../aws-datazone-subscriptiontarget.json | 147 ++ .../us_east_2/aws-ec2-customergateway.json | 86 - .../providers/us_east_2/aws-ecs-service.json | 645 ++++++++ .../aws-iotsitewise-accesspolicy.json | 118 -- .../us_east_2/aws-logs-accountpolicy.json | 62 + .../us_east_2/aws-logs-integration.json | 100 ++ .../us_east_2/aws-logs-loggroup.json | 109 -- .../us_east_2/aws-logs-metricfilter.json | 153 -- .../us_east_2/aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../us_east_2/aws-msk-replicator.json | 321 ---- .../aws-rds-customdbengineversion.json | 132 -- .../aws-redshiftserverless-workgroup.json | 312 ---- .../aws-s3express-directorybucket.json | 196 --- .../us_east_2/aws-transfer-server.json | 388 +++++ .../providers/us_gov_east_1/__init__.py | 11 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-batch-jobdefinition.json | 998 ++++++++++++ .../us_gov_east_1/aws-cassandra-keyspace.json | 1 - .../aws-ec2-customergateway.json | 86 - .../us_gov_east_1/aws-ecs-service.json | 645 ++++++++ .../us_gov_east_1/aws-logs-accountpolicy.json | 62 + .../us_gov_east_1/aws-logs-loggroup.json | 109 -- .../us_gov_east_1/aws-logs-metricfilter.json | 153 -- .../aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../aws-organizations-policy.json | 114 -- .../us_gov_east_1/aws-transfer-server.json | 388 +++++ .../providers/us_gov_west_1/__init__.py | 12 +- .../aws-batch-jobdefinition.json | 998 ++++++++++++ .../us_gov_west_1/aws-cassandra-keyspace.json | 1 - .../aws-ec2-customergateway.json | 86 - .../aws-ec2-internetgateway.json | 40 - .../us_gov_west_1/aws-ecs-service.json | 645 ++++++++ .../aws-iotsitewise-accesspolicy.json | 118 -- .../us_gov_west_1/aws-logs-accountpolicy.json | 62 + .../us_gov_west_1/aws-logs-loggroup.json | 109 -- .../us_gov_west_1/aws-logs-metricfilter.json | 153 -- .../aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../aws-organizations-policy.json | 114 -- .../us_gov_west_1/aws-transfer-server.json | 388 +++++ .../schemas/providers/us_west_1/__init__.py | 19 +- .../aws-appconfig-configurationprofile.json | 138 ++ .../us_west_1/aws-appconfig-environment.json | 124 ++ .../us_west_1/aws-batch-jobdefinition.json | 998 ++++++++++++ .../aws-cloudfront-distribution.json | 1202 -------------- .../us_west_1/aws-ec2-customergateway.json | 86 - .../providers/us_west_1/aws-ecs-service.json | 645 ++++++++ .../us_west_1/aws-logs-loggroup.json | 109 -- .../us_west_1/aws-logs-metricfilter.json | 153 -- .../us_west_1/aws-logs-querydefinition.json | 50 - .../aws-logs-subscriptionfilter.json | 52 - .../us_west_1/aws-m2-environment.json | 203 --- .../us_west_1/aws-memorydb-cluster.json | 195 --- .../us_west_1/aws-msk-replicator.json | 321 ---- .../us_west_1/aws-organizations-policy.json | 114 -- .../us_west_1/aws-ram-resourceshare.json | 81 - .../aws-redshiftserverless-workgroup.json | 312 ---- .../us_west_1/aws-transfer-server.json | 388 +++++ .../schemas/providers/us_west_2/__init__.py | 12 +- .../aws-appconfig-configurationprofile.json | 138 ++ .../us_west_2/aws-appconfig-environment.json | 124 ++ .../us_west_2/aws-cassandra-keyspace.json | 118 ++ .../us_west_2/aws-cassandra-type.json | 87 ++ .../aws-datazone-projectmembership.json | 92 ++ .../aws-datazone-subscriptiontarget.json | 147 ++ .../us_west_2/aws-ec2-vpcendpoint.json | 177 +++ .../aws-iot-softwarepackageversion.json | 111 -- .../us_west_2/aws-logs-accountpolicy.json | 62 + .../us_west_2/aws-quicksight-dataset.json | 1392 +++++++++++++++++ 478 files changed, 53627 insertions(+), 61578 deletions(-) create mode 100644 src/cfnlint/data/schemas/patches/extensions/all/aws_batch_jobdefinition/boto.json create mode 100644 src/cfnlint/data/schemas/patches/extensions/all/aws_connect_hoursofoperation/boto.json rename src/cfnlint/data/schemas/providers/{cn_north_1 => af_south_1}/aws-batch-jobdefinition.json (75%) delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-cloudformation-typeactivation.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-customergateway.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => af_south_1}/aws-ecs-service.json (97%) rename src/cfnlint/data/schemas/providers/{eu_west_3 => af_south_1}/aws-logs-accountpolicy.json (93%) delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-organizations-policy.json delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-ram-resourceshare.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => af_south_1}/aws-transfer-server.json (96%) rename src/cfnlint/data/schemas/providers/{eu_central_1 => ap_east_1}/aws-batch-jobdefinition.json (72%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-customergateway.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-networkinterface.json create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json rename src/cfnlint/data/schemas/providers/{sa_east_1 => ap_east_1}/aws-logs-accountpolicy.json (93%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtable.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtableassociation.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-iotsitewise-accesspolicy.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-policy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspaces-workspacespool.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-apigateway-domainnamev2.json rename src/cfnlint/data/schemas/providers/{us_west_2 => ap_northeast_2}/aws-batch-jobdefinition.json (72%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtable.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtableassociation.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-customergateway.json create 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-ecs-taskdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emrserverless-application.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-iotsitewise-accesspolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-iotsitewise-dashboard.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-iotsitewise-project.json create 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-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-subscriptionfilter.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => ap_northeast_2}/aws-medialive-channelplacementgroup.json (96%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-memorydb-cluster.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-organizations-policy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ram-resourceshare.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-customdbengineversion.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-wisdom-knowledgebase.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-workspaces-workspacespool.json create 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-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-service.json create 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-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-m2-environment.json rename src/cfnlint/data/schemas/providers/{us_west_2 => ap_northeast_3}/aws-medialive-channelplacementgroup.json (96%) create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-configurationprofile.json create 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-cassandra-keyspace.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-type.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-m2-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-workspaces-workspacespool.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudformation-typeactivation.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-customergateway.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-networkinterface.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-elasticache-serverlesscache.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-medialive-channelplacementgroup.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-configurationprofile.json create 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-cassandra-keyspace.json create 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-logs-accountpolicy.json create 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-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-customergateway.json create 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-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudformation-typeactivation.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-customergateway.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-organizations-policy.json create 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-apigateway-restapi.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-customergateway.json create 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-ecs-taskdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-organizations-policy.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-apigateway-domainnamev2.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-customergateway.json create 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-emrserverless-application.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-iotsitewise-accesspolicy.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-accountpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-integration.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-m2-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-msk-replicator.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-organizations-policy.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-ram-resourceshare.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-redshiftserverless-workgroup.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-transfer-server.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudfront-distribution.json create 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-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-keyspace.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-type.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpcendpoint.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-elasticache-serverlesscache.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-iotsitewise-accesspolicy.json create 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-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-batch-jobdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-taskdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-elasticache-globalreplicationgroup.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-elasticache-serverlesscache.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-emrserverless-application.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => cn_northwest_1}/aws-iot-softwarepackageversion.json (98%) create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-accountpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-configurationprofile.json create 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-cassandra-keyspace.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-type.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-guardhook.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-lambdahook.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-databrew-dataset.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-logs-accountpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-customergateway.json create 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-ecs-taskdefinition.json create 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-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-organizations-policy.json create 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-apigateway-domainnamev2.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-configurationprofile.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-environment.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-cloudformation-typeactivation.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-customergateway.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-networkinterface.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-msk-replicator.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbinstance.json create 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-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-customergateway.json create 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-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-organizations-policy.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudformation-typeactivation.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-customergateway.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-networkinterface.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-configurationprofile.json create 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-cassandra-keyspace.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-type.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-accountpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-integration.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-m2-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-msk-replicator.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-redshiftserverless-workgroup.json create 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-apigateway-domainnamev2.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-batch-jobdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-cassandra-type.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-customergateway.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-networkinterface.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-emrserverless-application.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-m2-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-msk-replicator.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-organizations-policy.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ram-resourceshare.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-redshiftserverless-workgroup.json create 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-vpclink.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-customergateway.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-transfer-server.json create 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-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-customergateway.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-networkinterface.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json create 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-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-cloudformation-typeactivation.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-customergateway.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-taskdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-emrserverless-application.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-organizations-policy.json delete mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-configurationprofile.json create 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-cassandra-keyspace.json create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-type.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-m2-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-apigateway-domainnamev2.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-batch-jobdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-keyspace.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-type.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-projectmembership.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-subscriptiontarget.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-customergateway.json create 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-iotsitewise-accesspolicy.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-logs-accountpolicy.json create 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-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-msk-replicator.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-rds-customdbengineversion.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-redshiftserverless-workgroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-s3express-directorybucket.json create 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-apigateway-domainnamev2.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-customergateway.json create 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-logs-accountpolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-customergateway.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-internetgateway.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-iotsitewise-accesspolicy.json create 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-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-configurationprofile.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-environment.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-ec2-customergateway.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-ecs-service.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-logs-loggroup.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-logs-metricfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-logs-querydefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-logs-subscriptionfilter.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-m2-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-memorydb-cluster.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-msk-replicator.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-organizations-policy.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-ram-resourceshare.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-redshiftserverless-workgroup.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-configurationprofile.json create 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-cassandra-keyspace.json create 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-projectmembership.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-subscriptiontarget.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-vpcendpoint.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-iot-softwarepackageversion.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-logs-accountpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-quicksight-dataset.json diff --git a/src/cfnlint/data/AdditionalSpecs/Policies.json b/src/cfnlint/data/AdditionalSpecs/Policies.json index 18f8c0056d..e25dd5a731 100644 --- a/src/cfnlint/data/AdditionalSpecs/Policies.json +++ b/src/cfnlint/data/AdditionalSpecs/Policies.json @@ -1830,6 +1830,7 @@ "CreateService", "DeleteNamespace", "DeleteService", + "DeleteServiceAttributes", "DeregisterInstance", "DiscoverInstances", "DiscoverInstancesRevision", @@ -1838,6 +1839,7 @@ "GetNamespace", "GetOperation", "GetService", + "GetServiceAttributes", "ListInstances", "ListNamespaces", "ListOperations", @@ -1850,7 +1852,8 @@ "UpdateInstanceCustomHealthStatus", "UpdatePrivateDnsNamespace", "UpdatePublicDnsNamespace", - "UpdateService" + "UpdateService", + "UpdateServiceAttributes" ], "HasResource": true, "StringPrefix": "servicediscovery", @@ -7663,10 +7666,12 @@ "CommitTransaction", "CreateDataCellsFilter", "CreateLFTag", + "CreateLFTagExpression", "CreateLakeFormationIdentityCenterConfiguration", "CreateLakeFormationOptIn", "DeleteDataCellsFilter", "DeleteLFTag", + "DeleteLFTagExpression", "DeleteLakeFormationIdentityCenterConfiguration", "DeleteLakeFormationOptIn", "DeleteObjectsOnCancel", @@ -7681,6 +7686,7 @@ "GetDataLakeSettings", "GetEffectivePermissionsForPath", "GetLFTag", + "GetLFTagExpression", "GetQueryState", "GetQueryStatistics", "GetResourceLFTags", @@ -7689,6 +7695,7 @@ "GetWorkUnits", "GrantPermissions", "ListDataCellsFilter", + "ListLFTagExpressions", "ListLFTags", "ListLakeFormationOptIns", "ListPermissions", @@ -7705,6 +7712,7 @@ "StartTransaction", "UpdateDataCellsFilter", "UpdateLFTag", + "UpdateLFTagExpression", "UpdateLakeFormationIdentityCenterConfiguration", "UpdateResource", "UpdateTableObjects", @@ -23224,6 +23232,7 @@ "CreateEmailTemplate", "CreateExportJob", "CreateImportJob", + "CreateMultiRegionEndpoint", "DeleteConfigurationSet", "DeleteConfigurationSetEventDestination", "DeleteContact", @@ -23233,6 +23242,7 @@ "DeleteEmailIdentity", "DeleteEmailIdentityPolicy", "DeleteEmailTemplate", + "DeleteMultiRegionEndpoint", "DeleteSuppressedDestination", "GetAccount", "GetBlacklistReports", @@ -23254,6 +23264,7 @@ "GetExportJob", "GetImportJob", "GetMessageInsights", + "GetMultiRegionEndpoint", "GetSuppressedDestination", "ListConfigurationSets", "ListContactLists", @@ -23266,6 +23277,7 @@ "ListEmailTemplates", "ListExportJobs", "ListImportJobs", + "ListMultiRegionEndpoints", "ListRecommendations", "ListSuppressedDestinations", "ListTagsForResource", @@ -23290,6 +23302,7 @@ "PutEmailIdentityFeedbackAttributes", "PutEmailIdentityMailFromAttributes", "PutSuppressedDestination", + "ReplicateEmailIdentityDkimSigningKey", "SendBulkEmail", "SendCustomVerificationEmail", "SendEmail", @@ -23314,7 +23327,9 @@ "ses:FeedbackAddress", "ses:FromAddress", "ses:FromDisplayName", - "ses:Recipients" + "ses:MultiRegionEndpointId", + "ses:Recipients", + "ses:ReplicaRegion" ] }, "Amazon Simple Workflow Service": { diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json index 85dc09ad77..c1b9e723d2 100644 --- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json @@ -1 +1 @@ -{"etag": "\"05763c28ee46000a9da29ad4843efa41\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"cfa18b63c75f892d688213ad42906824\"", "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 5f42b2d261..a05fcd2cb6 100644 --- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json @@ -1 +1 @@ -{"etag": "\"e67daf3e4be8b333c75c5d3a516541f2\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"41b47fb197bb3002346132a5aec11f26\"", "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 6023a08dbf..4a0ff19ccd 100644 --- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json @@ -1 +1 @@ -{"etag": "\"97758efb3d7ce21c1a3e28e26b6d5fcf\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"afb08056587f4eb39577a7a73b0e6f38\"", "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 00cae3b3e4..90d32e6bfc 100644 --- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json @@ -1 +1 @@ -{"etag": "\"cda53dbcd19cf7f308641736a953a46e\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"953bef7d4ca299f952e64391f7c978ad\"", "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 269a913537..4204485fc2 100644 --- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json @@ -1 +1 @@ -{"etag": "\"7f85adcfba0098ccf06088b6a1644c9a\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"830d885c1819298abdd7292d98b8b75a\"", "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 155e24889c..8058f0ea9a 100644 --- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json @@ -1 +1 @@ -{"etag": "\"9213f85b346d5abfd3521fdaa447e50a\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"477a9abe80b393c588b38fb8cd27bb31\"", "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 e991460f6f..cb5bf09f99 100644 --- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json @@ -1 +1 @@ -{"etag": "\"189d15deef38171681446f8e4c4a205e\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"4a180ebc9f0717d66a03351d6d1f1594\"", "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 4ed12c9d6b..6a7a0314e7 100644 --- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json @@ -1 +1 @@ -{"etag": "\"4b7f3940e605ac30a309a8db22503cba\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"4625bc77f8fa7de175352bf915d5260f\"", "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 847ddbb1e7..f482f59645 100644 --- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json @@ -1 +1 @@ -{"etag": "\"ba0a9dce68b68dbc532a0c34ec4c85d1\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"24350d8000bcc06476ca6a2b5abf6946\"", "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 9d7e887b79..b057865ef0 100644 --- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json @@ -1 +1 @@ -{"etag": "\"5b48441a2269a58b7a22d3829026fbb5\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"ed17d69251e1b6b228c3af1b65b62c61\"", "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 e7c006fc06..87c949247c 100644 --- a/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json @@ -1 +1 @@ -{"etag": "\"2b48d1b0ce895941df8f70f50d0268dd\"", "url": "https://schema.cloudformation.ap-southeast-5.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a2b6157f7a63df6a82eefd7486ad6ed4\"", "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 6d0553a589..b76dae70d6 100644 --- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json @@ -1 +1 @@ -{"etag": "\"c0fd8b98831eb81adf5b8e0cf9753fcc\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"876dbed81eb5597fb1cef3dc1d708e2d\"", "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 b7da4ff72d..fcf36ea0fd 100644 --- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json @@ -1 +1 @@ -{"etag": "\"7269bf08497e407427ecf3fc2f97de89\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"3106da9544d9365c9292863eebd00da7\"", "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 b0bed4caac..80ce1385b3 100644 --- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json @@ -1 +1 @@ -{"etag": "\"24f5c21aebcb4ae7f8a578c7e1fcae2e\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a05ff7779b152bfe54179af0d2b60cd8\"", "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 a3f906e16c..a0dbf9df85 100644 --- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json @@ -1 +1 @@ -{"etag": "\"a929a2acad904be291fd7f1c44688157\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"40ae094897f8afa0fccb59c17032a3ae\"", "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 b14b7b1936..81cab7c2a8 100644 --- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json @@ -1 +1 @@ -{"etag": "\"a31a92c090e7718b305e95693fb3dcf2\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2d59af9cb6598338ebd2ce66925f966f\"", "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 23d49e69f2..775ec96813 100644 --- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json @@ -1 +1 @@ -{"etag": "\"4e6219a4e5e5a44c8cc67ed6e7232013\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"1e017683f6c1b268584c48da26b001b6\"", "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 f1ddd61e18..e66d95309b 100644 --- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json @@ -1 +1 @@ -{"etag": "\"2dd52c9ee0963e32313f41947a4587db\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"56d6b0977b25a6ef072bd28e57792ff8\"", "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 cdb669682b..fdf6fd2fd3 100644 --- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json @@ -1 +1 @@ -{"etag": "\"3b004fbbf3d9516922e0e5269c3187b0\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"396c14ac727ee1a5098ebc63f5213a78\"", "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 4350ecc190..ddaa12a881 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"113ae30b6f70bad87abf594d5877dad7\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"7c7b8263f3619364a5552b7a77523da3\"", "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 614657123a..55cac11e72 100644 --- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json @@ -1 +1 @@ -{"etag": "\"f7b45025deee29fd18d970ce47076b04\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"780d45d8953b2cb6aef93b87416d45e9\"", "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 49e9db5e73..44e3561851 100644 --- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json @@ -1 +1 @@ -{"etag": "\"b338798119d2d57e49c20c6f230bf534\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"7f9302f5fbc9b56e96ddc8fb1de1cb7a\"", "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 b2dd8d46b8..8b8adea9e9 100644 --- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json @@ -1 +1 @@ -{"etag": "\"35de6881b240ca6931cf585a6cfd935f\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e47a327d66283dc0fe6d115af1503530\"", "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 8a155944a6..846c0099b6 100644 --- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json @@ -1 +1 @@ -{"etag": "\"163abbabb60503ed4420f47c35c487f3\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"1db613a413ecf2690215d317da83f26c\"", "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 cd14b9069d..f6f2eb9798 100644 --- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json @@ -1 +1 @@ -{"etag": "\"e3c108864370b21883da31f3a8a0ae5e\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"1133a4db713965ee034976974e267235\"", "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 1ed0c77583..68f5f1e0e2 100644 --- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json @@ -1 +1 @@ -{"etag": "\"892d4a9e32b90171f0cdc348d4b7d815\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"ae38d423f88c338ff4f64af9104edd10\"", "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 691816d6c1..bf0ee5da7e 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"aac6ae41fb57b576e55cb5a687e0718f\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"aeb3072e0883672997dd95f51febfa3b\"", "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 cfdd68babf..9f8b49b66a 100644 --- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json @@ -1 +1 @@ -{"etag": "\"ff6824dd98858d3f1c91ee6eade1d722\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9e9c475422de3d3df186fef3faa11518\"", "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 e060864273..580160fa3f 100644 --- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json @@ -1 +1 @@ -{"etag": "\"bad442ac081140998a76ca2233e208e3\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"329f88ba858eb6032e6222839607e1d4\"", "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 d60dd98ff1..48b12d9c53 100644 --- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json @@ -1 +1 @@ -{"etag": "\"15f24eb7af3ea0f18e08e2e0c9b49a33\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5b094ba1ccfef88abdde185f977a57d1\"", "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 3cd26b20bd..bed0dde983 100644 --- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json @@ -1 +1 @@ -{"etag": "\"41bf2278634380057d36ad5dc2126bd0\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0cab430bced2261c353057eb27cabcbc\"", "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 e94ce018fa..8fbe9f102d 100644 --- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json @@ -1 +1 @@ -{"etag": "\"07593d5f862c3c00302add8583e4f4d9\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"6b3238c75f3535f394ba75b85af17309\"", "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 1b98ab1e4f..0750bfdda2 100644 --- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json @@ -1 +1 @@ -{"etag": "\"e67c665285152a26a0d89515b227a732\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"b009aa3b42196da197b24d7bff64890d\"", "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 e9fd25735e..0db3b3a27b 100644 --- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json @@ -1 +1 @@ -{"etag": "\"27d0364b6d120eb6214448fa9ec2cac7\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5f38c162b5f86cdc98cebb2a0d0f53c0\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json index 1fdd1a844e..2ba87f0b7e 100644 --- a/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json +++ b/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json @@ -112,7 +112,6 @@ "12.18", "12.19", "12.20", - "12.22", "12.9", "13.10", "13.11", @@ -129,7 +128,6 @@ "14.11", "14.12", "14.13", - "14.15", "14.3", "14.4", "14.5", @@ -137,7 +135,6 @@ "14.7", "14.8", "14.9", - "15.10", "15.2", "15.3", "15.4", @@ -149,8 +146,7 @@ "16.2", "16.3", "16.4", - "16.4-limitless", - "16.6" + "16.4-limitless" ] } } diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json index 92fff895cf..383bfb1c40 100644 --- a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json +++ b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json @@ -128,7 +128,6 @@ "12.18", "12.19", "12.20", - "12.22", "12.9", "13.10", "13.11", @@ -145,7 +144,6 @@ "14.11", "14.12", "14.13", - "14.15", "14.3", "14.4", "14.5", @@ -153,7 +151,6 @@ "14.7", "14.8", "14.9", - "15.10", "15.2", "15.3", "15.4", @@ -165,8 +162,7 @@ "16.2", "16.3", "16.4", - "16.4-limitless", - "16.6" + "16.4-limitless" ] } } diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_batch_jobdefinition/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_batch_jobdefinition/boto.json new file mode 100644 index 0000000000..ce40ff7519 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_batch_jobdefinition/boto.json @@ -0,0 +1,81 @@ +[ + { + "op": "add", + "path": "/properties/Type/enumCaseInsensitive", + "value": [ + "container", + "multinode" + ] + }, + { + "op": "add", + "path": "/definitions/EFSVolumeConfiguration/properties/TransitEncryption/enumCaseInsensitive", + "value": [ + "disabled", + "enabled" + ] + }, + { + "op": "add", + "path": "/definitions/EFSAuthorizationConfig/properties/Iam/enumCaseInsensitive", + "value": [ + "disabled", + "enabled" + ] + }, + { + "op": "add", + "path": "/definitions/ResourceRequirement/properties/Type/enumCaseInsensitive", + "value": [ + "gpu", + "memory", + "vcpu" + ] + }, + { + "op": "add", + "path": "/definitions/Device/properties/Permissions/items/enumCaseInsensitive", + "value": [ + "mknod", + "read", + "write" + ] + }, + { + "op": "add", + "path": "/definitions/LogConfiguration/properties/LogDriver/enumCaseInsensitive", + "value": [ + "awslogs", + "fluentd", + "gelf", + "journald", + "json-file", + "splunk", + "syslog" + ] + }, + { + "op": "add", + "path": "/definitions/NetworkConfiguration/properties/AssignPublicIp/enumCaseInsensitive", + "value": [ + "disabled", + "enabled" + ] + }, + { + "op": "add", + "path": "/definitions/EvaluateOnExit/properties/Action/enumCaseInsensitive", + "value": [ + "exit", + "retry" + ] + }, + { + "op": "add", + "path": "/properties/PlatformCapabilities/items/enumCaseInsensitive", + "value": [ + "ec2", + "fargate" + ] + } +] diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_connect_hoursofoperation/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_connect_hoursofoperation/boto.json new file mode 100644 index 0000000000..abae5f4ab8 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_connect_hoursofoperation/boto.json @@ -0,0 +1,12 @@ +[ + { + "op": "add", + "path": "/properties/Name/pattern", + "value": "^[\\P{C}\\r\\n\\t]{1,127}$" + }, + { + "op": "add", + "path": "/properties/Description/pattern", + "value": "^[\\P{C}\\r\\n\\t]{1,250}$" + } +] 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 800f58e7da..64db423a4b 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py @@ -553,6 +553,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::M2::Application", "AWS::M2::Deployment", "AWS::M2::Environment", @@ -969,7 +970,6 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -995,10 +995,12 @@ "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", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -1130,6 +1132,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -1220,7 +1223,6 @@ "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", @@ -1373,14 +1375,18 @@ "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", "aws-logs-destination.json", "aws-logs-loganomalydetector.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-logs-transformer.json", "aws-m2-application.json", "aws-m2-deployment.json", "aws-macie-allowlist.json", @@ -1437,6 +1443,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-pcaconnectorad-templategroupaccesscontrolentry.json", @@ -1453,6 +1460,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", @@ -1622,7 +1630,6 @@ "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/cn_north_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-batch-jobdefinition.json similarity index 75% rename from src/cfnlint/data/schemas/providers/cn_north_1/aws-batch-jobdefinition.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-batch-jobdefinition.json index c62e41456c..ef7e6803f7 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-batch-jobdefinition.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-batch-jobdefinition.json @@ -1,7 +1,6 @@ { "additionalProperties": false, "createOnlyProperties": [ - "/properties/Tags", "/properties/JobDefinitionName" ], "definitions": { @@ -77,6 +76,9 @@ "ReadonlyRootFilesystem": { "type": "boolean" }, + "RepositoryCredentials": { + "$ref": "#/definitions/RepositoryCredentials" + }, "ResourceRequirements": { "items": { "$ref": "#/definitions/ResourceRequirement" @@ -139,6 +141,66 @@ }, "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": { @@ -253,6 +315,9 @@ "EksContainerSecurityContext": { "additionalProperties": false, "properties": { + "AllowPrivilegeEscalation": { + "type": "boolean" + }, "Privileged": { "type": "boolean" }, @@ -406,6 +471,18 @@ }, "type": "object" }, + "ImagePullSecret": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, "LinuxParameters": { "additionalProperties": false, "properties": { @@ -531,6 +608,19 @@ "Container": { "$ref": "#/definitions/ContainerProperties" }, + "EcsProperties": { + "$ref": "#/definitions/EcsProperties" + }, + "EksProperties": { + "$ref": "#/definitions/EksProperties" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, "TargetNodes": { "type": "string" } @@ -556,12 +646,29 @@ "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" @@ -572,6 +679,18 @@ }, "type": "object" }, + "RepositoryCredentials": { + "additionalProperties": false, + "properties": { + "CredentialsParameter": { + "type": "string" + } + }, + "required": [ + "CredentialsParameter" + ], + "type": "object" + }, "ResourceRequirement": { "additionalProperties": false, "properties": { @@ -628,6 +747,107 @@ ], "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": { @@ -712,6 +932,9 @@ "ContainerProperties": { "$ref": "#/definitions/ContainerProperties" }, + "EcsProperties": { + "$ref": "#/definitions/EcsProperties" + }, "EksProperties": { "$ref": "#/definitions/EksProperties" }, @@ -758,6 +981,10 @@ "$ref": "#/definitions/Timeout" }, "Type": { + "enumCaseInsensitive": [ + "container", + "multinode" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_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/af_south_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_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/eu_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json similarity index 97% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-service.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json index 2160921812..57d8a70796 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-service.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-ecs-service.json @@ -624,8 +624,7 @@ } }, "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])", - "/properties/TaskDefinition": "TaskDefinition $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:ecs:[a-z0-9-]+:[0-9]{12}:task-definition/\", $contains(TaskDefinition,\":\")?TaskDefinition:$join([TaskDefinition, \":[0-9]+\"])])" + "/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", diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-accountpolicy.json similarity index 93% rename from src/cfnlint/data/schemas/providers/eu_west_3/aws-logs-accountpolicy.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-logs-accountpolicy.json index 1636d1a031..cd06e8b930 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-logs-accountpolicy.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-accountpolicy.json @@ -28,9 +28,7 @@ "PolicyType": { "enum": [ "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY", - "FIELD_INDEX_POLICY", - "TRANSFORMER_POLICY" + "SUBSCRIPTION_FILTER_POLICY" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_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/af_south_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_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/af_south_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_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/af_south_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_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/af_south_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_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/af_south_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_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/eu_central_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-transfer-server.json similarity index 96% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-transfer-server.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-transfer-server.json index 8fcb89e247..22e8898972 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-transfer-server.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-transfer-server.json @@ -185,17 +185,6 @@ ], "type": "string" }, - "State": { - "enum": [ - "OFFLINE", - "ONLINE", - "STARTING", - "STOPPING", - "START_FAILED", - "STOP_FAILED" - ], - "type": "string" - }, "Tag": { "additionalProperties": false, "properties": { @@ -354,9 +343,6 @@ "pattern": "^s-([0-9a-f]{17})$", "type": "string" }, - "State": { - "$ref": "#/definitions/State" - }, "StructuredLogDestinations": { "insertionOrder": false, "items": { @@ -385,8 +371,7 @@ "readOnlyProperties": [ "/properties/Arn", "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId", - "/properties/State" + "/properties/ServerId" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", "tagging": { 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 1463940668..31a0373cba 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py @@ -548,6 +548,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", "AWS::MSK::ClusterPolicy", @@ -592,6 +593,12 @@ "AWS::NetworkManager::TransitGatewayRegistration", "AWS::Oam::Link", "AWS::Oam::Sink", + "AWS::OpenSearchServerless::AccessPolicy", + "AWS::OpenSearchServerless::Collection", + "AWS::OpenSearchServerless::LifecyclePolicy", + "AWS::OpenSearchServerless::SecurityConfig", + "AWS::OpenSearchServerless::SecurityPolicy", + "AWS::OpenSearchServerless::VpcEndpoint", "AWS::OpenSearchService::Domain", "AWS::OpsWorks::App", "AWS::OpsWorks::ElasticLoadBalancerAttachment", @@ -940,7 +947,6 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-cassandra-keyspace.json", @@ -975,6 +981,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -1081,6 +1088,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -1113,6 +1121,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", @@ -1172,7 +1181,6 @@ "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", @@ -1353,14 +1361,18 @@ "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", "aws-logs-destination.json", "aws-logs-loganomalydetector.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-logs-transformer.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -1401,6 +1413,12 @@ "aws-networkmanager-transitgatewayregistration.json", "aws-oam-link.json", "aws-oam-sink.json", + "aws-opensearchserverless-accesspolicy.json", + "aws-opensearchserverless-collection.json", + "aws-opensearchserverless-lifecyclepolicy.json", + "aws-opensearchserverless-securityconfig.json", + "aws-opensearchserverless-securitypolicy.json", + "aws-opensearchserverless-vpcendpoint.json", "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", @@ -1423,6 +1441,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", @@ -1589,7 +1608,6 @@ "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/eu_central_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-batch-jobdefinition.json similarity index 72% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-batch-jobdefinition.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-batch-jobdefinition.json index 2444dac742..ef7e6803f7 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-batch-jobdefinition.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-batch-jobdefinition.json @@ -4,11 +4,22 @@ "/properties/JobDefinitionName" ], "definitions": { + "AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "Iam": { + "type": "string" + } + }, + "type": "object" + }, "ContainerProperties": { "additionalProperties": false, "properties": { "Command": { - "insertionOrder": true, "items": { "type": "string" }, @@ -16,7 +27,6 @@ "uniqueItems": false }, "Environment": { - "insertionOrder": true, "items": { "$ref": "#/definitions/Environment" }, @@ -30,17 +40,14 @@ "type": "string" }, "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" + "$ref": "#/definitions/FargatePlatformConfiguration" }, "Image": { "type": "string" }, + "InstanceType": { + "type": "string" + }, "JobRoleArn": { "type": "string" }, @@ -54,9 +61,8 @@ "type": "integer" }, "MountPoints": { - "insertionOrder": false, "items": { - "$ref": "#/definitions/MountPoint" + "$ref": "#/definitions/MountPoints" }, "type": "array", "uniqueItems": false @@ -74,7 +80,6 @@ "$ref": "#/definitions/RepositoryCredentials" }, "ResourceRequirements": { - "insertionOrder": false, "items": { "$ref": "#/definitions/ResourceRequirement" }, @@ -85,7 +90,6 @@ "$ref": "#/definitions/RuntimePlatform" }, "Secrets": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Secret" }, @@ -93,7 +97,6 @@ "uniqueItems": false }, "Ulimits": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Ulimit" }, @@ -107,9 +110,8 @@ "type": "integer" }, "Volumes": { - "insertionOrder": false, "items": { - "$ref": "#/definitions/Volume" + "$ref": "#/definitions/Volumes" }, "type": "array", "uniqueItems": false @@ -130,7 +132,6 @@ "type": "string" }, "Permissions": { - "insertionOrder": false, "items": { "type": "string" }, @@ -140,47 +141,10 @@ }, "type": "object" }, - "EFSAuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "EFSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/EFSAuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, "EcsProperties": { "additionalProperties": false, "properties": { "TaskProperties": { - "insertionOrder": false, "items": { "$ref": "#/definitions/EcsTaskProperties" }, @@ -197,7 +161,6 @@ "additionalProperties": false, "properties": { "Containers": { - "insertionOrder": false, "items": { "$ref": "#/definitions/TaskContainerProperties" }, @@ -229,9 +192,8 @@ "type": "string" }, "Volumes": { - "insertionOrder": false, "items": { - "$ref": "#/definitions/Volume" + "$ref": "#/definitions/Volumes" }, "type": "array", "uniqueItems": false @@ -239,11 +201,34 @@ }, "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": { - "insertionOrder": true, "items": { "type": "string" }, @@ -251,7 +236,6 @@ "uniqueItems": false }, "Command": { - "insertionOrder": true, "items": { "type": "string" }, @@ -259,7 +243,6 @@ "uniqueItems": false }, "Env": { - "insertionOrder": false, "items": { "$ref": "#/definitions/EksContainerEnvironmentVariable" }, @@ -282,7 +265,6 @@ "$ref": "#/definitions/EksContainerSecurityContext" }, "VolumeMounts": { - "insertionOrder": false, "items": { "$ref": "#/definitions/EksContainerVolumeMount" }, @@ -314,22 +296,18 @@ "additionalProperties": false, "properties": { "Limits": { - "additionalProperties": false, - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" + "format": "json", + "type": [ + "object", + "string" + ] }, "Requests": { - "additionalProperties": false, - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" + "format": "json", + "type": [ + "object", + "string" + ] } }, "type": "object" @@ -394,79 +372,11 @@ }, "type": "object" }, - "EksMetadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "additionalProperties": false, - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "EksPodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/EksMetadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, "EksProperties": { "additionalProperties": false, "properties": { "PodProperties": { - "$ref": "#/definitions/EksPodProperties" + "$ref": "#/definitions/PodProperties" } }, "type": "object" @@ -552,10 +462,10 @@ ], "type": "object" }, - "Host": { + "FargatePlatformConfiguration": { "additionalProperties": false, "properties": { - "SourcePath": { + "PlatformVersion": { "type": "string" } }, @@ -568,22 +478,15 @@ "type": "string" } }, - "type": "object" - }, - "JobTimeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, + "required": [ + "Name" + ], "type": "object" }, "LinuxParameters": { "additionalProperties": false, "properties": { "Devices": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Device" }, @@ -603,7 +506,6 @@ "type": "integer" }, "Tmpfs": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Tmpfs" }, @@ -620,16 +522,13 @@ "type": "string" }, "Options": { - "additionalProperties": false, - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" + "format": "json", + "type": [ + "object", + "string" + ] }, "SecretOptions": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Secret" }, @@ -642,7 +541,20 @@ ], "type": "object" }, - "MountPoint": { + "Metadata": { + "additionalProperties": false, + "properties": { + "Labels": { + "format": "json", + "type": [ + "object", + "string" + ] + } + }, + "type": "object" + }, + "MountPoints": { "additionalProperties": false, "properties": { "ContainerPath": { @@ -657,225 +569,114 @@ }, "type": "object" }, - "MultiNodeContainerProperties": { + "NetworkConfiguration": { "additionalProperties": false, "properties": { - "Command": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { + "AssignPublicIp": { "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { + } + }, + "type": "object" + }, + "NodeProperties": { + "additionalProperties": false, + "properties": { + "MainNode": { "type": "integer" }, - "MountPoints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MountPoint" - }, - "type": "array", - "uniqueItems": false - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "insertionOrder": false, + "NodeRangeProperties": { "items": { - "$ref": "#/definitions/Ulimit" + "$ref": "#/definitions/NodeRangeProperty" }, "type": "array", "uniqueItems": false }, - "User": { - "type": "string" - }, - "Vcpus": { + "NumNodes": { "type": "integer" - }, - "Volumes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array", - "uniqueItems": false } }, "required": [ - "Image" + "MainNode", + "NodeRangeProperties", + "NumNodes" ], "type": "object" }, - "MultiNodeEcsProperties": { + "NodeRangeProperty": { "additionalProperties": false, "properties": { - "TaskProperties": { - "insertionOrder": false, + "Container": { + "$ref": "#/definitions/ContainerProperties" + }, + "EcsProperties": { + "$ref": "#/definitions/EcsProperties" + }, + "EksProperties": { + "$ref": "#/definitions/EksProperties" + }, + "InstanceTypes": { "items": { - "$ref": "#/definitions/MultiNodeEcsTaskProperties" + "type": "string" }, "type": "array", "uniqueItems": false + }, + "TargetNodes": { + "type": "string" } }, "required": [ - "TaskProperties" + "TargetNodes" ], "type": "object" }, - "MultiNodeEcsTaskProperties": { + "PodProperties": { "additionalProperties": false, "properties": { "Containers": { - "insertionOrder": false, "items": { - "$ref": "#/definitions/TaskContainerProperties" + "$ref": "#/definitions/EksContainer" }, "type": "array", "uniqueItems": false }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "PidMode": { + "DnsPolicy": { "type": "string" }, - "TaskRoleArn": { - "type": "string" + "HostNetwork": { + "type": "boolean" }, - "Volumes": { - "insertionOrder": false, + "ImagePullSecrets": { "items": { - "$ref": "#/definitions/Volume" + "$ref": "#/definitions/ImagePullSecret" }, "type": "array", "uniqueItems": false - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" }, - "NodeRangeProperties": { - "insertionOrder": false, + "InitContainers": { "items": { - "$ref": "#/definitions/NodeRangeProperty" + "$ref": "#/definitions/EksContainer" }, "type": "array", "uniqueItems": false }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "NumNodes", - "MainNode", - "NodeRangeProperties" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/MultiNodeContainerProperties" + "Metadata": { + "$ref": "#/definitions/Metadata" }, - "EcsProperties": { - "$ref": "#/definitions/MultiNodeEcsProperties" + "ServiceAccountName": { + "type": "string" }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" + "ShareProcessNamespace": { + "type": "boolean" }, - "InstanceTypes": { - "insertionOrder": false, + "Volumes": { "items": { - "type": "string" + "$ref": "#/definitions/EksVolume" }, "type": "array", "uniqueItems": false - }, - "TargetNodes": { - "type": "string" } }, - "required": [ - "TargetNodes" - ], "type": "object" }, "RepositoryCredentials": { @@ -909,7 +710,6 @@ "type": "integer" }, "EvaluateOnExit": { - "insertionOrder": false, "items": { "$ref": "#/definitions/EvaluateOnExit" }, @@ -942,8 +742,8 @@ } }, "required": [ - "Name", - "ValueFrom" + "ValueFrom", + "Name" ], "type": "object" }, @@ -958,8 +758,8 @@ } }, "required": [ - "ContainerName", - "Condition" + "Condition", + "ContainerName" ], "type": "object" }, @@ -967,7 +767,6 @@ "additionalProperties": false, "properties": { "Command": { - "insertionOrder": true, "items": { "type": "string" }, @@ -975,7 +774,6 @@ "uniqueItems": false }, "DependsOn": { - "insertionOrder": false, "items": { "$ref": "#/definitions/TaskContainerDependency" }, @@ -983,7 +781,6 @@ "uniqueItems": false }, "Environment": { - "insertionOrder": true, "items": { "$ref": "#/definitions/Environment" }, @@ -1003,9 +800,8 @@ "$ref": "#/definitions/LogConfiguration" }, "MountPoints": { - "insertionOrder": false, "items": { - "$ref": "#/definitions/MountPoint" + "$ref": "#/definitions/MountPoints" }, "type": "array", "uniqueItems": false @@ -1023,7 +819,6 @@ "$ref": "#/definitions/RepositoryCredentials" }, "ResourceRequirements": { - "insertionOrder": false, "items": { "$ref": "#/definitions/ResourceRequirement" }, @@ -1031,7 +826,6 @@ "uniqueItems": false }, "Secrets": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Secret" }, @@ -1039,7 +833,6 @@ "uniqueItems": false }, "Ulimits": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Ulimit" }, @@ -1055,6 +848,15 @@ ], "type": "object" }, + "Timeout": { + "additionalProperties": false, + "properties": { + "AttemptDurationSeconds": { + "type": "integer" + } + }, + "type": "object" + }, "Tmpfs": { "additionalProperties": false, "properties": { @@ -1062,7 +864,6 @@ "type": "string" }, "MountOptions": { - "insertionOrder": false, "items": { "type": "string" }, @@ -1074,8 +875,8 @@ } }, "required": [ - "ContainerPath", - "Size" + "Size", + "ContainerPath" ], "type": "object" }, @@ -1093,30 +894,39 @@ } }, "required": [ + "SoftLimit", "HardLimit", - "Name", - "SoftLimit" + "Name" ], "type": "object" }, - "Volume": { + "Volumes": { "additionalProperties": false, "properties": { "EfsVolumeConfiguration": { - "$ref": "#/definitions/EFSVolumeConfiguration" + "$ref": "#/definitions/EfsVolumeConfiguration" }, "Host": { - "$ref": "#/definitions/Host" + "$ref": "#/definitions/VolumesHost" }, "Name": { "type": "string" } }, "type": "object" + }, + "VolumesHost": { + "additionalProperties": false, + "properties": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" } }, "primaryIdentifier": [ - "/properties/JobDefinitionName" + "/properties/Id" ], "properties": { "ContainerProperties": { @@ -1128,24 +938,23 @@ "EksProperties": { "$ref": "#/definitions/EksProperties" }, + "Id": { + "type": "string" + }, "JobDefinitionName": { - "maxLength": 128, "type": "string" }, "NodeProperties": { "$ref": "#/definitions/NodeProperties" }, "Parameters": { - "additionalProperties": false, - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" + "format": "json", + "type": [ + "object", + "string" + ] }, "PlatformCapabilities": { - "insertionOrder": true, "items": { "type": "string" }, @@ -1162,31 +971,28 @@ "type": "integer" }, "Tags": { - "additionalProperties": false, - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" + "format": "json", + "type": [ + "object", + "string" + ] }, "Timeout": { - "$ref": "#/definitions/JobTimeout" + "$ref": "#/definitions/Timeout" }, "Type": { + "enumCaseInsensitive": [ + "container", + "multinode" + ], "type": "string" } }, + "readOnlyProperties": [ + "/properties/Id" + ], "required": [ "Type" ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, "typeName": "AWS::Batch::JobDefinition" } diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_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/ap_east_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_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/ap_east_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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/sa_east_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-accountpolicy.json similarity index 93% rename from src/cfnlint/data/schemas/providers/sa_east_1/aws-logs-accountpolicy.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-accountpolicy.json index 1636d1a031..cd06e8b930 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-logs-accountpolicy.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-accountpolicy.json @@ -28,9 +28,7 @@ "PolicyType": { "enum": [ "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY", - "FIELD_INDEX_POLICY", - "TRANSFORMER_POLICY" + "SUBSCRIPTION_FILTER_POLICY" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_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/ap_east_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_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/ap_east_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_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/ap_east_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_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/ap_east_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_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/ap_east_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 fa7b7c23cf..a114b293db 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py @@ -802,6 +802,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::LookoutMetrics::Alert", "AWS::LookoutMetrics::AnomalyDetector", "AWS::LookoutVision::Project", @@ -1322,6 +1323,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", @@ -1456,6 +1458,8 @@ "aws-chatbot-slackchannelconfiguration.json", "aws-cleanrooms-analysistemplate.json", "aws-cleanrooms-collaboration.json", + "aws-cleanrooms-configuredtable.json", + "aws-cleanrooms-configuredtableassociation.json", "aws-cleanrooms-idmappingtable.json", "aws-cleanrooms-idnamespaceassociation.json", "aws-cleanrooms-membership.json", @@ -1483,6 +1487,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -1979,6 +1984,7 @@ "aws-iotevents-detectormodel.json", "aws-iotevents-input.json", "aws-iotfleethub-application.json", + "aws-iotsitewise-accesspolicy.json", "aws-iotsitewise-asset.json", "aws-iotsitewise-assetmodel.json", "aws-iotsitewise-dashboard.json", @@ -2076,20 +2082,25 @@ "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", + "aws-logs-metricfilter.json", + "aws-logs-querydefinition.json", "aws-logs-resourcepolicy.json", + "aws-logs-subscriptionfilter.json", + "aws-logs-transformer.json", "aws-lookoutmetrics-alert.json", "aws-lookoutmetrics-anomalydetector.json", "aws-lookoutvision-project.json", "aws-m2-application.json", "aws-m2-deployment.json", + "aws-m2-environment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -2202,6 +2213,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-osis-pipeline.json", "aws-paymentcryptography-alias.json", @@ -2543,6 +2555,7 @@ "aws-wisdom-messagetemplateversion.json", "aws-workspaces-connectionalias.json", "aws-workspaces-workspace.json", + "aws-workspaces-workspacespool.json", "aws-workspacesweb-browsersettings.json", "aws-workspacesweb-dataprotectionsettings.json", "aws-workspacesweb-identityprovider.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_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_northeast_1/aws-cleanrooms-configuredtable.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtable.json deleted file mode 100644 index 2fb41ebe1b..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtable.json +++ /dev/null @@ -1,531 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AllowedColumns", - "/properties/AnalysisMethod", - "/properties/TableReference" - ], - "definitions": { - "AdditionalAnalyses": { - "enum": [ - "ALLOWED", - "REQUIRED", - "NOT_ALLOWED" - ], - "type": "string" - }, - "AggregateColumn": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "minItems": 1, - "type": "array" - }, - "Function": { - "$ref": "#/definitions/AggregateFunctionName" - } - }, - "required": [ - "ColumnNames", - "Function" - ], - "type": "object" - }, - "AggregateFunctionName": { - "enum": [ - "SUM", - "SUM_DISTINCT", - "COUNT", - "COUNT_DISTINCT", - "AVG" - ], - "type": "string" - }, - "AggregationConstraint": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "Minimum": { - "maximum": 100000, - "minimum": 2, - "type": "number" - }, - "Type": { - "$ref": "#/definitions/AggregationType" - } - }, - "required": [ - "ColumnName", - "Minimum", - "Type" - ], - "type": "object" - }, - "AggregationType": { - "enum": [ - "COUNT_DISTINCT" - ], - "type": "string" - }, - "AllowedAnalyses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AllowedAnalysis" - }, - "minItems": 0, - "type": "array" - }, - "AllowedAnalysis": { - "maxLength": 200, - "minLength": 0, - "pattern": "(ANY_QUERY|arn:[\\w]{3}:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/analysistemplate/[\\d\\w-]+)", - "type": "string" - }, - "AllowedAnalysisProvider": { - "maxLength": 12, - "minLength": 12, - "pattern": "\\d+", - "type": "string" - }, - "AllowedAnalysisProviders": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AllowedAnalysisProvider" - }, - "minItems": 0, - "type": "array" - }, - "AnalysisMethod": { - "enum": [ - "DIRECT_QUERY" - ], - "type": "string" - }, - "AnalysisRule": { - "additionalProperties": false, - "properties": { - "Policy": { - "$ref": "#/definitions/ConfiguredTableAnalysisRulePolicy" - }, - "Type": { - "$ref": "#/definitions/ConfiguredTableAnalysisRuleType" - } - }, - "required": [ - "Type", - "Policy" - ], - "type": "object" - }, - "AnalysisRuleAggregation": { - "additionalProperties": false, - "properties": { - "AdditionalAnalyses": { - "$ref": "#/definitions/AdditionalAnalyses" - }, - "AggregateColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AggregateColumn" - }, - "minItems": 1, - "type": "array" - }, - "AllowedJoinOperators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/JoinOperator" - }, - "maxItems": 2, - "type": "array" - }, - "DimensionColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "type": "array" - }, - "JoinColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "type": "array" - }, - "JoinRequired": { - "$ref": "#/definitions/JoinRequiredOption" - }, - "OutputConstraints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AggregationConstraint" - }, - "minItems": 1, - "type": "array" - }, - "ScalarFunctions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ScalarFunctions" - }, - "type": "array" - } - }, - "required": [ - "AggregateColumns", - "JoinColumns", - "DimensionColumns", - "ScalarFunctions", - "OutputConstraints" - ], - "type": "object" - }, - "AnalysisRuleColumnName": { - "maxLength": 127, - "minLength": 1, - "pattern": "^[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?$", - "type": "string" - }, - "AnalysisRuleCustom": { - "additionalProperties": false, - "properties": { - "AdditionalAnalyses": { - "$ref": "#/definitions/AdditionalAnalyses" - }, - "AllowedAnalyses": { - "$ref": "#/definitions/AllowedAnalyses" - }, - "AllowedAnalysisProviders": { - "$ref": "#/definitions/AllowedAnalysisProviders" - }, - "DifferentialPrivacy": { - "$ref": "#/definitions/DifferentialPrivacy" - }, - "DisallowedOutputColumns": { - "$ref": "#/definitions/DisallowedOutputColumns" - } - }, - "required": [ - "AllowedAnalyses" - ], - "type": "object" - }, - "AnalysisRuleList": { - "additionalProperties": false, - "properties": { - "AdditionalAnalyses": { - "$ref": "#/definitions/AdditionalAnalyses" - }, - "AllowedJoinOperators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/JoinOperator" - }, - "maxItems": 2, - "type": "array" - }, - "JoinColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "minItems": 1, - "type": "array" - }, - "ListColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "type": "array" - } - }, - "required": [ - "JoinColumns", - "ListColumns" - ], - "type": "object" - }, - "ConfiguredTableAnalysisRulePolicy": { - "additionalProperties": false, - "properties": { - "V1": { - "$ref": "#/definitions/ConfiguredTableAnalysisRulePolicyV1" - } - }, - "required": [ - "V1" - ], - "title": "V1", - "type": "object" - }, - "ConfiguredTableAnalysisRulePolicyV1": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "List": { - "$ref": "#/definitions/AnalysisRuleList" - } - }, - "required": [ - "List" - ], - "title": "List", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "Aggregation": { - "$ref": "#/definitions/AnalysisRuleAggregation" - } - }, - "required": [ - "Aggregation" - ], - "title": "Aggregation", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "Custom": { - "$ref": "#/definitions/AnalysisRuleCustom" - } - }, - "required": [ - "Custom" - ], - "title": "Custom", - "type": "object" - } - ] - }, - "ConfiguredTableAnalysisRuleType": { - "enum": [ - "AGGREGATION", - "LIST", - "CUSTOM" - ], - "type": "string" - }, - "DifferentialPrivacy": { - "additionalProperties": false, - "properties": { - "Columns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DifferentialPrivacyColumn" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "Columns" - ], - "type": "object" - }, - "DifferentialPrivacyColumn": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "DisallowedOutputColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "minItems": 0, - "type": "array" - }, - "GlueTableReference": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "maxLength": 128, - "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$", - "type": "string" - }, - "TableName": { - "maxLength": 128, - "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$", - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "JoinOperator": { - "enum": [ - "OR", - "AND" - ], - "type": "string" - }, - "JoinRequiredOption": { - "enum": [ - "QUERY_RUNNER" - ], - "type": "string" - }, - "ScalarFunctions": { - "enum": [ - "TRUNC", - "ABS", - "CEILING", - "FLOOR", - "LN", - "LOG", - "ROUND", - "SQRT", - "CAST", - "LOWER", - "RTRIM", - "UPPER", - "COALESCE", - "CONVERT", - "CURRENT_DATE", - "DATEADD", - "EXTRACT", - "GETDATE", - "SUBSTRING", - "TO_CHAR", - "TO_DATE", - "TO_NUMBER", - "TO_TIMESTAMP", - "TRIM" - ], - "type": "string" - }, - "TableReference": { - "additionalProperties": false, - "properties": { - "Glue": { - "$ref": "#/definitions/GlueTableReference" - } - }, - "required": [ - "Glue" - ], - "title": "Glue", - "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/ConfiguredTableIdentifier" - ], - "properties": { - "AllowedColumns": { - "insertionOrder": false, - "items": { - "maxLength": 128, - "pattern": "[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?", - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array" - }, - "AnalysisMethod": { - "$ref": "#/definitions/AnalysisMethod" - }, - "AnalysisRules": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRule" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "Arn": { - "maxLength": 100, - "type": "string" - }, - "ConfiguredTableIdentifier": { - "maxLength": 36, - "minLength": 36, - "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", - "type": "string" - }, - "Description": { - "maxLength": 255, - "pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$", - "type": "string" - }, - "Name": { - "maxLength": 100, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$", - "type": "string" - }, - "TableReference": { - "$ref": "#/definitions/TableReference" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ConfiguredTableIdentifier" - ], - "required": [ - "AllowedColumns", - "AnalysisMethod", - "Name", - "TableReference" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::CleanRooms::ConfiguredTable" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtableassociation.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtableassociation.json deleted file mode 100644 index 978f86b643..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtableassociation.json +++ /dev/null @@ -1,253 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ConfiguredTableIdentifier", - "/properties/Name", - "/properties/MembershipIdentifier" - ], - "definitions": { - "AllowedAdditionalAnalyses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AllowedAdditionalAnalysis" - }, - "maxItems": 25, - "minItems": 0, - "type": "array" - }, - "AllowedAdditionalAnalysis": { - "maxLength": 256, - "type": "string" - }, - "AllowedResultReceiver": { - "maxLength": 12, - "minLength": 12, - "pattern": "\\d+", - "type": "string" - }, - "AllowedResultReceivers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AllowedResultReceiver" - }, - "minItems": 0, - "type": "array" - }, - "ConfiguredTableAssociationAnalysisRule": { - "additionalProperties": false, - "properties": { - "Policy": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRulePolicy" - }, - "Type": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleType" - } - }, - "required": [ - "Type", - "Policy" - ], - "type": "object" - }, - "ConfiguredTableAssociationAnalysisRuleAggregation": { - "additionalProperties": false, - "properties": { - "AllowedAdditionalAnalyses": { - "$ref": "#/definitions/AllowedAdditionalAnalyses" - }, - "AllowedResultReceivers": { - "$ref": "#/definitions/AllowedResultReceivers" - } - }, - "type": "object" - }, - "ConfiguredTableAssociationAnalysisRuleCustom": { - "additionalProperties": false, - "properties": { - "AllowedAdditionalAnalyses": { - "$ref": "#/definitions/AllowedAdditionalAnalyses" - }, - "AllowedResultReceivers": { - "$ref": "#/definitions/AllowedResultReceivers" - } - }, - "type": "object" - }, - "ConfiguredTableAssociationAnalysisRuleList": { - "additionalProperties": false, - "properties": { - "AllowedAdditionalAnalyses": { - "$ref": "#/definitions/AllowedAdditionalAnalyses" - }, - "AllowedResultReceivers": { - "$ref": "#/definitions/AllowedResultReceivers" - } - }, - "type": "object" - }, - "ConfiguredTableAssociationAnalysisRulePolicy": { - "additionalProperties": false, - "properties": { - "V1": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRulePolicyV1" - } - }, - "required": [ - "V1" - ], - "title": "V1", - "type": "object" - }, - "ConfiguredTableAssociationAnalysisRulePolicyV1": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "List": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleList" - } - }, - "required": [ - "List" - ], - "title": "List", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "Aggregation": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleAggregation" - } - }, - "required": [ - "Aggregation" - ], - "title": "Aggregation", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "Custom": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleCustom" - } - }, - "required": [ - "Custom" - ], - "title": "Custom", - "type": "object" - } - ] - }, - "ConfiguredTableAssociationAnalysisRuleType": { - "enum": [ - "AGGREGATION", - "LIST", - "CUSTOM" - ], - "type": "string" - }, - "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/ConfiguredTableAssociationIdentifier", - "/properties/MembershipIdentifier" - ], - "properties": { - "Arn": { - "maxLength": 100, - "type": "string" - }, - "ConfiguredTableAssociationAnalysisRules": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRule" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "ConfiguredTableAssociationIdentifier": { - "maxLength": 36, - "minLength": 36, - "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", - "type": "string" - }, - "ConfiguredTableIdentifier": { - "maxLength": 36, - "minLength": 36, - "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", - "type": "string" - }, - "Description": { - "maxLength": 255, - "pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$", - "type": "string" - }, - "MembershipIdentifier": { - "maxLength": 36, - "minLength": 36, - "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", - "type": "string" - }, - "Name": { - "maxLength": 128, - "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$", - "type": "string" - }, - "RoleArn": { - "maxLength": 512, - "minLength": 32, - "pattern": "arn:aws:iam::[\\w]+:role/[\\w+=./@-]+", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/ConfiguredTableAssociationIdentifier", - "/properties/Arn" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "ConfiguredTableIdentifier", - "Name", - "RoleArn", - "MembershipIdentifier" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cleanrooms", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::CleanRooms::ConfiguredTableAssociation" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-iotsitewise-accesspolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-iotsitewise-accesspolicy.json deleted file mode 100644 index e91d24809d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-iotsitewise-accesspolicy.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "AccessPolicyIdentity": { - "additionalProperties": false, - "properties": { - "IamRole": { - "$ref": "#/definitions/IamRole" - }, - "IamUser": { - "$ref": "#/definitions/IamUser" - }, - "User": { - "$ref": "#/definitions/User" - } - }, - "type": "object" - }, - "AccessPolicyResource": { - "additionalProperties": false, - "properties": { - "Portal": { - "$ref": "#/definitions/Portal" - }, - "Project": { - "$ref": "#/definitions/Project" - } - }, - "type": "object" - }, - "IamRole": { - "additionalProperties": false, - "properties": { - "arn": { - "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$", - "type": "string" - } - }, - "type": "object" - }, - "IamUser": { - "additionalProperties": false, - "properties": { - "arn": { - "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$", - "type": "string" - } - }, - "type": "object" - }, - "Portal": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "type": "object" - }, - "Project": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "type": "object" - }, - "User": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "\\S+", - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/AccessPolicyId" - ], - "properties": { - "AccessPolicyArn": { - "type": "string" - }, - "AccessPolicyId": { - "type": "string" - }, - "AccessPolicyIdentity": { - "$ref": "#/definitions/AccessPolicyIdentity" - }, - "AccessPolicyPermission": { - "enum": [ - "ADMINISTRATOR", - "VIEWER" - ], - "type": "string" - }, - "AccessPolicyResource": { - "$ref": "#/definitions/AccessPolicyResource" - } - }, - "readOnlyProperties": [ - "/properties/AccessPolicyArn", - "/properties/AccessPolicyId" - ], - "required": [ - "AccessPolicyIdentity", - "AccessPolicyPermission", - "AccessPolicyResource" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git", - "taggable": false, - "typeName": "AWS::IoTSiteWise::AccessPolicy" -} 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 new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_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/ap_northeast_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_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/ap_northeast_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_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/ap_northeast_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_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/ap_northeast_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-environment.json deleted file mode 100644 index 1c433a260d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_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/ap_northeast_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_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/ap_northeast_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspaces-workspacespool.json deleted file mode 100644 index 19c638ca23..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_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/ap_northeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py index 0ad0bc6f6c..762d717d3d 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py @@ -746,6 +746,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::LookoutEquipment::InferenceScheduler", "AWS::LookoutVision::Project", "AWS::M2::Application", @@ -1217,6 +1218,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", @@ -1315,7 +1317,6 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-bedrock-agent.json", @@ -1344,6 +1345,8 @@ "aws-chatbot-slackchannelconfiguration.json", "aws-cleanrooms-analysistemplate.json", "aws-cleanrooms-collaboration.json", + "aws-cleanrooms-configuredtable.json", + "aws-cleanrooms-configuredtableassociation.json", "aws-cleanrooms-idmappingtable.json", "aws-cleanrooms-idnamespaceassociation.json", "aws-cleanrooms-membership.json", @@ -1370,6 +1373,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -1532,6 +1536,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -1628,7 +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", "aws-efs-filesystem.json", @@ -1670,6 +1675,7 @@ "aws-emr-studio.json", "aws-emr-studiosessionmapping.json", "aws-emr-walworkspace.json", + "aws-emrserverless-application.json", "aws-entityresolution-idmappingworkflow.json", "aws-entityresolution-idnamespace.json", "aws-entityresolution-matchingworkflow.json", @@ -1830,9 +1836,12 @@ "aws-iotevents-detectormodel.json", "aws-iotevents-input.json", "aws-iotfleethub-application.json", + "aws-iotsitewise-accesspolicy.json", "aws-iotsitewise-asset.json", "aws-iotsitewise-assetmodel.json", + "aws-iotsitewise-dashboard.json", "aws-iotsitewise-gateway.json", + "aws-iotsitewise-project.json", "aws-iottwinmaker-componenttype.json", "aws-iottwinmaker-entity.json", "aws-iottwinmaker-scene.json", @@ -1902,14 +1911,18 @@ "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", "aws-logs-destination.json", "aws-logs-loganomalydetector.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-logs-transformer.json", "aws-lookoutequipment-inferencescheduler.json", "aws-lookoutvision-project.json", "aws-m2-application.json", @@ -1933,7 +1946,6 @@ "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", @@ -1964,6 +1976,7 @@ "aws-mediatailor-sourcelocation.json", "aws-mediatailor-vodsource.json", "aws-memorydb-acl.json", + "aws-memorydb-cluster.json", "aws-memorydb-multiregioncluster.json", "aws-memorydb-parametergroup.json", "aws-memorydb-subnetgroup.json", @@ -1972,6 +1985,7 @@ "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", + "aws-msk-replicator.json", "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", @@ -2014,6 +2028,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-osis-pipeline.json", "aws-pcaconnectorad-connector.json", @@ -2058,7 +2073,9 @@ "aws-quicksight-theme.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", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", @@ -2267,7 +2284,6 @@ "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", @@ -2313,10 +2329,12 @@ "aws-wafv2-webaclassociation.json", "aws-wisdom-assistant.json", "aws-wisdom-assistantassociation.json", + "aws-wisdom-knowledgebase.json", "aws-wisdom-messagetemplate.json", "aws-wisdom-messagetemplateversion.json", "aws-workspaces-connectionalias.json", "aws-workspaces-workspace.json", + "aws-workspaces-workspacespool.json", "aws-xray-group.json", "aws-xray-resourcepolicy.json", "aws-xray-samplingrule.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_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/us_west_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-batch-jobdefinition.json similarity index 72% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-batch-jobdefinition.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-batch-jobdefinition.json index 2444dac742..ef7e6803f7 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-batch-jobdefinition.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-batch-jobdefinition.json @@ -4,11 +4,22 @@ "/properties/JobDefinitionName" ], "definitions": { + "AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "Iam": { + "type": "string" + } + }, + "type": "object" + }, "ContainerProperties": { "additionalProperties": false, "properties": { "Command": { - "insertionOrder": true, "items": { "type": "string" }, @@ -16,7 +27,6 @@ "uniqueItems": false }, "Environment": { - "insertionOrder": true, "items": { "$ref": "#/definitions/Environment" }, @@ -30,17 +40,14 @@ "type": "string" }, "FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" + "$ref": "#/definitions/FargatePlatformConfiguration" }, "Image": { "type": "string" }, + "InstanceType": { + "type": "string" + }, "JobRoleArn": { "type": "string" }, @@ -54,9 +61,8 @@ "type": "integer" }, "MountPoints": { - "insertionOrder": false, "items": { - "$ref": "#/definitions/MountPoint" + "$ref": "#/definitions/MountPoints" }, "type": "array", "uniqueItems": false @@ -74,7 +80,6 @@ "$ref": "#/definitions/RepositoryCredentials" }, "ResourceRequirements": { - "insertionOrder": false, "items": { "$ref": "#/definitions/ResourceRequirement" }, @@ -85,7 +90,6 @@ "$ref": "#/definitions/RuntimePlatform" }, "Secrets": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Secret" }, @@ -93,7 +97,6 @@ "uniqueItems": false }, "Ulimits": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Ulimit" }, @@ -107,9 +110,8 @@ "type": "integer" }, "Volumes": { - "insertionOrder": false, "items": { - "$ref": "#/definitions/Volume" + "$ref": "#/definitions/Volumes" }, "type": "array", "uniqueItems": false @@ -130,7 +132,6 @@ "type": "string" }, "Permissions": { - "insertionOrder": false, "items": { "type": "string" }, @@ -140,47 +141,10 @@ }, "type": "object" }, - "EFSAuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "EFSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/EFSAuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, "EcsProperties": { "additionalProperties": false, "properties": { "TaskProperties": { - "insertionOrder": false, "items": { "$ref": "#/definitions/EcsTaskProperties" }, @@ -197,7 +161,6 @@ "additionalProperties": false, "properties": { "Containers": { - "insertionOrder": false, "items": { "$ref": "#/definitions/TaskContainerProperties" }, @@ -229,9 +192,8 @@ "type": "string" }, "Volumes": { - "insertionOrder": false, "items": { - "$ref": "#/definitions/Volume" + "$ref": "#/definitions/Volumes" }, "type": "array", "uniqueItems": false @@ -239,11 +201,34 @@ }, "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": { - "insertionOrder": true, "items": { "type": "string" }, @@ -251,7 +236,6 @@ "uniqueItems": false }, "Command": { - "insertionOrder": true, "items": { "type": "string" }, @@ -259,7 +243,6 @@ "uniqueItems": false }, "Env": { - "insertionOrder": false, "items": { "$ref": "#/definitions/EksContainerEnvironmentVariable" }, @@ -282,7 +265,6 @@ "$ref": "#/definitions/EksContainerSecurityContext" }, "VolumeMounts": { - "insertionOrder": false, "items": { "$ref": "#/definitions/EksContainerVolumeMount" }, @@ -314,22 +296,18 @@ "additionalProperties": false, "properties": { "Limits": { - "additionalProperties": false, - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" + "format": "json", + "type": [ + "object", + "string" + ] }, "Requests": { - "additionalProperties": false, - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" + "format": "json", + "type": [ + "object", + "string" + ] } }, "type": "object" @@ -394,79 +372,11 @@ }, "type": "object" }, - "EksMetadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "additionalProperties": false, - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "EksPodProperties": { - "additionalProperties": false, - "properties": { - "Containers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "ImagePullSecrets": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "type": "array", - "uniqueItems": false - }, - "InitContainers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "Metadata": { - "$ref": "#/definitions/EksMetadata" - }, - "ServiceAccountName": { - "type": "string" - }, - "ShareProcessNamespace": { - "type": "boolean" - }, - "Volumes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, "EksProperties": { "additionalProperties": false, "properties": { "PodProperties": { - "$ref": "#/definitions/EksPodProperties" + "$ref": "#/definitions/PodProperties" } }, "type": "object" @@ -552,10 +462,10 @@ ], "type": "object" }, - "Host": { + "FargatePlatformConfiguration": { "additionalProperties": false, "properties": { - "SourcePath": { + "PlatformVersion": { "type": "string" } }, @@ -568,22 +478,15 @@ "type": "string" } }, - "type": "object" - }, - "JobTimeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, + "required": [ + "Name" + ], "type": "object" }, "LinuxParameters": { "additionalProperties": false, "properties": { "Devices": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Device" }, @@ -603,7 +506,6 @@ "type": "integer" }, "Tmpfs": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Tmpfs" }, @@ -620,16 +522,13 @@ "type": "string" }, "Options": { - "additionalProperties": false, - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" + "format": "json", + "type": [ + "object", + "string" + ] }, "SecretOptions": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Secret" }, @@ -642,7 +541,20 @@ ], "type": "object" }, - "MountPoint": { + "Metadata": { + "additionalProperties": false, + "properties": { + "Labels": { + "format": "json", + "type": [ + "object", + "string" + ] + } + }, + "type": "object" + }, + "MountPoints": { "additionalProperties": false, "properties": { "ContainerPath": { @@ -657,225 +569,114 @@ }, "type": "object" }, - "MultiNodeContainerProperties": { + "NetworkConfiguration": { "additionalProperties": false, "properties": { - "Command": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Environment": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/Environment" - }, - "type": "array", - "uniqueItems": false - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { + "AssignPublicIp": { "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { + } + }, + "type": "object" + }, + "NodeProperties": { + "additionalProperties": false, + "properties": { + "MainNode": { "type": "integer" }, - "MountPoints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MountPoint" - }, - "type": "array", - "uniqueItems": false - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array", - "uniqueItems": false - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Secrets": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array", - "uniqueItems": false - }, - "Ulimits": { - "insertionOrder": false, + "NodeRangeProperties": { "items": { - "$ref": "#/definitions/Ulimit" + "$ref": "#/definitions/NodeRangeProperty" }, "type": "array", "uniqueItems": false }, - "User": { - "type": "string" - }, - "Vcpus": { + "NumNodes": { "type": "integer" - }, - "Volumes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array", - "uniqueItems": false } }, "required": [ - "Image" + "MainNode", + "NodeRangeProperties", + "NumNodes" ], "type": "object" }, - "MultiNodeEcsProperties": { + "NodeRangeProperty": { "additionalProperties": false, "properties": { - "TaskProperties": { - "insertionOrder": false, + "Container": { + "$ref": "#/definitions/ContainerProperties" + }, + "EcsProperties": { + "$ref": "#/definitions/EcsProperties" + }, + "EksProperties": { + "$ref": "#/definitions/EksProperties" + }, + "InstanceTypes": { "items": { - "$ref": "#/definitions/MultiNodeEcsTaskProperties" + "type": "string" }, "type": "array", "uniqueItems": false + }, + "TargetNodes": { + "type": "string" } }, "required": [ - "TaskProperties" + "TargetNodes" ], "type": "object" }, - "MultiNodeEcsTaskProperties": { + "PodProperties": { "additionalProperties": false, "properties": { "Containers": { - "insertionOrder": false, "items": { - "$ref": "#/definitions/TaskContainerProperties" + "$ref": "#/definitions/EksContainer" }, "type": "array", "uniqueItems": false }, - "ExecutionRoleArn": { - "type": "string" - }, - "IpcMode": { - "type": "string" - }, - "PidMode": { + "DnsPolicy": { "type": "string" }, - "TaskRoleArn": { - "type": "string" + "HostNetwork": { + "type": "boolean" }, - "Volumes": { - "insertionOrder": false, + "ImagePullSecrets": { "items": { - "$ref": "#/definitions/Volume" + "$ref": "#/definitions/ImagePullSecret" }, "type": "array", "uniqueItems": false - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "integer" }, - "NodeRangeProperties": { - "insertionOrder": false, + "InitContainers": { "items": { - "$ref": "#/definitions/NodeRangeProperty" + "$ref": "#/definitions/EksContainer" }, "type": "array", "uniqueItems": false }, - "NumNodes": { - "type": "integer" - } - }, - "required": [ - "NumNodes", - "MainNode", - "NodeRangeProperties" - ], - "type": "object" - }, - "NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/MultiNodeContainerProperties" + "Metadata": { + "$ref": "#/definitions/Metadata" }, - "EcsProperties": { - "$ref": "#/definitions/MultiNodeEcsProperties" + "ServiceAccountName": { + "type": "string" }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" + "ShareProcessNamespace": { + "type": "boolean" }, - "InstanceTypes": { - "insertionOrder": false, + "Volumes": { "items": { - "type": "string" + "$ref": "#/definitions/EksVolume" }, "type": "array", "uniqueItems": false - }, - "TargetNodes": { - "type": "string" } }, - "required": [ - "TargetNodes" - ], "type": "object" }, "RepositoryCredentials": { @@ -909,7 +710,6 @@ "type": "integer" }, "EvaluateOnExit": { - "insertionOrder": false, "items": { "$ref": "#/definitions/EvaluateOnExit" }, @@ -942,8 +742,8 @@ } }, "required": [ - "Name", - "ValueFrom" + "ValueFrom", + "Name" ], "type": "object" }, @@ -958,8 +758,8 @@ } }, "required": [ - "ContainerName", - "Condition" + "Condition", + "ContainerName" ], "type": "object" }, @@ -967,7 +767,6 @@ "additionalProperties": false, "properties": { "Command": { - "insertionOrder": true, "items": { "type": "string" }, @@ -975,7 +774,6 @@ "uniqueItems": false }, "DependsOn": { - "insertionOrder": false, "items": { "$ref": "#/definitions/TaskContainerDependency" }, @@ -983,7 +781,6 @@ "uniqueItems": false }, "Environment": { - "insertionOrder": true, "items": { "$ref": "#/definitions/Environment" }, @@ -1003,9 +800,8 @@ "$ref": "#/definitions/LogConfiguration" }, "MountPoints": { - "insertionOrder": false, "items": { - "$ref": "#/definitions/MountPoint" + "$ref": "#/definitions/MountPoints" }, "type": "array", "uniqueItems": false @@ -1023,7 +819,6 @@ "$ref": "#/definitions/RepositoryCredentials" }, "ResourceRequirements": { - "insertionOrder": false, "items": { "$ref": "#/definitions/ResourceRequirement" }, @@ -1031,7 +826,6 @@ "uniqueItems": false }, "Secrets": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Secret" }, @@ -1039,7 +833,6 @@ "uniqueItems": false }, "Ulimits": { - "insertionOrder": false, "items": { "$ref": "#/definitions/Ulimit" }, @@ -1055,6 +848,15 @@ ], "type": "object" }, + "Timeout": { + "additionalProperties": false, + "properties": { + "AttemptDurationSeconds": { + "type": "integer" + } + }, + "type": "object" + }, "Tmpfs": { "additionalProperties": false, "properties": { @@ -1062,7 +864,6 @@ "type": "string" }, "MountOptions": { - "insertionOrder": false, "items": { "type": "string" }, @@ -1074,8 +875,8 @@ } }, "required": [ - "ContainerPath", - "Size" + "Size", + "ContainerPath" ], "type": "object" }, @@ -1093,30 +894,39 @@ } }, "required": [ + "SoftLimit", "HardLimit", - "Name", - "SoftLimit" + "Name" ], "type": "object" }, - "Volume": { + "Volumes": { "additionalProperties": false, "properties": { "EfsVolumeConfiguration": { - "$ref": "#/definitions/EFSVolumeConfiguration" + "$ref": "#/definitions/EfsVolumeConfiguration" }, "Host": { - "$ref": "#/definitions/Host" + "$ref": "#/definitions/VolumesHost" }, "Name": { "type": "string" } }, "type": "object" + }, + "VolumesHost": { + "additionalProperties": false, + "properties": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" } }, "primaryIdentifier": [ - "/properties/JobDefinitionName" + "/properties/Id" ], "properties": { "ContainerProperties": { @@ -1128,24 +938,23 @@ "EksProperties": { "$ref": "#/definitions/EksProperties" }, + "Id": { + "type": "string" + }, "JobDefinitionName": { - "maxLength": 128, "type": "string" }, "NodeProperties": { "$ref": "#/definitions/NodeProperties" }, "Parameters": { - "additionalProperties": false, - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" + "format": "json", + "type": [ + "object", + "string" + ] }, "PlatformCapabilities": { - "insertionOrder": true, "items": { "type": "string" }, @@ -1162,31 +971,28 @@ "type": "integer" }, "Tags": { - "additionalProperties": false, - "patternProperties": { - ".*": { - "type": "string" - } - }, - "type": "object" + "format": "json", + "type": [ + "object", + "string" + ] }, "Timeout": { - "$ref": "#/definitions/JobTimeout" + "$ref": "#/definitions/Timeout" }, "Type": { + "enumCaseInsensitive": [ + "container", + "multinode" + ], "type": "string" } }, + "readOnlyProperties": [ + "/properties/Id" + ], "required": [ "Type" ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, "typeName": "AWS::Batch::JobDefinition" } diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtable.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtable.json deleted file mode 100644 index 2fb41ebe1b..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtable.json +++ /dev/null @@ -1,531 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AllowedColumns", - "/properties/AnalysisMethod", - "/properties/TableReference" - ], - "definitions": { - "AdditionalAnalyses": { - "enum": [ - "ALLOWED", - "REQUIRED", - "NOT_ALLOWED" - ], - "type": "string" - }, - "AggregateColumn": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "minItems": 1, - "type": "array" - }, - "Function": { - "$ref": "#/definitions/AggregateFunctionName" - } - }, - "required": [ - "ColumnNames", - "Function" - ], - "type": "object" - }, - "AggregateFunctionName": { - "enum": [ - "SUM", - "SUM_DISTINCT", - "COUNT", - "COUNT_DISTINCT", - "AVG" - ], - "type": "string" - }, - "AggregationConstraint": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "Minimum": { - "maximum": 100000, - "minimum": 2, - "type": "number" - }, - "Type": { - "$ref": "#/definitions/AggregationType" - } - }, - "required": [ - "ColumnName", - "Minimum", - "Type" - ], - "type": "object" - }, - "AggregationType": { - "enum": [ - "COUNT_DISTINCT" - ], - "type": "string" - }, - "AllowedAnalyses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AllowedAnalysis" - }, - "minItems": 0, - "type": "array" - }, - "AllowedAnalysis": { - "maxLength": 200, - "minLength": 0, - "pattern": "(ANY_QUERY|arn:[\\w]{3}:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/analysistemplate/[\\d\\w-]+)", - "type": "string" - }, - "AllowedAnalysisProvider": { - "maxLength": 12, - "minLength": 12, - "pattern": "\\d+", - "type": "string" - }, - "AllowedAnalysisProviders": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AllowedAnalysisProvider" - }, - "minItems": 0, - "type": "array" - }, - "AnalysisMethod": { - "enum": [ - "DIRECT_QUERY" - ], - "type": "string" - }, - "AnalysisRule": { - "additionalProperties": false, - "properties": { - "Policy": { - "$ref": "#/definitions/ConfiguredTableAnalysisRulePolicy" - }, - "Type": { - "$ref": "#/definitions/ConfiguredTableAnalysisRuleType" - } - }, - "required": [ - "Type", - "Policy" - ], - "type": "object" - }, - "AnalysisRuleAggregation": { - "additionalProperties": false, - "properties": { - "AdditionalAnalyses": { - "$ref": "#/definitions/AdditionalAnalyses" - }, - "AggregateColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AggregateColumn" - }, - "minItems": 1, - "type": "array" - }, - "AllowedJoinOperators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/JoinOperator" - }, - "maxItems": 2, - "type": "array" - }, - "DimensionColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "type": "array" - }, - "JoinColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "type": "array" - }, - "JoinRequired": { - "$ref": "#/definitions/JoinRequiredOption" - }, - "OutputConstraints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AggregationConstraint" - }, - "minItems": 1, - "type": "array" - }, - "ScalarFunctions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ScalarFunctions" - }, - "type": "array" - } - }, - "required": [ - "AggregateColumns", - "JoinColumns", - "DimensionColumns", - "ScalarFunctions", - "OutputConstraints" - ], - "type": "object" - }, - "AnalysisRuleColumnName": { - "maxLength": 127, - "minLength": 1, - "pattern": "^[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?$", - "type": "string" - }, - "AnalysisRuleCustom": { - "additionalProperties": false, - "properties": { - "AdditionalAnalyses": { - "$ref": "#/definitions/AdditionalAnalyses" - }, - "AllowedAnalyses": { - "$ref": "#/definitions/AllowedAnalyses" - }, - "AllowedAnalysisProviders": { - "$ref": "#/definitions/AllowedAnalysisProviders" - }, - "DifferentialPrivacy": { - "$ref": "#/definitions/DifferentialPrivacy" - }, - "DisallowedOutputColumns": { - "$ref": "#/definitions/DisallowedOutputColumns" - } - }, - "required": [ - "AllowedAnalyses" - ], - "type": "object" - }, - "AnalysisRuleList": { - "additionalProperties": false, - "properties": { - "AdditionalAnalyses": { - "$ref": "#/definitions/AdditionalAnalyses" - }, - "AllowedJoinOperators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/JoinOperator" - }, - "maxItems": 2, - "type": "array" - }, - "JoinColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "minItems": 1, - "type": "array" - }, - "ListColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "type": "array" - } - }, - "required": [ - "JoinColumns", - "ListColumns" - ], - "type": "object" - }, - "ConfiguredTableAnalysisRulePolicy": { - "additionalProperties": false, - "properties": { - "V1": { - "$ref": "#/definitions/ConfiguredTableAnalysisRulePolicyV1" - } - }, - "required": [ - "V1" - ], - "title": "V1", - "type": "object" - }, - "ConfiguredTableAnalysisRulePolicyV1": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "List": { - "$ref": "#/definitions/AnalysisRuleList" - } - }, - "required": [ - "List" - ], - "title": "List", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "Aggregation": { - "$ref": "#/definitions/AnalysisRuleAggregation" - } - }, - "required": [ - "Aggregation" - ], - "title": "Aggregation", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "Custom": { - "$ref": "#/definitions/AnalysisRuleCustom" - } - }, - "required": [ - "Custom" - ], - "title": "Custom", - "type": "object" - } - ] - }, - "ConfiguredTableAnalysisRuleType": { - "enum": [ - "AGGREGATION", - "LIST", - "CUSTOM" - ], - "type": "string" - }, - "DifferentialPrivacy": { - "additionalProperties": false, - "properties": { - "Columns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DifferentialPrivacyColumn" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "Columns" - ], - "type": "object" - }, - "DifferentialPrivacyColumn": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "DisallowedOutputColumns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRuleColumnName" - }, - "minItems": 0, - "type": "array" - }, - "GlueTableReference": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "maxLength": 128, - "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$", - "type": "string" - }, - "TableName": { - "maxLength": 128, - "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$", - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "JoinOperator": { - "enum": [ - "OR", - "AND" - ], - "type": "string" - }, - "JoinRequiredOption": { - "enum": [ - "QUERY_RUNNER" - ], - "type": "string" - }, - "ScalarFunctions": { - "enum": [ - "TRUNC", - "ABS", - "CEILING", - "FLOOR", - "LN", - "LOG", - "ROUND", - "SQRT", - "CAST", - "LOWER", - "RTRIM", - "UPPER", - "COALESCE", - "CONVERT", - "CURRENT_DATE", - "DATEADD", - "EXTRACT", - "GETDATE", - "SUBSTRING", - "TO_CHAR", - "TO_DATE", - "TO_NUMBER", - "TO_TIMESTAMP", - "TRIM" - ], - "type": "string" - }, - "TableReference": { - "additionalProperties": false, - "properties": { - "Glue": { - "$ref": "#/definitions/GlueTableReference" - } - }, - "required": [ - "Glue" - ], - "title": "Glue", - "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/ConfiguredTableIdentifier" - ], - "properties": { - "AllowedColumns": { - "insertionOrder": false, - "items": { - "maxLength": 128, - "pattern": "[a-z0-9_](([a-z0-9_ ]+-)*([a-z0-9_ ]+))?", - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array" - }, - "AnalysisMethod": { - "$ref": "#/definitions/AnalysisMethod" - }, - "AnalysisRules": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AnalysisRule" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "Arn": { - "maxLength": 100, - "type": "string" - }, - "ConfiguredTableIdentifier": { - "maxLength": 36, - "minLength": 36, - "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", - "type": "string" - }, - "Description": { - "maxLength": 255, - "pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$", - "type": "string" - }, - "Name": { - "maxLength": 100, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$", - "type": "string" - }, - "TableReference": { - "$ref": "#/definitions/TableReference" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ConfiguredTableIdentifier" - ], - "required": [ - "AllowedColumns", - "AnalysisMethod", - "Name", - "TableReference" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::CleanRooms::ConfiguredTable" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtableassociation.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtableassociation.json deleted file mode 100644 index 978f86b643..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtableassociation.json +++ /dev/null @@ -1,253 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ConfiguredTableIdentifier", - "/properties/Name", - "/properties/MembershipIdentifier" - ], - "definitions": { - "AllowedAdditionalAnalyses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AllowedAdditionalAnalysis" - }, - "maxItems": 25, - "minItems": 0, - "type": "array" - }, - "AllowedAdditionalAnalysis": { - "maxLength": 256, - "type": "string" - }, - "AllowedResultReceiver": { - "maxLength": 12, - "minLength": 12, - "pattern": "\\d+", - "type": "string" - }, - "AllowedResultReceivers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AllowedResultReceiver" - }, - "minItems": 0, - "type": "array" - }, - "ConfiguredTableAssociationAnalysisRule": { - "additionalProperties": false, - "properties": { - "Policy": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRulePolicy" - }, - "Type": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleType" - } - }, - "required": [ - "Type", - "Policy" - ], - "type": "object" - }, - "ConfiguredTableAssociationAnalysisRuleAggregation": { - "additionalProperties": false, - "properties": { - "AllowedAdditionalAnalyses": { - "$ref": "#/definitions/AllowedAdditionalAnalyses" - }, - "AllowedResultReceivers": { - "$ref": "#/definitions/AllowedResultReceivers" - } - }, - "type": "object" - }, - "ConfiguredTableAssociationAnalysisRuleCustom": { - "additionalProperties": false, - "properties": { - "AllowedAdditionalAnalyses": { - "$ref": "#/definitions/AllowedAdditionalAnalyses" - }, - "AllowedResultReceivers": { - "$ref": "#/definitions/AllowedResultReceivers" - } - }, - "type": "object" - }, - "ConfiguredTableAssociationAnalysisRuleList": { - "additionalProperties": false, - "properties": { - "AllowedAdditionalAnalyses": { - "$ref": "#/definitions/AllowedAdditionalAnalyses" - }, - "AllowedResultReceivers": { - "$ref": "#/definitions/AllowedResultReceivers" - } - }, - "type": "object" - }, - "ConfiguredTableAssociationAnalysisRulePolicy": { - "additionalProperties": false, - "properties": { - "V1": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRulePolicyV1" - } - }, - "required": [ - "V1" - ], - "title": "V1", - "type": "object" - }, - "ConfiguredTableAssociationAnalysisRulePolicyV1": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "List": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleList" - } - }, - "required": [ - "List" - ], - "title": "List", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "Aggregation": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleAggregation" - } - }, - "required": [ - "Aggregation" - ], - "title": "Aggregation", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "Custom": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRuleCustom" - } - }, - "required": [ - "Custom" - ], - "title": "Custom", - "type": "object" - } - ] - }, - "ConfiguredTableAssociationAnalysisRuleType": { - "enum": [ - "AGGREGATION", - "LIST", - "CUSTOM" - ], - "type": "string" - }, - "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/ConfiguredTableAssociationIdentifier", - "/properties/MembershipIdentifier" - ], - "properties": { - "Arn": { - "maxLength": 100, - "type": "string" - }, - "ConfiguredTableAssociationAnalysisRules": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfiguredTableAssociationAnalysisRule" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "ConfiguredTableAssociationIdentifier": { - "maxLength": 36, - "minLength": 36, - "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", - "type": "string" - }, - "ConfiguredTableIdentifier": { - "maxLength": 36, - "minLength": 36, - "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", - "type": "string" - }, - "Description": { - "maxLength": 255, - "pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$", - "type": "string" - }, - "MembershipIdentifier": { - "maxLength": 36, - "minLength": 36, - "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", - "type": "string" - }, - "Name": { - "maxLength": 128, - "pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$", - "type": "string" - }, - "RoleArn": { - "maxLength": 512, - "minLength": 32, - "pattern": "arn:aws:iam::[\\w]+:role/[\\w+=./@-]+", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/ConfiguredTableAssociationIdentifier", - "/properties/Arn" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "ConfiguredTableIdentifier", - "Name", - "RoleArn", - "MembershipIdentifier" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cleanrooms", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::CleanRooms::ConfiguredTableAssociation" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/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/ap_northeast_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-taskdefinition.json deleted file mode 100644 index 35c2b1ed93..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-taskdefinition.json +++ /dev/null @@ -1,1044 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Family", - "/properties/ContainerDefinitions", - "/properties/Cpu", - "/properties/ExecutionRoleArn", - "/properties/InferenceAccelerators", - "/properties/Memory", - "/properties/NetworkMode", - "/properties/PlacementConstraints", - "/properties/ProxyConfiguration", - "/properties/RequiresCompatibilities", - "/properties/RuntimePlatform", - "/properties/TaskRoleArn", - "/properties/Volumes", - "/properties/PidMode", - "/properties/IpcMode", - "/properties/EphemeralStorage" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "IAM": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - } - }, - "type": "object" - }, - "ContainerDefinition": { - "additionalProperties": false, - "properties": { - "Command": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "integer" - }, - "CredentialSpecs": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DependsOn": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ContainerDependency" - }, - "type": "array" - }, - "DisableNetworking": { - "type": "boolean" - }, - "DnsSearchDomains": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DnsServers": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DockerLabels": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "DockerSecurityOptions": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KeyValuePair" - }, - "type": "array", - "uniqueItems": true, - "uniqueKeys": [ - "Name" - ] - }, - "EnvironmentFiles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/EnvironmentFile" - }, - "type": "array" - }, - "Essential": { - "type": "boolean" - }, - "ExtraHosts": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/HostEntry" - }, - "type": "array" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/HealthCheck" - }, - "Hostname": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "Interactive": { - "type": "boolean" - }, - "Links": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MemoryReservation": { - "type": "integer" - }, - "MountPoints": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/MountPoint" - }, - "type": "array", - "uniqueItems": true - }, - "Name": { - "type": "string" - }, - "PortMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PortMapping" - }, - "type": "array", - "uniqueItems": true - }, - "Privileged": { - "type": "boolean" - }, - "PseudoTerminal": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array" - }, - "RestartPolicy": { - "$ref": "#/definitions/RestartPolicy" - }, - "Secrets": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - }, - "StartTimeout": { - "type": "integer" - }, - "StopTimeout": { - "type": "integer" - }, - "SystemControls": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SystemControl" - }, - "type": "array" - }, - "Ulimits": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array" - }, - "User": { - "type": "string" - }, - "VersionConsistency": { - "default": "enabled", - "enum": [ - "enabled", - "disabled" - ], - "type": "string" - }, - "VolumesFrom": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VolumeFrom" - }, - "type": "array", - "uniqueItems": true - }, - "WorkingDirectory": { - "type": "string" - } - }, - "required": [ - "Name", - "Image" - ], - "type": "object" - }, - "ContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "enum": [ - "COMPLETE", - "HEALTHY", - "START", - "SUCCESS" - ], - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "insertionOrder": false, - "items": { - "enum": [ - "mknod", - "read", - "write" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "DockerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Autoprovision": { - "type": "boolean" - }, - "Driver": { - "type": "string" - }, - "DriverOpts": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Labels": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Scope": { - "enum": [ - "shared", - "task" - ], - "type": "string" - } - }, - "type": "object" - }, - "EFSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FilesystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FilesystemId" - ], - "type": "object" - }, - "EnvironmentFile": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "s3" - ], - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "type": "object" - }, - "FSxAuthorizationConfig": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - }, - "Domain": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter", - "Domain" - ], - "type": "object" - }, - "FSxWindowsFileServerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/FSxAuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - } - }, - "required": [ - "FileSystemId", - "RootDirectory" - ], - "type": "object" - }, - "FirelensConfiguration": { - "additionalProperties": false, - "properties": { - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "fluentbit", - "fluentd" - ], - "type": "string" - } - }, - "type": "object" - }, - "HealthCheck": { - "additionalProperties": false, - "properties": { - "Command": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Interval": { - "type": "integer" - }, - "Retries": { - "type": "integer" - }, - "StartPeriod": { - "type": "integer" - }, - "Timeout": { - "type": "integer" - } - }, - "type": "object" - }, - "HostEntry": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "IpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "HostVolumeProperties": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "InferenceAccelerator": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "KernelCapabilities": { - "additionalProperties": false, - "properties": { - "Add": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "Drop": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "$ref": "#/definitions/KernelCapabilities" - }, - "Devices": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array" - } - }, - "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" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "MountPoint": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "PortMapping": { - "additionalProperties": false, - "properties": { - "AppProtocol": { - "enum": [ - "http", - "http2", - "grpc" - ], - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "ContainerPortRange": { - "type": "string" - }, - "HostPort": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "enum": [ - "tcp", - "udp" - ], - "type": "string" - } - }, - "type": "object" - }, - "ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ProxyConfigurationProperties": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "enum": [ - "APPMESH" - ], - "type": "string" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "GPU", - "InferenceAccelerator" - ], - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "RestartPolicy": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "IgnoredExitCodes": { - "insertionOrder": false, - "items": { - "type": "integer" - }, - "type": "array" - }, - "RestartAttemptPeriod": { - "type": "integer" - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "OperatingSystemFamily": { - "enum": [ - "LINUX", - "WINDOWS_SERVER_2004_CORE", - "WINDOWS_SERVER_2016_FULL", - "WINDOWS_SERVER_2019_CORE", - "WINDOWS_SERVER_2019_FULL", - "WINDOWS_SERVER_2022_CORE", - "WINDOWS_SERVER_2022_FULL", - "WINDOWS_SERVER_20H2_CORE" - ], - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "SystemControl": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "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" - }, - "TaskDefinitionPlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "enum": [ - "core", - "cpu", - "data", - "fsize", - "locks", - "memlock", - "msgqueue", - "nice", - "nofile", - "nproc", - "rss", - "rtprio", - "rttime", - "sigpending", - "stack" - ], - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" - ], - "type": "object" - }, - "Volume": { - "additionalProperties": false, - "properties": { - "ConfiguredAtLaunch": { - "type": "boolean" - }, - "DockerVolumeConfiguration": { - "$ref": "#/definitions/DockerVolumeConfiguration" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/EFSVolumeConfiguration" - }, - "FSxWindowsFileServerVolumeConfiguration": { - "$ref": "#/definitions/FSxWindowsFileServerVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/HostVolumeProperties" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumeFrom": { - "additionalProperties": false, - "properties": { - "ReadOnly": { - "type": "boolean" - }, - "SourceContainer": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/TaskDefinitionArn" - ], - "properties": { - "ContainerDefinitions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ContainerDefinition" - }, - "type": "array", - "uniqueItems": true - }, - "Cpu": { - "type": "string" - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "InferenceAccelerators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InferenceAccelerator" - }, - "type": "array", - "uniqueItems": true - }, - "IpcMode": { - "enum": [ - "host", - "none", - "task" - ], - "type": "string" - }, - "Memory": { - "type": "string" - }, - "NetworkMode": { - "enum": [ - "awsvpc", - "bridge", - "host", - "none" - ], - "type": "string" - }, - "PidMode": { - "enum": [ - "host", - "task" - ], - "type": "string" - }, - "PlacementConstraints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TaskDefinitionPlacementConstraint" - }, - "type": "array", - "uniqueItems": true - }, - "ProxyConfiguration": { - "$ref": "#/definitions/ProxyConfiguration" - }, - "RequiresCompatibilities": { - "insertionOrder": false, - "items": { - "enum": [ - "EC2", - "EXTERNAL", - "FARGATE" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinitionArn": { - "type": "string" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/TaskRoleArn": "TaskRoleArn $OR $split(TaskRoleArn, \"role/\")[-1]" - }, - "readOnlyProperties": [ - "/properties/TaskDefinitionArn" - ], - "sourceUrl": "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::TaskDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emrserverless-application.json deleted file mode 100644 index 1a44823941..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emrserverless-application.json +++ /dev/null @@ -1,539 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "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" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-iotsitewise-accesspolicy.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-iotsitewise-accesspolicy.json deleted file mode 100644 index e91d24809d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-iotsitewise-accesspolicy.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "AccessPolicyIdentity": { - "additionalProperties": false, - "properties": { - "IamRole": { - "$ref": "#/definitions/IamRole" - }, - "IamUser": { - "$ref": "#/definitions/IamUser" - }, - "User": { - "$ref": "#/definitions/User" - } - }, - "type": "object" - }, - "AccessPolicyResource": { - "additionalProperties": false, - "properties": { - "Portal": { - "$ref": "#/definitions/Portal" - }, - "Project": { - "$ref": "#/definitions/Project" - } - }, - "type": "object" - }, - "IamRole": { - "additionalProperties": false, - "properties": { - "arn": { - "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$", - "type": "string" - } - }, - "type": "object" - }, - "IamUser": { - "additionalProperties": false, - "properties": { - "arn": { - "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$", - "type": "string" - } - }, - "type": "object" - }, - "Portal": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "type": "object" - }, - "Project": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "type": "object" - }, - "User": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "\\S+", - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/AccessPolicyId" - ], - "properties": { - "AccessPolicyArn": { - "type": "string" - }, - "AccessPolicyId": { - "type": "string" - }, - "AccessPolicyIdentity": { - "$ref": "#/definitions/AccessPolicyIdentity" - }, - "AccessPolicyPermission": { - "enum": [ - "ADMINISTRATOR", - "VIEWER" - ], - "type": "string" - }, - "AccessPolicyResource": { - "$ref": "#/definitions/AccessPolicyResource" - } - }, - "readOnlyProperties": [ - "/properties/AccessPolicyArn", - "/properties/AccessPolicyId" - ], - "required": [ - "AccessPolicyIdentity", - "AccessPolicyPermission", - "AccessPolicyResource" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git", - "taggable": false, - "typeName": "AWS::IoTSiteWise::AccessPolicy" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-iotsitewise-dashboard.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-iotsitewise-dashboard.json deleted file mode 100644 index 01c4c449d0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-iotsitewise-dashboard.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/DashboardArn" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ProjectId" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DashboardId" - ], - "properties": { - "DashboardArn": { - "type": "string" - }, - "DashboardDefinition": { - "pattern": ".+", - "type": "string" - }, - "DashboardDescription": { - "pattern": "[^\\u0000-\\u001F\\u007F]+", - "type": "string" - }, - "DashboardId": { - "type": "string" - }, - "DashboardName": { - "pattern": "[^\\u0000-\\u001F\\u007F]+", - "type": "string" - }, - "ProjectId": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/DashboardArn", - "/properties/DashboardId" - ], - "required": [ - "DashboardDefinition", - "DashboardDescription", - "DashboardName" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iotsitewise.git", - "taggable": true, - "typeName": "AWS::IoTSiteWise::Dashboard" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-iotsitewise-project.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-iotsitewise-project.json deleted file mode 100644 index 7bf5e1f469..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-iotsitewise-project.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PortalId" - ], - "definitions": { - "AssetId": { - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ProjectId" - ], - "properties": { - "AssetIds": { - "items": { - "$ref": "#/definitions/AssetId" - }, - "type": "array", - "uniqueItems": true - }, - "PortalId": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - }, - "ProjectArn": { - "type": "string" - }, - "ProjectDescription": { - "pattern": "[^\\u0000-\\u001F\\u007F]+", - "type": "string" - }, - "ProjectId": { - "type": "string" - }, - "ProjectName": { - "pattern": "[^\\u0000-\\u001F\\u007F]+", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/ProjectId", - "/properties/ProjectArn" - ], - "required": [ - "PortalId", - "ProjectName" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git", - "taggable": true, - "typeName": "AWS::IoTSiteWise::Project" -} 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 new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/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/ap_northeast_2/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/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/ap_northeast_2/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/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/ap_northeast_2/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/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/eu_central_1/aws-medialive-channelplacementgroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-channelplacementgroup.json similarity index 96% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-medialive-channelplacementgroup.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-channelplacementgroup.json index bfa12294fa..9f20068eaa 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-medialive-channelplacementgroup.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-medialive-channelplacementgroup.json @@ -79,9 +79,9 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git", "tagging": { "cloudFormationSystemTags": false, - "tagOnCreate": true, + "tagOnCreate": false, "tagProperty": "/properties/Tags", - "tagUpdatable": true, + "tagUpdatable": false, "taggable": true }, "typeName": "AWS::MediaLive::ChannelPlacementGroup" diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-memorydb-cluster.json deleted file mode 100644 index cba3a3f129..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-memorydb-cluster.json +++ /dev/null @@ -1,195 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ClusterName", - "/properties/TLSEnabled", - "/properties/DataTiering", - "/properties/KmsKeyId", - "/properties/Port", - "/properties/SubnetGroupName", - "/properties/SnapshotArns", - "/properties/SnapshotName" - ], - "definitions": { - "DataTieringStatus": { - "enum": [ - "true", - "false" - ], - "type": "string" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,128}$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,256}$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ClusterName" - ], - "properties": { - "ACLName": { - "pattern": "[a-zA-Z][a-zA-Z0-9\\-]*", - "type": "string" - }, - "ARN": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "ClusterEndpoint": { - "$ref": "#/definitions/Endpoint" - }, - "ClusterName": { - "pattern": "[a-z][a-z0-9\\-]*", - "type": "string" - }, - "DataTiering": { - "$ref": "#/definitions/DataTieringStatus", - "type": "object" - }, - "Description": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "FinalSnapshotName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MaintenanceWindow": { - "type": "string" - }, - "NodeType": { - "type": "string" - }, - "NumReplicasPerShard": { - "type": "integer" - }, - "NumShards": { - "type": "integer" - }, - "ParameterGroupName": { - "type": "string" - }, - "ParameterGroupStatus": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SnapshotArns": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "integer" - }, - "SnapshotWindow": { - "type": "string" - }, - "SnsTopicArn": { - "type": "string" - }, - "SnsTopicStatus": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "SubnetGroupName": { - "type": "string" - }, - "TLSEnabled": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Status", - "/properties/ClusterEndpoint/Address", - "/properties/ClusterEndpoint/Port", - "/properties/ARN", - "/properties/ParameterGroupStatus" - ], - "required": [ - "ClusterName", - "NodeType", - "ACLName" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-memorydb", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::MemoryDB::Cluster", - "writeOnlyProperties": [ - "/properties/SnapshotArns", - "/properties/SnapshotName", - "/properties/FinalSnapshotName" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json deleted file mode 100644 index 8ca994e218..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json +++ /dev/null @@ -1,321 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ReplicatorName" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ReplicatorName", - "/properties/Description", - "/properties/KafkaClusters", - "/properties/ServiceExecutionRoleArn" - ], - "definitions": { - "AmazonMskCluster": { - "additionalProperties": false, - "properties": { - "MskClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - } - }, - "required": [ - "MskClusterArn" - ], - "type": "object" - }, - "ConsumerGroupReplication": { - "additionalProperties": false, - "properties": { - "ConsumerGroupsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ConsumerGroupsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "DetectAndCopyNewConsumerGroups": { - "type": "boolean" - }, - "SynchroniseConsumerGroupOffsets": { - "type": "boolean" - } - }, - "required": [ - "ConsumerGroupsToReplicate" - ], - "type": "object" - }, - "KafkaCluster": { - "additionalProperties": false, - "properties": { - "AmazonMskCluster": { - "$ref": "#/definitions/AmazonMskCluster" - }, - "VpcConfig": { - "$ref": "#/definitions/KafkaClusterClientVpcConfig" - } - }, - "required": [ - "AmazonMskCluster", - "VpcConfig" - ], - "type": "object" - }, - "KafkaClusterClientVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 3, - "minItems": 2, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "ReplicationInfo": { - "additionalProperties": false, - "properties": { - "ConsumerGroupReplication": { - "$ref": "#/definitions/ConsumerGroupReplication" - }, - "SourceKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TargetCompressionType": { - "enum": [ - "NONE", - "GZIP", - "SNAPPY", - "LZ4", - "ZSTD" - ], - "type": "string" - }, - "TargetKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TopicReplication": { - "$ref": "#/definitions/TopicReplication" - } - }, - "required": [ - "SourceKafkaClusterArn", - "TargetKafkaClusterArn", - "TopicReplication", - "ConsumerGroupReplication", - "TargetCompressionType" - ], - "type": "object" - }, - "ReplicationStartingPosition": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationStartingPositionType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationStartingPositionType": { - "enum": [ - "LATEST", - "EARLIEST" - ], - "type": "string" - }, - "ReplicationTopicNameConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationTopicNameConfigurationType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationTopicNameConfigurationType": { - "enum": [ - "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS", - "IDENTICAL" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "TopicReplication": { - "additionalProperties": false, - "properties": { - "CopyAccessControlListsForTopics": { - "type": "boolean" - }, - "CopyTopicConfigurations": { - "type": "boolean" - }, - "DetectAndCopyNewTopics": { - "type": "boolean" - }, - "StartingPosition": { - "$ref": "#/definitions/ReplicationStartingPosition" - }, - "TopicNameConfiguration": { - "$ref": "#/definitions/ReplicationTopicNameConfiguration" - }, - "TopicsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "TopicsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "TopicsToReplicate" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ReplicatorArn" - ], - "properties": { - "CurrentVersion": { - "type": "string" - }, - "Description": { - "maxLength": 1024, - "type": "string" - }, - "KafkaClusters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KafkaCluster" - }, - "maxItems": 2, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationInfoList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ReplicationInfo" - }, - "maxItems": 1, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ReplicatorArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "ReplicatorName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$", - "type": "string" - }, - "ServiceExecutionRoleArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/ReplicatorArn" - ], - "required": [ - "ReplicatorName", - "ReplicationInfoList", - "KafkaClusters", - "ServiceExecutionRoleArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::MSK::Replicator" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/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/ap_northeast_2/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_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/ap_northeast_2/aws-rds-customdbengineversion.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-customdbengineversion.json deleted file mode 100644 index ae6cc1e635..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-customdbengineversion.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Engine", - "/properties/EngineVersion", - "/properties/DatabaseInstallationFilesS3BucketName", - "/properties/DatabaseInstallationFilesS3Prefix", - "/properties/ImageId", - "/properties/KMSKeyId", - "/properties/Manifest", - "/properties/SourceCustomDbEngineVersionIdentifier", - "/properties/UseAwsProvidedLatestImage" - ], - "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/Engine", - "/properties/EngineVersion" - ], - "properties": { - "DBEngineVersionArn": { - "type": "string" - }, - "DatabaseInstallationFilesS3BucketName": { - "maxLength": 63, - "minLength": 3, - "type": "string" - }, - "DatabaseInstallationFilesS3Prefix": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Description": { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - "Engine": { - "maxLength": 35, - "minLength": 1, - "pattern": "^[A-Za-z0-9-]{1,35}$", - "type": "string" - }, - "EngineVersion": { - "maxLength": 60, - "minLength": 1, - "pattern": "^[a-z0-9_.-]{1,60}$", - "type": "string" - }, - "ImageId": { - "format": "AWS::EC2::Image.Id", - "type": "string" - }, - "KMSKeyId": { - "maxLength": 2048, - "minLength": 1, - "pattern": "[a-zA-Z0-9_:\\-\\/]+", - "type": "string" - }, - "Manifest": { - "maxLength": 51000, - "minLength": 1, - "pattern": "[\\s\\S]*", - "type": "string" - }, - "SourceCustomDbEngineVersionIdentifier": { - "type": "string" - }, - "Status": { - "default": "available", - "enum": [ - "available", - "inactive", - "inactive-except-restore" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "UseAwsProvidedLatestImage": { - "type": "boolean" - } - }, - "propertyTransform": { - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$lowercase(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])" - }, - "readOnlyProperties": [ - "/properties/DBEngineVersionArn" - ], - "required": [ - "Engine", - "EngineVersion" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "taggable": true - }, - "typeName": "AWS::RDS::CustomDBEngineVersion", - "writeOnlyProperties": [ - "/properties/Manifest", - "/properties/SourceCustomDbEngineVersionIdentifier", - "/properties/UseAwsProvidedLatestImage" - ] -} 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 new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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_2/aws-wisdom-knowledgebase.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-wisdom-knowledgebase.json deleted file mode 100644 index 1db63a0d98..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-wisdom-knowledgebase.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/KnowledgeBaseArn" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Description", - "/properties/KnowledgeBaseType", - "/properties/Name", - "/properties/ServerSideEncryptionConfiguration", - "/properties/SourceConfiguration", - "/properties/Tags" - ], - "definitions": { - "AppIntegrationsConfiguration": { - "additionalProperties": false, - "properties": { - "AppIntegrationArn": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^arn:[a-z-]+?:[a-z-]+?:[a-z0-9-]*?:([0-9]{12})?:[a-zA-Z0-9-:/]+$", - "type": "string" - }, - "ObjectFields": { - "insertionOrder": false, - "items": { - "maxLength": 4096, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "AppIntegrationArn" - ], - "type": "object" - }, - "KnowledgeBaseType": { - "enum": [ - "EXTERNAL", - "CUSTOM", - "MESSAGE_TEMPLATES" - ], - "type": "string" - }, - "RenderingConfiguration": { - "additionalProperties": false, - "properties": { - "TemplateUri": { - "maxLength": 4096, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "maxLength": 4096, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "SourceConfiguration": { - "additionalProperties": false, - "oneOf": [ - { - "required": [ - "AppIntegrations" - ] - } - ], - "properties": { - "AppIntegrations": { - "$ref": "#/definitions/AppIntegrationsConfiguration" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/KnowledgeBaseId" - ], - "properties": { - "Description": { - "maxLength": 255, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\s_.,-]+", - "type": "string" - }, - "KnowledgeBaseArn": { - "pattern": "^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$", - "type": "string" - }, - "KnowledgeBaseId": { - "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$", - "type": "string" - }, - "KnowledgeBaseType": { - "$ref": "#/definitions/KnowledgeBaseType" - }, - "Name": { - "maxLength": 255, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\s_.,-]+", - "type": "string" - }, - "RenderingConfiguration": { - "$ref": "#/definitions/RenderingConfiguration" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/ServerSideEncryptionConfiguration" - }, - "SourceConfiguration": { - "$ref": "#/definitions/SourceConfiguration" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/KnowledgeBaseId", - "/properties/KnowledgeBaseArn" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "KnowledgeBaseType", - "Name" - ], - "taggable": false, - "typeName": "AWS::Wisdom::KnowledgeBase" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-workspaces-workspacespool.json deleted file mode 100644 index 19c638ca23..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/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/ap_northeast_3/__init__.py b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py index 263d70e550..48e3c81774 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py @@ -937,7 +937,6 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -970,6 +969,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -1148,7 +1148,6 @@ "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", @@ -1293,17 +1292,21 @@ "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", "aws-logs-destination.json", "aws-logs-loganomalydetector.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-logs-transformer.json", "aws-m2-application.json", "aws-m2-deployment.json", + "aws-m2-environment.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", "aws-macie-session.json", @@ -1316,7 +1319,6 @@ "aws-mediaconnect-flowsource.json", "aws-mediaconnect-flowvpcinterface.json", "aws-mediaconnect-gateway.json", - "aws-medialive-channelplacementgroup.json", "aws-medialive-cloudwatchalarmtemplate.json", "aws-medialive-cloudwatchalarmtemplategroup.json", "aws-medialive-cluster.json", @@ -1574,7 +1576,6 @@ "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-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} 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 new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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 new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/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/ap_northeast_3/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/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/ap_northeast_3/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/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/ap_northeast_3/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/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/ap_northeast_3/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-m2-environment.json deleted file mode 100644 index 1c433a260d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/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_west_2/aws-medialive-channelplacementgroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-medialive-channelplacementgroup.json similarity index 96% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-medialive-channelplacementgroup.json rename to src/cfnlint/data/schemas/providers/ap_northeast_3/aws-medialive-channelplacementgroup.json index bfa12294fa..9f20068eaa 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-medialive-channelplacementgroup.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-medialive-channelplacementgroup.json @@ -79,9 +79,9 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git", "tagging": { "cloudFormationSystemTags": false, - "tagOnCreate": true, + "tagOnCreate": false, "tagProperty": "/properties/Tags", - "tagUpdatable": true, + "tagUpdatable": false, "taggable": true }, "typeName": "AWS::MediaLive::ChannelPlacementGroup" 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 new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 0223fd916a..f6763e04c6 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py @@ -155,6 +155,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -1242,10 +1243,8 @@ "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", @@ -1336,7 +1335,6 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", - "aws-cassandra-keyspace.json", "aws-cassandra-table.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", @@ -1901,7 +1899,6 @@ "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", @@ -1917,6 +1914,7 @@ "aws-logs-transformer.json", "aws-m2-application.json", "aws-m2-deployment.json", + "aws-m2-environment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -2323,6 +2321,7 @@ "aws-wafv2-webacl.json", "aws-wafv2-webaclassociation.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/ap_south_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-configurationprofile.json new file mode 100644 index 0000000000..5d841be3e1 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-configurationprofile.json @@ -0,0 +1,138 @@ +{ + "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 new file mode 100644 index 0000000000..e5874842d7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-appconfig-environment.json @@ -0,0 +1,124 @@ +{ + "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-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-keyspace.json new file mode 100644 index 0000000000..203828de9b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-keyspace.json @@ -0,0 +1,118 @@ +{ + "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-cassandra-type.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-type.json new file mode 100644 index 0000000000..a788c284cf --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cassandra-type.json @@ -0,0 +1,87 @@ +{ + "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_south_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-m2-environment.json deleted file mode 100644 index 1c433a260d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_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/ap_south_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-workspaces-workspacespool.json deleted file mode 100644 index 19c638ca23..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_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/ap_south_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py index 53d2f55f4d..0268ec2da0 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py @@ -442,6 +442,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", "AWS::MSK::ClusterPolicy", @@ -767,7 +768,6 @@ "aws-backup-restoretestingplan.json", "aws-backup-restoretestingselection.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -789,10 +789,12 @@ "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", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -874,6 +876,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -896,6 +899,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", @@ -952,7 +956,6 @@ "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", @@ -970,6 +973,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", @@ -1072,14 +1076,18 @@ "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-loganomalydetector.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-logs-transformer.json", "aws-mediaconnect-flow.json", "aws-mediaconnect-flowentitlement.json", "aws-mediaconnect-flowoutput.json", @@ -1133,6 +1141,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-pcaconnectorad-templategroupaccesscontrolentry.json", @@ -1270,7 +1279,6 @@ "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-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/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_south_2/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/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/ap_south_2/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_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/ap_south_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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_south_2/aws-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-elasticache-serverlesscache.json deleted file mode 100644 index 3b7cde6c66..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/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_south_2/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/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/ap_south_2/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/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/ap_south_2/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/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/ap_south_2/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/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/ap_south_2/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_2/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/ap_south_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 5108f8b92d..d6aec1528a 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py @@ -1291,6 +1291,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", @@ -2057,6 +2058,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", @@ -2430,7 +2432,6 @@ "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-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_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_southeast_1/aws-medialive-channelplacementgroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-medialive-channelplacementgroup.json deleted file mode 100644 index bfa12294fa..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/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": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::MediaLive::ChannelPlacementGroup" -} 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 new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 9b07f89c67..884223eae0 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py @@ -158,6 +158,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -1339,10 +1340,8 @@ "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", @@ -1438,7 +1437,6 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", - "aws-cassandra-keyspace.json", "aws-cassandra-table.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", @@ -2069,7 +2067,6 @@ "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", @@ -2480,7 +2477,6 @@ "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 new file mode 100644 index 0000000000..5d841be3e1 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-configurationprofile.json @@ -0,0 +1,138 @@ +{ + "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 new file mode 100644 index 0000000000..e5874842d7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-appconfig-environment.json @@ -0,0 +1,124 @@ +{ + "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-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-keyspace.json new file mode 100644 index 0000000000..203828de9b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-keyspace.json @@ -0,0 +1,118 @@ +{ + "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 new file mode 100644 index 0000000000..a788c284cf --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cassandra-type.json @@ -0,0 +1,87 @@ +{ + "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-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 85a1875547..97f9a47071 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py @@ -470,6 +470,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", "AWS::MSK::ClusterPolicy", @@ -866,6 +867,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -945,6 +947,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -1033,7 +1036,6 @@ "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", @@ -1173,14 +1175,18 @@ "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", "aws-logs-destination.json", "aws-logs-loganomalydetector.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-logs-transformer.json", "aws-msk-batchscramsecret.json", "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", @@ -1218,6 +1224,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-pcaconnectorad-templategroupaccesscontrolentry.json", @@ -1401,7 +1408,6 @@ "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-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/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/ap_southeast_3/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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_3/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/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/ap_southeast_3/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/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/ap_southeast_3/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/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/ap_southeast_3/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/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/ap_southeast_3/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/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/ap_southeast_3/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 2548777199..7c149e71a7 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py @@ -436,6 +436,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", "AWS::MSK::ClusterPolicy", @@ -761,7 +762,6 @@ "aws-backup-restoretestingplan.json", "aws-backup-restoretestingselection.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -783,10 +783,12 @@ "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", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -864,6 +866,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -942,7 +945,6 @@ "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", @@ -1059,14 +1061,18 @@ "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-loganomalydetector.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-logs-transformer.json", "aws-mediaconnect-flow.json", "aws-mediaconnect-flowentitlement.json", "aws-mediaconnect-flowoutput.json", @@ -1124,6 +1130,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-pcaconnectorad-templategroupaccesscontrolentry.json", @@ -1261,7 +1268,6 @@ "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-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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_southeast_4/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/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_4/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/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/ap_southeast_4/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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_4/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/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/ap_southeast_4/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/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/ap_southeast_4/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/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/ap_southeast_4/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/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/ap_southeast_4/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/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/ap_southeast_4/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 719c3fcd11..e80d9738f3 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py @@ -13,11 +13,14 @@ "AWS::ApiGateway::ApiKey", "AWS::ApiGateway::Authorizer", "AWS::ApiGateway::BasePathMapping", + "AWS::ApiGateway::BasePathMappingV2", "AWS::ApiGateway::ClientCertificate", "AWS::ApiGateway::Deployment", "AWS::ApiGateway::DocumentationPart", "AWS::ApiGateway::DocumentationVersion", "AWS::ApiGateway::DomainName", + "AWS::ApiGateway::DomainNameAccessAssociation", + "AWS::ApiGateway::DomainNameV2", "AWS::ApiGateway::GatewayResponse", "AWS::ApiGateway::Method", "AWS::ApiGateway::Model", @@ -303,11 +306,17 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", "AWS::MSK::ClusterPolicy", "AWS::MSK::Configuration", "AWS::MSK::VpcConnection", + "AWS::NetworkFirewall::Firewall", + "AWS::NetworkFirewall::FirewallPolicy", + "AWS::NetworkFirewall::LoggingConfiguration", + "AWS::NetworkFirewall::RuleGroup", + "AWS::NetworkFirewall::TLSInspectionConfiguration", "AWS::Oam::Link", "AWS::Oam::Sink", "AWS::OpenSearchService::Domain", @@ -432,15 +441,19 @@ "aws-apigateway-apikey.json", "aws-apigateway-authorizer.json", "aws-apigateway-basepathmapping.json", + "aws-apigateway-basepathmappingv2.json", "aws-apigateway-clientcertificate.json", "aws-apigateway-deployment.json", "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", "aws-apigateway-requestvalidator.json", "aws-apigateway-resource.json", + "aws-apigateway-restapi.json", "aws-apigateway-stage.json", "aws-apigateway-usageplan.json", "aws-apigateway-usageplankey.json", @@ -475,6 +488,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -510,6 +524,7 @@ "aws-datasync-task.json", "aws-dynamodb-globaltable.json", "aws-ec2-capacityreservation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -579,7 +594,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", "aws-efs-filesystem.json", @@ -653,18 +668,27 @@ "aws-lambda-layerversionpermission.json", "aws-lambda-permission.json", "aws-lambda-version.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-logs-transformer.json", "aws-msk-batchscramsecret.json", "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", "aws-msk-vpcconnection.json", + "aws-networkfirewall-firewall.json", + "aws-networkfirewall-firewallpolicy.json", + "aws-networkfirewall-loggingconfiguration.json", + "aws-networkfirewall-rulegroup.json", + "aws-networkfirewall-tlsinspectionconfiguration.json", "aws-oam-link.json", "aws-oam-sink.json", "aws-opsworks-app.json", @@ -674,6 +698,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-ram-permission.json", "aws-rbin-rule.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-restapi.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-restapi.json deleted file mode 100644 index 54905e2c8b..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-restapi.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "VpcEndpointIds": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "ETag": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/RestApiId" - ], - "properties": { - "ApiKeySourceType": { - "enum": [ - "AUTHORIZER", - "HEADER" - ], - "type": "string" - }, - "BinaryMediaTypes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Body": { - "type": [ - "object", - "string" - ] - }, - "BodyS3Location": { - "$ref": "#/definitions/S3Location" - }, - "CloneFrom": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "type": "boolean" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "FailOnWarnings": { - "type": "boolean" - }, - "MinimumCompressionSize": { - "type": "integer" - }, - "Mode": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "additionalProperties": false, - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "RestApiId": { - "type": "string" - }, - "RootResourceId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/RestApiId", - "/properties/RootResourceId" - ], - "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::RestApi", - "writeOnlyProperties": [ - "/properties/Body", - "/properties/BodyS3Location", - "/properties/CloneFrom", - "/properties/FailOnWarnings", - "/properties/Mode", - "/properties/Parameters" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-batch-jobdefinition.json index aa3d641ec7..da14262e51 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-batch-jobdefinition.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-batch-jobdefinition.json @@ -132,6 +132,11 @@ }, "Permissions": { "items": { + "enumCaseInsensitive": [ + "mknod", + "read", + "write" + ], "type": "string" }, "type": "array", @@ -147,6 +152,10 @@ "type": "string" }, "Iam": { + "enumCaseInsensitive": [ + "disabled", + "enabled" + ], "type": "string" } }, @@ -165,6 +174,10 @@ "type": "string" }, "TransitEncryption": { + "enumCaseInsensitive": [ + "disabled", + "enabled" + ], "type": "string" }, "TransitEncryptionPort": { @@ -511,6 +524,10 @@ "additionalProperties": false, "properties": { "Action": { + "enumCaseInsensitive": [ + "exit", + "retry" + ], "type": "string" }, "OnExitCode": { @@ -591,6 +608,15 @@ "additionalProperties": false, "properties": { "LogDriver": { + "enumCaseInsensitive": [ + "awslogs", + "fluentd", + "gelf", + "journald", + "json-file", + "splunk", + "syslog" + ], "type": "string" }, "Options": { @@ -633,6 +659,10 @@ "additionalProperties": false, "properties": { "AssignPublicIp": { + "enumCaseInsensitive": [ + "disabled", + "enabled" + ], "type": "string" } }, @@ -703,6 +733,11 @@ "additionalProperties": false, "properties": { "Type": { + "enumCaseInsensitive": [ + "gpu", + "memory", + "vcpu" + ], "type": "string" }, "Value": { @@ -953,6 +988,10 @@ }, "PlatformCapabilities": { "items": { + "enumCaseInsensitive": [ + "ec2", + "fargate" + ], "type": "string" }, "type": "array", @@ -985,6 +1024,10 @@ "$ref": "#/definitions/JobTimeout" }, "Type": { + "enumCaseInsensitive": [ + "container", + "multinode" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/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/ap_southeast_5/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-taskdefinition.json deleted file mode 100644 index 35c2b1ed93..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-taskdefinition.json +++ /dev/null @@ -1,1044 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Family", - "/properties/ContainerDefinitions", - "/properties/Cpu", - "/properties/ExecutionRoleArn", - "/properties/InferenceAccelerators", - "/properties/Memory", - "/properties/NetworkMode", - "/properties/PlacementConstraints", - "/properties/ProxyConfiguration", - "/properties/RequiresCompatibilities", - "/properties/RuntimePlatform", - "/properties/TaskRoleArn", - "/properties/Volumes", - "/properties/PidMode", - "/properties/IpcMode", - "/properties/EphemeralStorage" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "IAM": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - } - }, - "type": "object" - }, - "ContainerDefinition": { - "additionalProperties": false, - "properties": { - "Command": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "integer" - }, - "CredentialSpecs": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DependsOn": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ContainerDependency" - }, - "type": "array" - }, - "DisableNetworking": { - "type": "boolean" - }, - "DnsSearchDomains": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DnsServers": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DockerLabels": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "DockerSecurityOptions": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KeyValuePair" - }, - "type": "array", - "uniqueItems": true, - "uniqueKeys": [ - "Name" - ] - }, - "EnvironmentFiles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/EnvironmentFile" - }, - "type": "array" - }, - "Essential": { - "type": "boolean" - }, - "ExtraHosts": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/HostEntry" - }, - "type": "array" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/HealthCheck" - }, - "Hostname": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "Interactive": { - "type": "boolean" - }, - "Links": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MemoryReservation": { - "type": "integer" - }, - "MountPoints": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/MountPoint" - }, - "type": "array", - "uniqueItems": true - }, - "Name": { - "type": "string" - }, - "PortMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PortMapping" - }, - "type": "array", - "uniqueItems": true - }, - "Privileged": { - "type": "boolean" - }, - "PseudoTerminal": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array" - }, - "RestartPolicy": { - "$ref": "#/definitions/RestartPolicy" - }, - "Secrets": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - }, - "StartTimeout": { - "type": "integer" - }, - "StopTimeout": { - "type": "integer" - }, - "SystemControls": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SystemControl" - }, - "type": "array" - }, - "Ulimits": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array" - }, - "User": { - "type": "string" - }, - "VersionConsistency": { - "default": "enabled", - "enum": [ - "enabled", - "disabled" - ], - "type": "string" - }, - "VolumesFrom": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VolumeFrom" - }, - "type": "array", - "uniqueItems": true - }, - "WorkingDirectory": { - "type": "string" - } - }, - "required": [ - "Name", - "Image" - ], - "type": "object" - }, - "ContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "enum": [ - "COMPLETE", - "HEALTHY", - "START", - "SUCCESS" - ], - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "insertionOrder": false, - "items": { - "enum": [ - "mknod", - "read", - "write" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "DockerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Autoprovision": { - "type": "boolean" - }, - "Driver": { - "type": "string" - }, - "DriverOpts": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Labels": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Scope": { - "enum": [ - "shared", - "task" - ], - "type": "string" - } - }, - "type": "object" - }, - "EFSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FilesystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FilesystemId" - ], - "type": "object" - }, - "EnvironmentFile": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "s3" - ], - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "type": "object" - }, - "FSxAuthorizationConfig": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - }, - "Domain": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter", - "Domain" - ], - "type": "object" - }, - "FSxWindowsFileServerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/FSxAuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - } - }, - "required": [ - "FileSystemId", - "RootDirectory" - ], - "type": "object" - }, - "FirelensConfiguration": { - "additionalProperties": false, - "properties": { - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "fluentbit", - "fluentd" - ], - "type": "string" - } - }, - "type": "object" - }, - "HealthCheck": { - "additionalProperties": false, - "properties": { - "Command": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Interval": { - "type": "integer" - }, - "Retries": { - "type": "integer" - }, - "StartPeriod": { - "type": "integer" - }, - "Timeout": { - "type": "integer" - } - }, - "type": "object" - }, - "HostEntry": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "IpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "HostVolumeProperties": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "InferenceAccelerator": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "KernelCapabilities": { - "additionalProperties": false, - "properties": { - "Add": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "Drop": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "$ref": "#/definitions/KernelCapabilities" - }, - "Devices": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array" - } - }, - "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" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "MountPoint": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "PortMapping": { - "additionalProperties": false, - "properties": { - "AppProtocol": { - "enum": [ - "http", - "http2", - "grpc" - ], - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "ContainerPortRange": { - "type": "string" - }, - "HostPort": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "enum": [ - "tcp", - "udp" - ], - "type": "string" - } - }, - "type": "object" - }, - "ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ProxyConfigurationProperties": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "enum": [ - "APPMESH" - ], - "type": "string" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "GPU", - "InferenceAccelerator" - ], - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "RestartPolicy": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "IgnoredExitCodes": { - "insertionOrder": false, - "items": { - "type": "integer" - }, - "type": "array" - }, - "RestartAttemptPeriod": { - "type": "integer" - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "OperatingSystemFamily": { - "enum": [ - "LINUX", - "WINDOWS_SERVER_2004_CORE", - "WINDOWS_SERVER_2016_FULL", - "WINDOWS_SERVER_2019_CORE", - "WINDOWS_SERVER_2019_FULL", - "WINDOWS_SERVER_2022_CORE", - "WINDOWS_SERVER_2022_FULL", - "WINDOWS_SERVER_20H2_CORE" - ], - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "SystemControl": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "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" - }, - "TaskDefinitionPlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "enum": [ - "core", - "cpu", - "data", - "fsize", - "locks", - "memlock", - "msgqueue", - "nice", - "nofile", - "nproc", - "rss", - "rtprio", - "rttime", - "sigpending", - "stack" - ], - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" - ], - "type": "object" - }, - "Volume": { - "additionalProperties": false, - "properties": { - "ConfiguredAtLaunch": { - "type": "boolean" - }, - "DockerVolumeConfiguration": { - "$ref": "#/definitions/DockerVolumeConfiguration" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/EFSVolumeConfiguration" - }, - "FSxWindowsFileServerVolumeConfiguration": { - "$ref": "#/definitions/FSxWindowsFileServerVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/HostVolumeProperties" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumeFrom": { - "additionalProperties": false, - "properties": { - "ReadOnly": { - "type": "boolean" - }, - "SourceContainer": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/TaskDefinitionArn" - ], - "properties": { - "ContainerDefinitions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ContainerDefinition" - }, - "type": "array", - "uniqueItems": true - }, - "Cpu": { - "type": "string" - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "InferenceAccelerators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InferenceAccelerator" - }, - "type": "array", - "uniqueItems": true - }, - "IpcMode": { - "enum": [ - "host", - "none", - "task" - ], - "type": "string" - }, - "Memory": { - "type": "string" - }, - "NetworkMode": { - "enum": [ - "awsvpc", - "bridge", - "host", - "none" - ], - "type": "string" - }, - "PidMode": { - "enum": [ - "host", - "task" - ], - "type": "string" - }, - "PlacementConstraints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TaskDefinitionPlacementConstraint" - }, - "type": "array", - "uniqueItems": true - }, - "ProxyConfiguration": { - "$ref": "#/definitions/ProxyConfiguration" - }, - "RequiresCompatibilities": { - "insertionOrder": false, - "items": { - "enum": [ - "EC2", - "EXTERNAL", - "FARGATE" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinitionArn": { - "type": "string" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/TaskRoleArn": "TaskRoleArn $OR $split(TaskRoleArn, \"role/\")[-1]" - }, - "readOnlyProperties": [ - "/properties/TaskDefinitionArn" - ], - "sourceUrl": "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::TaskDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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_5/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/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/ap_southeast_5/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/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/ap_southeast_5/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/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/ap_southeast_5/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/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/ap_southeast_5/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/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/ca_central_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py index c1b5bf827b..4bd7b66b2b 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py @@ -698,6 +698,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::M2::Application", "AWS::M2::Deployment", "AWS::M2::Environment", @@ -725,8 +726,13 @@ "AWS::MediaConvert::JobTemplate", "AWS::MediaConvert::Preset", "AWS::MediaConvert::Queue", + "AWS::MediaLive::CloudWatchAlarmTemplate", + "AWS::MediaLive::CloudWatchAlarmTemplateGroup", + "AWS::MediaLive::EventBridgeRuleTemplate", + "AWS::MediaLive::EventBridgeRuleTemplateGroup", "AWS::MediaLive::Multiplex", "AWS::MediaLive::Multiplexprogram", + "AWS::MediaLive::SignalMap", "AWS::MediaPackage::Asset", "AWS::MediaPackage::Channel", "AWS::MediaPackage::OriginEndpoint", @@ -1172,6 +1178,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", @@ -1265,7 +1272,6 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-bedrock-agent.json", @@ -1314,6 +1320,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -1477,6 +1484,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -1574,7 +1582,6 @@ "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", @@ -1617,6 +1624,7 @@ "aws-emr-studio.json", "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", + "aws-emrserverless-application.json", "aws-events-apidestination.json", "aws-events-archive.json", "aws-events-endpoint.json", @@ -1744,6 +1752,7 @@ "aws-iotevents-detectormodel.json", "aws-iotevents-input.json", "aws-iotfleethub-application.json", + "aws-iotsitewise-accesspolicy.json", "aws-iotsitewise-asset.json", "aws-iotsitewise-assetmodel.json", "aws-iotsitewise-dashboard.json", @@ -1808,17 +1817,21 @@ "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", + "aws-logs-metricfilter.json", + "aws-logs-querydefinition.json", "aws-logs-resourcepolicy.json", + "aws-logs-subscriptionfilter.json", + "aws-logs-transformer.json", "aws-m2-application.json", "aws-m2-deployment.json", + "aws-m2-environment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -1835,8 +1848,13 @@ "aws-mediaconvert-jobtemplate.json", "aws-mediaconvert-preset.json", "aws-mediaconvert-queue.json", + "aws-medialive-cloudwatchalarmtemplate.json", + "aws-medialive-cloudwatchalarmtemplategroup.json", + "aws-medialive-eventbridgeruletemplate.json", + "aws-medialive-eventbridgeruletemplategroup.json", "aws-medialive-multiplex.json", "aws-medialive-multiplexprogram.json", + "aws-medialive-signalmap.json", "aws-mediapackage-asset.json", "aws-mediapackage-channel.json", "aws-mediapackage-originendpoint.json", @@ -1861,6 +1879,7 @@ "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", + "aws-msk-replicator.json", "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", @@ -1913,6 +1932,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-osis-pipeline.json", "aws-panorama-applicationinstance.json", @@ -1960,6 +1980,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", @@ -1987,6 +2008,7 @@ "aws-redshift-integration.json", "aws-redshift-scheduledaction.json", "aws-redshiftserverless-namespace.json", + "aws-redshiftserverless-workgroup.json", "aws-refactorspaces-application.json", "aws-refactorspaces-environment.json", "aws-refactorspaces-route.json", @@ -2171,7 +2193,6 @@ "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/ca_central_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_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/ca_central_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_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_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-emrserverless-application.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-emrserverless-application.json deleted file mode 100644 index 1a44823941..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-emrserverless-application.json +++ /dev/null @@ -1,539 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "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" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-iotsitewise-accesspolicy.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-iotsitewise-accesspolicy.json deleted file mode 100644 index e91d24809d..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-iotsitewise-accesspolicy.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "AccessPolicyIdentity": { - "additionalProperties": false, - "properties": { - "IamRole": { - "$ref": "#/definitions/IamRole" - }, - "IamUser": { - "$ref": "#/definitions/IamUser" - }, - "User": { - "$ref": "#/definitions/User" - } - }, - "type": "object" - }, - "AccessPolicyResource": { - "additionalProperties": false, - "properties": { - "Portal": { - "$ref": "#/definitions/Portal" - }, - "Project": { - "$ref": "#/definitions/Project" - } - }, - "type": "object" - }, - "IamRole": { - "additionalProperties": false, - "properties": { - "arn": { - "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$", - "type": "string" - } - }, - "type": "object" - }, - "IamUser": { - "additionalProperties": false, - "properties": { - "arn": { - "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$", - "type": "string" - } - }, - "type": "object" - }, - "Portal": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "type": "object" - }, - "Project": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "type": "object" - }, - "User": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "\\S+", - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/AccessPolicyId" - ], - "properties": { - "AccessPolicyArn": { - "type": "string" - }, - "AccessPolicyId": { - "type": "string" - }, - "AccessPolicyIdentity": { - "$ref": "#/definitions/AccessPolicyIdentity" - }, - "AccessPolicyPermission": { - "enum": [ - "ADMINISTRATOR", - "VIEWER" - ], - "type": "string" - }, - "AccessPolicyResource": { - "$ref": "#/definitions/AccessPolicyResource" - } - }, - "readOnlyProperties": [ - "/properties/AccessPolicyArn", - "/properties/AccessPolicyId" - ], - "required": [ - "AccessPolicyIdentity", - "AccessPolicyPermission", - "AccessPolicyResource" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git", - "taggable": false, - "typeName": "AWS::IoTSiteWise::AccessPolicy" -} 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 new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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 new file mode 100644 index 0000000000..7d716f5622 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-integration.json @@ -0,0 +1,100 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_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/ca_central_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_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/ca_central_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_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/ca_central_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_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/ca_central_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-m2-environment.json deleted file mode 100644 index 1c433a260d..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_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/ca_central_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-msk-replicator.json deleted file mode 100644 index 8ca994e218..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-msk-replicator.json +++ /dev/null @@ -1,321 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ReplicatorName" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ReplicatorName", - "/properties/Description", - "/properties/KafkaClusters", - "/properties/ServiceExecutionRoleArn" - ], - "definitions": { - "AmazonMskCluster": { - "additionalProperties": false, - "properties": { - "MskClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - } - }, - "required": [ - "MskClusterArn" - ], - "type": "object" - }, - "ConsumerGroupReplication": { - "additionalProperties": false, - "properties": { - "ConsumerGroupsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ConsumerGroupsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "DetectAndCopyNewConsumerGroups": { - "type": "boolean" - }, - "SynchroniseConsumerGroupOffsets": { - "type": "boolean" - } - }, - "required": [ - "ConsumerGroupsToReplicate" - ], - "type": "object" - }, - "KafkaCluster": { - "additionalProperties": false, - "properties": { - "AmazonMskCluster": { - "$ref": "#/definitions/AmazonMskCluster" - }, - "VpcConfig": { - "$ref": "#/definitions/KafkaClusterClientVpcConfig" - } - }, - "required": [ - "AmazonMskCluster", - "VpcConfig" - ], - "type": "object" - }, - "KafkaClusterClientVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 3, - "minItems": 2, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "ReplicationInfo": { - "additionalProperties": false, - "properties": { - "ConsumerGroupReplication": { - "$ref": "#/definitions/ConsumerGroupReplication" - }, - "SourceKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TargetCompressionType": { - "enum": [ - "NONE", - "GZIP", - "SNAPPY", - "LZ4", - "ZSTD" - ], - "type": "string" - }, - "TargetKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TopicReplication": { - "$ref": "#/definitions/TopicReplication" - } - }, - "required": [ - "SourceKafkaClusterArn", - "TargetKafkaClusterArn", - "TopicReplication", - "ConsumerGroupReplication", - "TargetCompressionType" - ], - "type": "object" - }, - "ReplicationStartingPosition": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationStartingPositionType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationStartingPositionType": { - "enum": [ - "LATEST", - "EARLIEST" - ], - "type": "string" - }, - "ReplicationTopicNameConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationTopicNameConfigurationType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationTopicNameConfigurationType": { - "enum": [ - "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS", - "IDENTICAL" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "TopicReplication": { - "additionalProperties": false, - "properties": { - "CopyAccessControlListsForTopics": { - "type": "boolean" - }, - "CopyTopicConfigurations": { - "type": "boolean" - }, - "DetectAndCopyNewTopics": { - "type": "boolean" - }, - "StartingPosition": { - "$ref": "#/definitions/ReplicationStartingPosition" - }, - "TopicNameConfiguration": { - "$ref": "#/definitions/ReplicationTopicNameConfiguration" - }, - "TopicsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "TopicsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "TopicsToReplicate" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ReplicatorArn" - ], - "properties": { - "CurrentVersion": { - "type": "string" - }, - "Description": { - "maxLength": 1024, - "type": "string" - }, - "KafkaClusters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KafkaCluster" - }, - "maxItems": 2, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationInfoList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ReplicationInfo" - }, - "maxItems": 1, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ReplicatorArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "ReplicatorName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$", - "type": "string" - }, - "ServiceExecutionRoleArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/ReplicatorArn" - ], - "required": [ - "ReplicatorName", - "ReplicationInfoList", - "KafkaClusters", - "ServiceExecutionRoleArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::MSK::Replicator" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_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/ca_central_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_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/ca_central_1/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-redshiftserverless-workgroup.json deleted file mode 100644 index 60a6356907..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-redshiftserverless-workgroup.json +++ /dev/null @@ -1,312 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/WorkgroupName", - "/properties/NamespaceName" - ], - "definitions": { - "ConfigParameter": { - "additionalProperties": false, - "properties": { - "ParameterKey": { - "maxLength": 255, - "minLength": 0, - "type": "string" - }, - "ParameterValue": { - "maxLength": 15000, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "VpcEndpoints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcEndpoint" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkInterface": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - } - }, - "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" - }, - "VpcEndpoint": { - "additionalProperties": false, - "properties": { - "NetworkInterfaces": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/NetworkInterface" - }, - "type": "array" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "Workgroup": { - "additionalProperties": false, - "properties": { - "BaseCapacity": { - "type": "integer" - }, - "ConfigParameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigParameter" - }, - "type": "array", - "uniqueItems": true - }, - "CreationDate": { - "type": "string" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "EnhancedVpcRouting": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "NamespaceName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^[a-z0-9-]+$", - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 255, - "minLength": 0, - "pattern": "^sg-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "type": "array" - }, - "Status": { - "$ref": "#/definitions/WorkgroupStatus" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 0, - "pattern": "^subnet-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "type": "array" - }, - "WorkgroupArn": { - "type": "string" - }, - "WorkgroupId": { - "type": "string" - }, - "WorkgroupName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^[a-z0-9-]*$", - "type": "string" - } - }, - "type": "object" - }, - "WorkgroupStatus": { - "enum": [ - "CREATING", - "AVAILABLE", - "MODIFYING", - "DELETING" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/WorkgroupName" - ], - "properties": { - "BaseCapacity": { - "type": "integer" - }, - "ConfigParameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigParameter" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "EnhancedVpcRouting": { - "default": false, - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "NamespaceName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^(?=^[a-z0-9-]+$).{3,64}$", - "type": "string" - }, - "Port": { - "type": "integer" - }, - "PubliclyAccessible": { - "default": false, - "type": "boolean" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 255, - "minLength": 0, - "pattern": "^sg-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "maxItems": 32, - "minItems": 1, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 0, - "pattern": "^subnet-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "maxItems": 32, - "minItems": 1, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array" - }, - "Workgroup": { - "$ref": "#/definitions/Workgroup" - }, - "WorkgroupName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^(?=^[a-z0-9-]+$).{3,64}$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Workgroup", - "/properties/Workgroup/WorkgroupId", - "/properties/Workgroup/WorkgroupArn", - "/properties/Workgroup/WorkgroupName", - "/properties/Workgroup/NamespaceName", - "/properties/Workgroup/BaseCapacity", - "/properties/Workgroup/MaxCapacity", - "/properties/Workgroup/EnhancedVpcRouting", - "/properties/Workgroup/ConfigParameters/*/ParameterKey", - "/properties/Workgroup/ConfigParameters/*/ParameterValue", - "/properties/Workgroup/SecurityGroupIds", - "/properties/Workgroup/SubnetIds", - "/properties/Workgroup/Status", - "/properties/Workgroup/Endpoint/Address", - "/properties/Workgroup/Endpoint/Port", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone", - "/properties/Workgroup/PubliclyAccessible", - "/properties/Workgroup/CreationDate" - ], - "required": [ - "WorkgroupName" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::RedshiftServerless::Workgroup", - "writeOnlyProperties": [ - "/properties/BaseCapacity", - "/properties/MaxCapacity", - "/properties/ConfigParameters", - "/properties/SecurityGroupIds", - "/properties/SubnetIds" - ] -} 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 new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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_west_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py index b34ab2d0b5..f7e7994bcf 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py @@ -399,6 +399,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", "AWS::MSK::ClusterPolicy", @@ -686,6 +687,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -826,7 +828,6 @@ "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", @@ -936,13 +937,17 @@ "aws-lambda-layerversion.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", "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-logs-transformer.json", "aws-msk-batchscramsecret.json", "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", @@ -978,6 +983,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", @@ -1101,7 +1107,6 @@ "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-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-batch-jobdefinition.json index 8ee1b510b2..52e8c53ff2 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-batch-jobdefinition.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-batch-jobdefinition.json @@ -128,6 +128,11 @@ }, "Permissions": { "items": { + "enumCaseInsensitive": [ + "mknod", + "read", + "write" + ], "type": "string" }, "type": "array", @@ -143,6 +148,10 @@ "type": "string" }, "Iam": { + "enumCaseInsensitive": [ + "disabled", + "enabled" + ], "type": "string" } }, @@ -161,6 +170,10 @@ "type": "string" }, "TransitEncryption": { + "enumCaseInsensitive": [ + "disabled", + "enabled" + ], "type": "string" }, "TransitEncryptionPort": { @@ -437,6 +450,10 @@ "additionalProperties": false, "properties": { "Action": { + "enumCaseInsensitive": [ + "exit", + "retry" + ], "type": "string" }, "OnExitCode": { @@ -517,6 +534,15 @@ "additionalProperties": false, "properties": { "LogDriver": { + "enumCaseInsensitive": [ + "awslogs", + "fluentd", + "gelf", + "journald", + "json-file", + "splunk", + "syslog" + ], "type": "string" }, "Options": { @@ -559,6 +585,10 @@ "additionalProperties": false, "properties": { "AssignPublicIp": { + "enumCaseInsensitive": [ + "disabled", + "enabled" + ], "type": "string" } }, @@ -607,6 +637,11 @@ "additionalProperties": false, "properties": { "Type": { + "enumCaseInsensitive": [ + "gpu", + "memory", + "vcpu" + ], "type": "string" }, "Value": { @@ -753,6 +788,10 @@ }, "PlatformCapabilities": { "items": { + "enumCaseInsensitive": [ + "ec2", + "fargate" + ], "type": "string" }, "type": "array", @@ -785,6 +824,10 @@ "$ref": "#/definitions/JobTimeout" }, "Type": { + "enumCaseInsensitive": [ + "container", + "multinode" + ], "type": "string" } }, diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} 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 new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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_west_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_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/ca_west_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_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/ca_west_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_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/ca_west_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_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/ca_west_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_west_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/ca_west_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 afa7258553..d6e3b9f7ce 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py @@ -101,6 +101,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Cloud9::EnvironmentEC2", @@ -806,11 +807,11 @@ "aws-backup-backupselection.json", "aws-backup-backupvault.json", "aws-batch-computeenvironment.json", + "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", - "aws-cassandra-keyspace.json", "aws-cassandra-table.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", @@ -956,7 +957,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", @@ -988,6 +988,7 @@ "aws-elasticache-replicationgroup.json", "aws-elasticache-securitygroup.json", "aws-elasticache-securitygroupingress.json", + "aws-elasticache-serverlesscache.json", "aws-elasticache-subnetgroup.json", "aws-elasticache-user.json", "aws-elasticbeanstalk-application.json", @@ -1135,6 +1136,7 @@ "aws-iotevents-alarmmodel.json", "aws-iotevents-detectormodel.json", "aws-iotevents-input.json", + "aws-iotsitewise-accesspolicy.json", "aws-iotsitewise-asset.json", "aws-iotsitewise-assetmodel.json", "aws-iotsitewise-dashboard.json", @@ -1169,13 +1171,16 @@ "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", "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-msk-batchscramsecret.json", "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", 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 new file mode 100644 index 0000000000..203828de9b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-keyspace.json @@ -0,0 +1,118 @@ +{ + "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 new file mode 100644 index 0000000000..a788c284cf --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-cassandra-type.json @@ -0,0 +1,87 @@ +{ + "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-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..069e16e3c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_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/cn_north_1/aws-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-elasticache-serverlesscache.json deleted file mode 100644 index 3b7cde6c66..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/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/cn_north_1/aws-iotsitewise-accesspolicy.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-iotsitewise-accesspolicy.json deleted file mode 100644 index e91d24809d..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-iotsitewise-accesspolicy.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "AccessPolicyIdentity": { - "additionalProperties": false, - "properties": { - "IamRole": { - "$ref": "#/definitions/IamRole" - }, - "IamUser": { - "$ref": "#/definitions/IamUser" - }, - "User": { - "$ref": "#/definitions/User" - } - }, - "type": "object" - }, - "AccessPolicyResource": { - "additionalProperties": false, - "properties": { - "Portal": { - "$ref": "#/definitions/Portal" - }, - "Project": { - "$ref": "#/definitions/Project" - } - }, - "type": "object" - }, - "IamRole": { - "additionalProperties": false, - "properties": { - "arn": { - "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$", - "type": "string" - } - }, - "type": "object" - }, - "IamUser": { - "additionalProperties": false, - "properties": { - "arn": { - "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$", - "type": "string" - } - }, - "type": "object" - }, - "Portal": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "type": "object" - }, - "Project": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "type": "object" - }, - "User": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "\\S+", - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/AccessPolicyId" - ], - "properties": { - "AccessPolicyArn": { - "type": "string" - }, - "AccessPolicyId": { - "type": "string" - }, - "AccessPolicyIdentity": { - "$ref": "#/definitions/AccessPolicyIdentity" - }, - "AccessPolicyPermission": { - "enum": [ - "ADMINISTRATOR", - "VIEWER" - ], - "type": "string" - }, - "AccessPolicyResource": { - "$ref": "#/definitions/AccessPolicyResource" - } - }, - "readOnlyProperties": [ - "/properties/AccessPolicyArn", - "/properties/AccessPolicyId" - ], - "required": [ - "AccessPolicyIdentity", - "AccessPolicyPermission", - "AccessPolicyResource" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git", - "taggable": false, - "typeName": "AWS::IoTSiteWise::AccessPolicy" -} 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 new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_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_north_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_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_north_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_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_north_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_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/__init__.py b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py index 09954d61af..ef5179ec89 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py @@ -764,7 +764,6 @@ "aws-backup-backupselection.json", "aws-backup-backupvault.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-budgets-budget.json", @@ -926,7 +925,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", "aws-efs-filesystem.json", @@ -938,10 +937,12 @@ "aws-eks-nodegroup.json", "aws-eks-podidentityassociation.json", "aws-elasticache-cachecluster.json", + "aws-elasticache-globalreplicationgroup.json", "aws-elasticache-parametergroup.json", "aws-elasticache-replicationgroup.json", "aws-elasticache-securitygroup.json", "aws-elasticache-securitygroupingress.json", + "aws-elasticache-serverlesscache.json", "aws-elasticache-subnetgroup.json", "aws-elasticache-user.json", "aws-elasticbeanstalk-application.json", @@ -963,6 +964,7 @@ "aws-emr-securityconfiguration.json", "aws-emr-step.json", "aws-emr-studio.json", + "aws-emrserverless-application.json", "aws-events-archive.json", "aws-events-eventbus.json", "aws-events-eventbuspolicy.json", @@ -1056,7 +1058,6 @@ "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", @@ -1084,7 +1085,6 @@ "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", @@ -1252,7 +1252,6 @@ "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-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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/cn_northwest_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-taskdefinition.json deleted file mode 100644 index 35c2b1ed93..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-taskdefinition.json +++ /dev/null @@ -1,1044 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Family", - "/properties/ContainerDefinitions", - "/properties/Cpu", - "/properties/ExecutionRoleArn", - "/properties/InferenceAccelerators", - "/properties/Memory", - "/properties/NetworkMode", - "/properties/PlacementConstraints", - "/properties/ProxyConfiguration", - "/properties/RequiresCompatibilities", - "/properties/RuntimePlatform", - "/properties/TaskRoleArn", - "/properties/Volumes", - "/properties/PidMode", - "/properties/IpcMode", - "/properties/EphemeralStorage" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "IAM": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - } - }, - "type": "object" - }, - "ContainerDefinition": { - "additionalProperties": false, - "properties": { - "Command": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "integer" - }, - "CredentialSpecs": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DependsOn": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ContainerDependency" - }, - "type": "array" - }, - "DisableNetworking": { - "type": "boolean" - }, - "DnsSearchDomains": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DnsServers": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DockerLabels": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "DockerSecurityOptions": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KeyValuePair" - }, - "type": "array", - "uniqueItems": true, - "uniqueKeys": [ - "Name" - ] - }, - "EnvironmentFiles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/EnvironmentFile" - }, - "type": "array" - }, - "Essential": { - "type": "boolean" - }, - "ExtraHosts": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/HostEntry" - }, - "type": "array" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/HealthCheck" - }, - "Hostname": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "Interactive": { - "type": "boolean" - }, - "Links": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MemoryReservation": { - "type": "integer" - }, - "MountPoints": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/MountPoint" - }, - "type": "array", - "uniqueItems": true - }, - "Name": { - "type": "string" - }, - "PortMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PortMapping" - }, - "type": "array", - "uniqueItems": true - }, - "Privileged": { - "type": "boolean" - }, - "PseudoTerminal": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array" - }, - "RestartPolicy": { - "$ref": "#/definitions/RestartPolicy" - }, - "Secrets": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - }, - "StartTimeout": { - "type": "integer" - }, - "StopTimeout": { - "type": "integer" - }, - "SystemControls": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SystemControl" - }, - "type": "array" - }, - "Ulimits": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array" - }, - "User": { - "type": "string" - }, - "VersionConsistency": { - "default": "enabled", - "enum": [ - "enabled", - "disabled" - ], - "type": "string" - }, - "VolumesFrom": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VolumeFrom" - }, - "type": "array", - "uniqueItems": true - }, - "WorkingDirectory": { - "type": "string" - } - }, - "required": [ - "Name", - "Image" - ], - "type": "object" - }, - "ContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "enum": [ - "COMPLETE", - "HEALTHY", - "START", - "SUCCESS" - ], - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "insertionOrder": false, - "items": { - "enum": [ - "mknod", - "read", - "write" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "DockerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Autoprovision": { - "type": "boolean" - }, - "Driver": { - "type": "string" - }, - "DriverOpts": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Labels": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Scope": { - "enum": [ - "shared", - "task" - ], - "type": "string" - } - }, - "type": "object" - }, - "EFSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FilesystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FilesystemId" - ], - "type": "object" - }, - "EnvironmentFile": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "s3" - ], - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "type": "object" - }, - "FSxAuthorizationConfig": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - }, - "Domain": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter", - "Domain" - ], - "type": "object" - }, - "FSxWindowsFileServerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/FSxAuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - } - }, - "required": [ - "FileSystemId", - "RootDirectory" - ], - "type": "object" - }, - "FirelensConfiguration": { - "additionalProperties": false, - "properties": { - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "fluentbit", - "fluentd" - ], - "type": "string" - } - }, - "type": "object" - }, - "HealthCheck": { - "additionalProperties": false, - "properties": { - "Command": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Interval": { - "type": "integer" - }, - "Retries": { - "type": "integer" - }, - "StartPeriod": { - "type": "integer" - }, - "Timeout": { - "type": "integer" - } - }, - "type": "object" - }, - "HostEntry": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "IpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "HostVolumeProperties": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "InferenceAccelerator": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "KernelCapabilities": { - "additionalProperties": false, - "properties": { - "Add": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "Drop": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "$ref": "#/definitions/KernelCapabilities" - }, - "Devices": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array" - } - }, - "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" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "MountPoint": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "PortMapping": { - "additionalProperties": false, - "properties": { - "AppProtocol": { - "enum": [ - "http", - "http2", - "grpc" - ], - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "ContainerPortRange": { - "type": "string" - }, - "HostPort": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "enum": [ - "tcp", - "udp" - ], - "type": "string" - } - }, - "type": "object" - }, - "ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ProxyConfigurationProperties": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "enum": [ - "APPMESH" - ], - "type": "string" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "GPU", - "InferenceAccelerator" - ], - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "RestartPolicy": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "IgnoredExitCodes": { - "insertionOrder": false, - "items": { - "type": "integer" - }, - "type": "array" - }, - "RestartAttemptPeriod": { - "type": "integer" - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "OperatingSystemFamily": { - "enum": [ - "LINUX", - "WINDOWS_SERVER_2004_CORE", - "WINDOWS_SERVER_2016_FULL", - "WINDOWS_SERVER_2019_CORE", - "WINDOWS_SERVER_2019_FULL", - "WINDOWS_SERVER_2022_CORE", - "WINDOWS_SERVER_2022_FULL", - "WINDOWS_SERVER_20H2_CORE" - ], - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "SystemControl": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "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" - }, - "TaskDefinitionPlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "enum": [ - "core", - "cpu", - "data", - "fsize", - "locks", - "memlock", - "msgqueue", - "nice", - "nofile", - "nproc", - "rss", - "rtprio", - "rttime", - "sigpending", - "stack" - ], - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" - ], - "type": "object" - }, - "Volume": { - "additionalProperties": false, - "properties": { - "ConfiguredAtLaunch": { - "type": "boolean" - }, - "DockerVolumeConfiguration": { - "$ref": "#/definitions/DockerVolumeConfiguration" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/EFSVolumeConfiguration" - }, - "FSxWindowsFileServerVolumeConfiguration": { - "$ref": "#/definitions/FSxWindowsFileServerVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/HostVolumeProperties" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumeFrom": { - "additionalProperties": false, - "properties": { - "ReadOnly": { - "type": "boolean" - }, - "SourceContainer": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/TaskDefinitionArn" - ], - "properties": { - "ContainerDefinitions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ContainerDefinition" - }, - "type": "array", - "uniqueItems": true - }, - "Cpu": { - "type": "string" - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "InferenceAccelerators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InferenceAccelerator" - }, - "type": "array", - "uniqueItems": true - }, - "IpcMode": { - "enum": [ - "host", - "none", - "task" - ], - "type": "string" - }, - "Memory": { - "type": "string" - }, - "NetworkMode": { - "enum": [ - "awsvpc", - "bridge", - "host", - "none" - ], - "type": "string" - }, - "PidMode": { - "enum": [ - "host", - "task" - ], - "type": "string" - }, - "PlacementConstraints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TaskDefinitionPlacementConstraint" - }, - "type": "array", - "uniqueItems": true - }, - "ProxyConfiguration": { - "$ref": "#/definitions/ProxyConfiguration" - }, - "RequiresCompatibilities": { - "insertionOrder": false, - "items": { - "enum": [ - "EC2", - "EXTERNAL", - "FARGATE" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinitionArn": { - "type": "string" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/TaskRoleArn": "TaskRoleArn $OR $split(TaskRoleArn, \"role/\")[-1]" - }, - "readOnlyProperties": [ - "/properties/TaskDefinitionArn" - ], - "sourceUrl": "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::TaskDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-elasticache-globalreplicationgroup.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-elasticache-globalreplicationgroup.json deleted file mode 100644 index fd7ac3ab7f..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-elasticache-globalreplicationgroup.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "GlobalReplicationGroupMember": { - "additionalProperties": false, - "properties": { - "ReplicationGroupId": { - "type": "string" - }, - "ReplicationGroupRegion": { - "type": "string" - }, - "Role": { - "enum": [ - "PRIMARY", - "SECONDARY" - ], - "type": "string" - } - }, - "type": "object" - }, - "RegionalConfiguration": { - "additionalProperties": false, - "properties": { - "ReplicationGroupId": { - "type": "string" - }, - "ReplicationGroupRegion": { - "type": "string" - }, - "ReshardingConfigurations": { - "items": { - "$ref": "#/definitions/ReshardingConfiguration" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "ReshardingConfiguration": { - "additionalProperties": false, - "properties": { - "NodeGroupId": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/GlobalReplicationGroupId" - ], - "properties": { - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalNodeGroupCount": { - "type": "integer" - }, - "GlobalReplicationGroupDescription": { - "type": "string" - }, - "GlobalReplicationGroupId": { - "type": "string" - }, - "GlobalReplicationGroupIdSuffix": { - "type": "string" - }, - "Members": { - "items": { - "$ref": "#/definitions/GlobalReplicationGroupMember" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "RegionalConfigurations": { - "items": { - "$ref": "#/definitions/RegionalConfiguration" - }, - "type": "array", - "uniqueItems": true - }, - "Status": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/GlobalReplicationGroupId", - "/properties/Status" - ], - "required": [ - "Members" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticache", - "typeName": "AWS::ElastiCache::GlobalReplicationGroup", - "writeOnlyProperties": [ - "/properties/GlobalReplicationGroupIdSuffix", - "/properties/AutomaticFailoverEnabled", - "/properties/CacheNodeType", - "/properties/EngineVersion", - "/properties/GlobalNodeGroupCount", - "/properties/GlobalReplicationGroupDescription", - "/properties/RegionalConfigurations" - ] -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-elasticache-serverlesscache.json deleted file mode 100644 index 3b7cde6c66..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/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/cn_northwest_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-emrserverless-application.json deleted file mode 100644 index 1a44823941..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-emrserverless-application.json +++ /dev/null @@ -1,539 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "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" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-iot-softwarepackageversion.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-iot-softwarepackageversion.json similarity index 98% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-iot-softwarepackageversion.json rename to src/cfnlint/data/schemas/providers/cn_northwest_1/aws-iot-softwarepackageversion.json index 48ddfbd4c0..bf722d5a0b 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-iot-softwarepackageversion.json +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-iot-softwarepackageversion.json @@ -70,7 +70,6 @@ "type": "string" }, "PackageVersionArn": { - "pattern": "^arn:[!-~]+$", "type": "string" }, "Status": { 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 new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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-transfer-server.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 aff1c0947d..b479a7a198 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_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", @@ -1362,10 +1363,8 @@ "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", @@ -1444,6 +1443,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-bedrock-agent.json", @@ -1460,7 +1460,6 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", - "aws-cassandra-keyspace.json", "aws-cassandra-table.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", @@ -1481,11 +1480,9 @@ "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", @@ -1608,7 +1605,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", @@ -1782,6 +1778,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", @@ -1980,6 +1977,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", @@ -2093,7 +2091,6 @@ "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", @@ -2130,6 +2127,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", @@ -2520,6 +2518,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_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-configurationprofile.json new file mode 100644 index 0000000000..5d841be3e1 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-configurationprofile.json @@ -0,0 +1,138 @@ +{ + "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 new file mode 100644 index 0000000000..e5874842d7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-appconfig-environment.json @@ -0,0 +1,124 @@ +{ + "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-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-keyspace.json new file mode 100644 index 0000000000..203828de9b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-keyspace.json @@ -0,0 +1,118 @@ +{ + "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 new file mode 100644 index 0000000000..a788c284cf --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cassandra-type.json @@ -0,0 +1,87 @@ +{ + "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 new file mode 100644 index 0000000000..e76b67f036 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-guardhook.json @@ -0,0 +1,287 @@ +{ + "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 new file mode 100644 index 0000000000..bec5b2634e --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-cloudformation-lambdahook.json @@ -0,0 +1,261 @@ +{ + "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-databrew-dataset.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-databrew-dataset.json new file mode 100644 index 0000000000..ff369cfd19 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-databrew-dataset.json @@ -0,0 +1,418 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "BucketOwner": { + "maxLength": 12, + "minLength": 12, + "type": "string" + }, + "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" + }, + "BucketOwner": { + "$ref": "#/definitions/BucketOwner" + }, + "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" + }, + "Source": { + "enum": [ + "S3", + "DATA-CATALOG", + "DATABASE" + ], + "type": "string" + }, + "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-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py index b8864feffc..c35fffaf1c 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py @@ -89,6 +89,7 @@ "AWS::Backup::BackupPlan", "AWS::Backup::BackupSelection", "AWS::Backup::BackupVault", + "AWS::Backup::LogicallyAirGappedBackupVault", "AWS::Backup::RestoreTestingPlan", "AWS::Backup::RestoreTestingSelection", "AWS::Batch::ComputeEnvironment", @@ -460,6 +461,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", "AWS::MSK::ClusterPolicy", @@ -792,10 +794,10 @@ "aws-backup-backupplan.json", "aws-backup-backupselection.json", "aws-backup-backupvault.json", + "aws-backup-logicallyairgappedbackupvault.json", "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-bedrock-flow.json", @@ -828,6 +830,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -906,6 +909,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -985,7 +989,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", "aws-efs-filesystem.json", @@ -1114,14 +1118,18 @@ "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-loganomalydetector.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-logs-transformer.json", "aws-msk-batchscramsecret.json", "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", @@ -1161,6 +1169,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-pcaconnectorad-templategroupaccesscontrolentry.json", @@ -1313,7 +1322,6 @@ "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-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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_central_2/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/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/eu_central_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-taskdefinition.json deleted file mode 100644 index 35c2b1ed93..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-taskdefinition.json +++ /dev/null @@ -1,1044 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Family", - "/properties/ContainerDefinitions", - "/properties/Cpu", - "/properties/ExecutionRoleArn", - "/properties/InferenceAccelerators", - "/properties/Memory", - "/properties/NetworkMode", - "/properties/PlacementConstraints", - "/properties/ProxyConfiguration", - "/properties/RequiresCompatibilities", - "/properties/RuntimePlatform", - "/properties/TaskRoleArn", - "/properties/Volumes", - "/properties/PidMode", - "/properties/IpcMode", - "/properties/EphemeralStorage" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "IAM": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - } - }, - "type": "object" - }, - "ContainerDefinition": { - "additionalProperties": false, - "properties": { - "Command": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "integer" - }, - "CredentialSpecs": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DependsOn": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ContainerDependency" - }, - "type": "array" - }, - "DisableNetworking": { - "type": "boolean" - }, - "DnsSearchDomains": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DnsServers": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DockerLabels": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "DockerSecurityOptions": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KeyValuePair" - }, - "type": "array", - "uniqueItems": true, - "uniqueKeys": [ - "Name" - ] - }, - "EnvironmentFiles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/EnvironmentFile" - }, - "type": "array" - }, - "Essential": { - "type": "boolean" - }, - "ExtraHosts": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/HostEntry" - }, - "type": "array" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/HealthCheck" - }, - "Hostname": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "Interactive": { - "type": "boolean" - }, - "Links": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MemoryReservation": { - "type": "integer" - }, - "MountPoints": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/MountPoint" - }, - "type": "array", - "uniqueItems": true - }, - "Name": { - "type": "string" - }, - "PortMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PortMapping" - }, - "type": "array", - "uniqueItems": true - }, - "Privileged": { - "type": "boolean" - }, - "PseudoTerminal": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array" - }, - "RestartPolicy": { - "$ref": "#/definitions/RestartPolicy" - }, - "Secrets": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - }, - "StartTimeout": { - "type": "integer" - }, - "StopTimeout": { - "type": "integer" - }, - "SystemControls": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SystemControl" - }, - "type": "array" - }, - "Ulimits": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array" - }, - "User": { - "type": "string" - }, - "VersionConsistency": { - "default": "enabled", - "enum": [ - "enabled", - "disabled" - ], - "type": "string" - }, - "VolumesFrom": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VolumeFrom" - }, - "type": "array", - "uniqueItems": true - }, - "WorkingDirectory": { - "type": "string" - } - }, - "required": [ - "Name", - "Image" - ], - "type": "object" - }, - "ContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "enum": [ - "COMPLETE", - "HEALTHY", - "START", - "SUCCESS" - ], - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "insertionOrder": false, - "items": { - "enum": [ - "mknod", - "read", - "write" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "DockerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Autoprovision": { - "type": "boolean" - }, - "Driver": { - "type": "string" - }, - "DriverOpts": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Labels": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Scope": { - "enum": [ - "shared", - "task" - ], - "type": "string" - } - }, - "type": "object" - }, - "EFSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FilesystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FilesystemId" - ], - "type": "object" - }, - "EnvironmentFile": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "s3" - ], - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "type": "object" - }, - "FSxAuthorizationConfig": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - }, - "Domain": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter", - "Domain" - ], - "type": "object" - }, - "FSxWindowsFileServerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/FSxAuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - } - }, - "required": [ - "FileSystemId", - "RootDirectory" - ], - "type": "object" - }, - "FirelensConfiguration": { - "additionalProperties": false, - "properties": { - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "fluentbit", - "fluentd" - ], - "type": "string" - } - }, - "type": "object" - }, - "HealthCheck": { - "additionalProperties": false, - "properties": { - "Command": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Interval": { - "type": "integer" - }, - "Retries": { - "type": "integer" - }, - "StartPeriod": { - "type": "integer" - }, - "Timeout": { - "type": "integer" - } - }, - "type": "object" - }, - "HostEntry": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "IpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "HostVolumeProperties": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "InferenceAccelerator": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "KernelCapabilities": { - "additionalProperties": false, - "properties": { - "Add": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "Drop": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "$ref": "#/definitions/KernelCapabilities" - }, - "Devices": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array" - } - }, - "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" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "MountPoint": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "PortMapping": { - "additionalProperties": false, - "properties": { - "AppProtocol": { - "enum": [ - "http", - "http2", - "grpc" - ], - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "ContainerPortRange": { - "type": "string" - }, - "HostPort": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "enum": [ - "tcp", - "udp" - ], - "type": "string" - } - }, - "type": "object" - }, - "ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ProxyConfigurationProperties": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "enum": [ - "APPMESH" - ], - "type": "string" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "GPU", - "InferenceAccelerator" - ], - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "RestartPolicy": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "IgnoredExitCodes": { - "insertionOrder": false, - "items": { - "type": "integer" - }, - "type": "array" - }, - "RestartAttemptPeriod": { - "type": "integer" - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "OperatingSystemFamily": { - "enum": [ - "LINUX", - "WINDOWS_SERVER_2004_CORE", - "WINDOWS_SERVER_2016_FULL", - "WINDOWS_SERVER_2019_CORE", - "WINDOWS_SERVER_2019_FULL", - "WINDOWS_SERVER_2022_CORE", - "WINDOWS_SERVER_2022_FULL", - "WINDOWS_SERVER_20H2_CORE" - ], - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "SystemControl": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "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" - }, - "TaskDefinitionPlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "enum": [ - "core", - "cpu", - "data", - "fsize", - "locks", - "memlock", - "msgqueue", - "nice", - "nofile", - "nproc", - "rss", - "rtprio", - "rttime", - "sigpending", - "stack" - ], - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" - ], - "type": "object" - }, - "Volume": { - "additionalProperties": false, - "properties": { - "ConfiguredAtLaunch": { - "type": "boolean" - }, - "DockerVolumeConfiguration": { - "$ref": "#/definitions/DockerVolumeConfiguration" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/EFSVolumeConfiguration" - }, - "FSxWindowsFileServerVolumeConfiguration": { - "$ref": "#/definitions/FSxWindowsFileServerVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/HostVolumeProperties" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumeFrom": { - "additionalProperties": false, - "properties": { - "ReadOnly": { - "type": "boolean" - }, - "SourceContainer": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/TaskDefinitionArn" - ], - "properties": { - "ContainerDefinitions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ContainerDefinition" - }, - "type": "array", - "uniqueItems": true - }, - "Cpu": { - "type": "string" - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "InferenceAccelerators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InferenceAccelerator" - }, - "type": "array", - "uniqueItems": true - }, - "IpcMode": { - "enum": [ - "host", - "none", - "task" - ], - "type": "string" - }, - "Memory": { - "type": "string" - }, - "NetworkMode": { - "enum": [ - "awsvpc", - "bridge", - "host", - "none" - ], - "type": "string" - }, - "PidMode": { - "enum": [ - "host", - "task" - ], - "type": "string" - }, - "PlacementConstraints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TaskDefinitionPlacementConstraint" - }, - "type": "array", - "uniqueItems": true - }, - "ProxyConfiguration": { - "$ref": "#/definitions/ProxyConfiguration" - }, - "RequiresCompatibilities": { - "insertionOrder": false, - "items": { - "enum": [ - "EC2", - "EXTERNAL", - "FARGATE" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinitionArn": { - "type": "string" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/TaskRoleArn": "TaskRoleArn $OR $split(TaskRoleArn, \"role/\")[-1]" - }, - "readOnlyProperties": [ - "/properties/TaskDefinitionArn" - ], - "sourceUrl": "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::TaskDefinition" -} 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 new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/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/eu_central_2/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/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/eu_central_2/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/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/eu_central_2/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/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/eu_central_2/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/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/eu_central_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 0ffaa4162b..879e91345e 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py @@ -621,6 +621,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::LookoutMetrics::Alert", "AWS::LookoutMetrics::AnomalyDetector", "AWS::M2::Application", @@ -715,6 +716,12 @@ "AWS::OSIS::Pipeline", "AWS::Oam::Link", "AWS::Oam::Sink", + "AWS::OpenSearchServerless::AccessPolicy", + "AWS::OpenSearchServerless::Collection", + "AWS::OpenSearchServerless::LifecyclePolicy", + "AWS::OpenSearchServerless::SecurityConfig", + "AWS::OpenSearchServerless::SecurityPolicy", + "AWS::OpenSearchServerless::VpcEndpoint", "AWS::OpenSearchService::Domain", "AWS::OpsWorks::App", "AWS::OpsWorks::ElasticLoadBalancerAttachment", @@ -1043,6 +1050,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", @@ -1067,10 +1075,8 @@ "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", @@ -1122,7 +1128,6 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-cassandra-keyspace.json", @@ -1158,11 +1163,13 @@ "aws-cloudformation-resourceversion.json", "aws-cloudformation-stack.json", "aws-cloudformation-stackset.json", + "aws-cloudformation-typeactivation.json", "aws-cloudformation-waitcondition.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -1289,6 +1296,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -1321,6 +1329,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", @@ -1385,7 +1394,6 @@ "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", @@ -1603,14 +1611,18 @@ "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-loganomalydetector.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-logs-transformer.json", "aws-lookoutmetrics-alert.json", "aws-lookoutmetrics-anomalydetector.json", "aws-m2-application.json", @@ -1668,6 +1680,7 @@ "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", + "aws-msk-replicator.json", "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", @@ -1696,6 +1709,12 @@ "aws-networkmanager-vpcattachment.json", "aws-oam-link.json", "aws-oam-sink.json", + "aws-opensearchserverless-accesspolicy.json", + "aws-opensearchserverless-collection.json", + "aws-opensearchserverless-lifecyclepolicy.json", + "aws-opensearchserverless-securityconfig.json", + "aws-opensearchserverless-securitypolicy.json", + "aws-opensearchserverless-vpcendpoint.json", "aws-opensearchservice-domain.json", "aws-opsworks-app.json", "aws-opsworks-elasticloadbalancerattachment.json", @@ -1727,11 +1746,10 @@ "aws-quicksight-theme.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", "aws-rds-dbclusterparametergroup.json", - "aws-rds-dbinstance.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", "aws-rds-dbproxyendpoint.json", @@ -1940,7 +1958,6 @@ "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-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_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/eu_north_1/aws-appconfig-configurationprofile.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-configurationprofile.json new file mode 100644 index 0000000000..5d841be3e1 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-configurationprofile.json @@ -0,0 +1,138 @@ +{ + "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 new file mode 100644 index 0000000000..e5874842d7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-appconfig-environment.json @@ -0,0 +1,124 @@ +{ + "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 new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_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/eu_north_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_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/eu_north_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_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_north_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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_north_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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_north_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_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/eu_north_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_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/eu_north_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_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/eu_north_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_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/eu_north_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-msk-replicator.json deleted file mode 100644 index 8ca994e218..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-msk-replicator.json +++ /dev/null @@ -1,321 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ReplicatorName" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ReplicatorName", - "/properties/Description", - "/properties/KafkaClusters", - "/properties/ServiceExecutionRoleArn" - ], - "definitions": { - "AmazonMskCluster": { - "additionalProperties": false, - "properties": { - "MskClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - } - }, - "required": [ - "MskClusterArn" - ], - "type": "object" - }, - "ConsumerGroupReplication": { - "additionalProperties": false, - "properties": { - "ConsumerGroupsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ConsumerGroupsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "DetectAndCopyNewConsumerGroups": { - "type": "boolean" - }, - "SynchroniseConsumerGroupOffsets": { - "type": "boolean" - } - }, - "required": [ - "ConsumerGroupsToReplicate" - ], - "type": "object" - }, - "KafkaCluster": { - "additionalProperties": false, - "properties": { - "AmazonMskCluster": { - "$ref": "#/definitions/AmazonMskCluster" - }, - "VpcConfig": { - "$ref": "#/definitions/KafkaClusterClientVpcConfig" - } - }, - "required": [ - "AmazonMskCluster", - "VpcConfig" - ], - "type": "object" - }, - "KafkaClusterClientVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 3, - "minItems": 2, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "ReplicationInfo": { - "additionalProperties": false, - "properties": { - "ConsumerGroupReplication": { - "$ref": "#/definitions/ConsumerGroupReplication" - }, - "SourceKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TargetCompressionType": { - "enum": [ - "NONE", - "GZIP", - "SNAPPY", - "LZ4", - "ZSTD" - ], - "type": "string" - }, - "TargetKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TopicReplication": { - "$ref": "#/definitions/TopicReplication" - } - }, - "required": [ - "SourceKafkaClusterArn", - "TargetKafkaClusterArn", - "TopicReplication", - "ConsumerGroupReplication", - "TargetCompressionType" - ], - "type": "object" - }, - "ReplicationStartingPosition": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationStartingPositionType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationStartingPositionType": { - "enum": [ - "LATEST", - "EARLIEST" - ], - "type": "string" - }, - "ReplicationTopicNameConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationTopicNameConfigurationType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationTopicNameConfigurationType": { - "enum": [ - "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS", - "IDENTICAL" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "TopicReplication": { - "additionalProperties": false, - "properties": { - "CopyAccessControlListsForTopics": { - "type": "boolean" - }, - "CopyTopicConfigurations": { - "type": "boolean" - }, - "DetectAndCopyNewTopics": { - "type": "boolean" - }, - "StartingPosition": { - "$ref": "#/definitions/ReplicationStartingPosition" - }, - "TopicNameConfiguration": { - "$ref": "#/definitions/ReplicationTopicNameConfiguration" - }, - "TopicsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "TopicsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "TopicsToReplicate" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ReplicatorArn" - ], - "properties": { - "CurrentVersion": { - "type": "string" - }, - "Description": { - "maxLength": 1024, - "type": "string" - }, - "KafkaClusters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KafkaCluster" - }, - "maxItems": 2, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationInfoList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ReplicationInfo" - }, - "maxItems": 1, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ReplicatorArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "ReplicatorName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$", - "type": "string" - }, - "ServiceExecutionRoleArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/ReplicatorArn" - ], - "required": [ - "ReplicatorName", - "ReplicationInfoList", - "KafkaClusters", - "ServiceExecutionRoleArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::MSK::Replicator" -} diff --git a/src/cfnlint/data/schemas/providers/eu_north_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_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/eu_north_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..8372362d6b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbcluster.json @@ -0,0 +1,409 @@ +{ + "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" + }, + "SecondsUntilAutoPause": { + "type": "integer" + } + }, + "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_north_1/aws-rds-dbinstance.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbinstance.json new file mode 100644 index 0000000000..f20e802a6a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-rds-dbinstance.json @@ -0,0 +1,531 @@ +{ + "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/DBSystemId", + "/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/DBSystemId": "$uppercase(DBSystemId)", + "/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/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_north_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 716bf6e1b0..2701bad209 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py @@ -533,6 +533,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::M2::Application", "AWS::M2::Deployment", "AWS::M2::Environment", @@ -928,7 +929,6 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -958,6 +958,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -1067,6 +1068,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -1160,7 +1162,6 @@ "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", @@ -1307,14 +1308,18 @@ "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", "aws-logs-destination.json", "aws-logs-loganomalydetector.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-logs-transformer.json", "aws-m2-application.json", "aws-m2-deployment.json", "aws-macie-allowlist.json", @@ -1353,6 +1358,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-pcaconnectorad-templategroupaccesscontrolentry.json", @@ -1369,6 +1375,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", @@ -1539,7 +1546,6 @@ "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-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_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/eu_south_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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_south_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_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/eu_south_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_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/eu_south_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_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/eu_south_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_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/eu_south_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_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/eu_south_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_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/eu_south_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 86c6352dc7..9e66ca5620 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py @@ -90,6 +90,7 @@ "AWS::Backup::BackupPlan", "AWS::Backup::BackupSelection", "AWS::Backup::BackupVault", + "AWS::Backup::LogicallyAirGappedBackupVault", "AWS::Backup::RestoreTestingPlan", "AWS::Backup::RestoreTestingSelection", "AWS::Batch::ComputeEnvironment", @@ -465,6 +466,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::M2::Application", "AWS::M2::Deployment", "AWS::M2::Environment", @@ -807,10 +809,10 @@ "aws-backup-backupplan.json", "aws-backup-backupselection.json", "aws-backup-backupvault.json", + "aws-backup-logicallyairgappedbackupvault.json", "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", @@ -832,10 +834,12 @@ "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", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -917,6 +921,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -939,6 +944,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", @@ -996,7 +1002,6 @@ "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,14 +1138,18 @@ "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-loganomalydetector.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-logs-transformer.json", "aws-m2-application.json", "aws-m2-deployment.json", "aws-memorydb-acl.json", @@ -1338,7 +1347,6 @@ "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-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/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/eu_south_2/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/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/eu_south_2/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_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_south_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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_south_2/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/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/eu_south_2/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/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/eu_south_2/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/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/eu_south_2/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_south_2/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/eu_south_2/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 7e81a69cdd..13613c07a0 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py @@ -154,6 +154,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -1329,10 +1330,8 @@ "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", @@ -1424,7 +1423,6 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", - "aws-cassandra-keyspace.json", "aws-cassandra-table.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.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 new file mode 100644 index 0000000000..5d841be3e1 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-configurationprofile.json @@ -0,0 +1,138 @@ +{ + "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 new file mode 100644 index 0000000000..e5874842d7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-appconfig-environment.json @@ -0,0 +1,124 @@ +{ + "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-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-keyspace.json new file mode 100644 index 0000000000..203828de9b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-keyspace.json @@ -0,0 +1,118 @@ +{ + "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 new file mode 100644 index 0000000000..a788c284cf --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_1/aws-cassandra-type.json @@ -0,0 +1,87 @@ +{ + "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_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py index 61bad39332..dda94b8768 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py @@ -1336,7 +1336,6 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-bedrock-agent.json", @@ -1394,6 +1393,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -1665,7 +1665,6 @@ "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", @@ -1928,12 +1927,10 @@ "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", @@ -1944,6 +1941,7 @@ "aws-logs-transformer.json", "aws-m2-application.json", "aws-m2-deployment.json", + "aws-m2-environment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -1995,6 +1993,7 @@ "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", + "aws-msk-replicator.json", "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", @@ -2125,6 +2124,7 @@ "aws-redshift-integration.json", "aws-redshift-scheduledaction.json", "aws-redshiftserverless-namespace.json", + "aws-redshiftserverless-workgroup.json", "aws-refactorspaces-application.json", "aws-refactorspaces-environment.json", "aws-refactorspaces-route.json", @@ -2312,7 +2312,6 @@ "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 new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} 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 new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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 new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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 new file mode 100644 index 0000000000..7d716f5622 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-logs-integration.json @@ -0,0 +1,100 @@ +{ + "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-m2-environment.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-m2-environment.json deleted file mode 100644 index 1c433a260d..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/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/eu_west_2/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-msk-replicator.json deleted file mode 100644 index 8ca994e218..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-msk-replicator.json +++ /dev/null @@ -1,321 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ReplicatorName" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ReplicatorName", - "/properties/Description", - "/properties/KafkaClusters", - "/properties/ServiceExecutionRoleArn" - ], - "definitions": { - "AmazonMskCluster": { - "additionalProperties": false, - "properties": { - "MskClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - } - }, - "required": [ - "MskClusterArn" - ], - "type": "object" - }, - "ConsumerGroupReplication": { - "additionalProperties": false, - "properties": { - "ConsumerGroupsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ConsumerGroupsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "DetectAndCopyNewConsumerGroups": { - "type": "boolean" - }, - "SynchroniseConsumerGroupOffsets": { - "type": "boolean" - } - }, - "required": [ - "ConsumerGroupsToReplicate" - ], - "type": "object" - }, - "KafkaCluster": { - "additionalProperties": false, - "properties": { - "AmazonMskCluster": { - "$ref": "#/definitions/AmazonMskCluster" - }, - "VpcConfig": { - "$ref": "#/definitions/KafkaClusterClientVpcConfig" - } - }, - "required": [ - "AmazonMskCluster", - "VpcConfig" - ], - "type": "object" - }, - "KafkaClusterClientVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 3, - "minItems": 2, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "ReplicationInfo": { - "additionalProperties": false, - "properties": { - "ConsumerGroupReplication": { - "$ref": "#/definitions/ConsumerGroupReplication" - }, - "SourceKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TargetCompressionType": { - "enum": [ - "NONE", - "GZIP", - "SNAPPY", - "LZ4", - "ZSTD" - ], - "type": "string" - }, - "TargetKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TopicReplication": { - "$ref": "#/definitions/TopicReplication" - } - }, - "required": [ - "SourceKafkaClusterArn", - "TargetKafkaClusterArn", - "TopicReplication", - "ConsumerGroupReplication", - "TargetCompressionType" - ], - "type": "object" - }, - "ReplicationStartingPosition": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationStartingPositionType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationStartingPositionType": { - "enum": [ - "LATEST", - "EARLIEST" - ], - "type": "string" - }, - "ReplicationTopicNameConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationTopicNameConfigurationType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationTopicNameConfigurationType": { - "enum": [ - "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS", - "IDENTICAL" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "TopicReplication": { - "additionalProperties": false, - "properties": { - "CopyAccessControlListsForTopics": { - "type": "boolean" - }, - "CopyTopicConfigurations": { - "type": "boolean" - }, - "DetectAndCopyNewTopics": { - "type": "boolean" - }, - "StartingPosition": { - "$ref": "#/definitions/ReplicationStartingPosition" - }, - "TopicNameConfiguration": { - "$ref": "#/definitions/ReplicationTopicNameConfiguration" - }, - "TopicsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "TopicsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "TopicsToReplicate" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ReplicatorArn" - ], - "properties": { - "CurrentVersion": { - "type": "string" - }, - "Description": { - "maxLength": 1024, - "type": "string" - }, - "KafkaClusters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KafkaCluster" - }, - "maxItems": 2, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationInfoList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ReplicationInfo" - }, - "maxItems": 1, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ReplicatorArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "ReplicatorName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$", - "type": "string" - }, - "ServiceExecutionRoleArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/ReplicatorArn" - ], - "required": [ - "ReplicatorName", - "ReplicationInfoList", - "KafkaClusters", - "ServiceExecutionRoleArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::MSK::Replicator" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-redshiftserverless-workgroup.json deleted file mode 100644 index 60a6356907..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-redshiftserverless-workgroup.json +++ /dev/null @@ -1,312 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/WorkgroupName", - "/properties/NamespaceName" - ], - "definitions": { - "ConfigParameter": { - "additionalProperties": false, - "properties": { - "ParameterKey": { - "maxLength": 255, - "minLength": 0, - "type": "string" - }, - "ParameterValue": { - "maxLength": 15000, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "VpcEndpoints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcEndpoint" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkInterface": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - } - }, - "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" - }, - "VpcEndpoint": { - "additionalProperties": false, - "properties": { - "NetworkInterfaces": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/NetworkInterface" - }, - "type": "array" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "Workgroup": { - "additionalProperties": false, - "properties": { - "BaseCapacity": { - "type": "integer" - }, - "ConfigParameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigParameter" - }, - "type": "array", - "uniqueItems": true - }, - "CreationDate": { - "type": "string" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "EnhancedVpcRouting": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "NamespaceName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^[a-z0-9-]+$", - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 255, - "minLength": 0, - "pattern": "^sg-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "type": "array" - }, - "Status": { - "$ref": "#/definitions/WorkgroupStatus" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 0, - "pattern": "^subnet-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "type": "array" - }, - "WorkgroupArn": { - "type": "string" - }, - "WorkgroupId": { - "type": "string" - }, - "WorkgroupName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^[a-z0-9-]*$", - "type": "string" - } - }, - "type": "object" - }, - "WorkgroupStatus": { - "enum": [ - "CREATING", - "AVAILABLE", - "MODIFYING", - "DELETING" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/WorkgroupName" - ], - "properties": { - "BaseCapacity": { - "type": "integer" - }, - "ConfigParameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigParameter" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "EnhancedVpcRouting": { - "default": false, - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "NamespaceName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^(?=^[a-z0-9-]+$).{3,64}$", - "type": "string" - }, - "Port": { - "type": "integer" - }, - "PubliclyAccessible": { - "default": false, - "type": "boolean" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 255, - "minLength": 0, - "pattern": "^sg-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "maxItems": 32, - "minItems": 1, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 0, - "pattern": "^subnet-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "maxItems": 32, - "minItems": 1, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array" - }, - "Workgroup": { - "$ref": "#/definitions/Workgroup" - }, - "WorkgroupName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^(?=^[a-z0-9-]+$).{3,64}$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Workgroup", - "/properties/Workgroup/WorkgroupId", - "/properties/Workgroup/WorkgroupArn", - "/properties/Workgroup/WorkgroupName", - "/properties/Workgroup/NamespaceName", - "/properties/Workgroup/BaseCapacity", - "/properties/Workgroup/MaxCapacity", - "/properties/Workgroup/EnhancedVpcRouting", - "/properties/Workgroup/ConfigParameters/*/ParameterKey", - "/properties/Workgroup/ConfigParameters/*/ParameterValue", - "/properties/Workgroup/SecurityGroupIds", - "/properties/Workgroup/SubnetIds", - "/properties/Workgroup/Status", - "/properties/Workgroup/Endpoint/Address", - "/properties/Workgroup/Endpoint/Port", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone", - "/properties/Workgroup/PubliclyAccessible", - "/properties/Workgroup/CreationDate" - ], - "required": [ - "WorkgroupName" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::RedshiftServerless::Workgroup", - "writeOnlyProperties": [ - "/properties/BaseCapacity", - "/properties/MaxCapacity", - "/properties/ConfigParameters", - "/properties/SecurityGroupIds", - "/properties/SubnetIds" - ] -} 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 new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 c122b00e6f..8300f92826 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py @@ -139,6 +139,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -1024,6 +1025,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", @@ -1110,7 +1112,6 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-bedrock-agent.json", @@ -1159,6 +1160,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -1280,6 +1282,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -1312,6 +1315,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", @@ -1372,7 +1376,6 @@ "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", @@ -1415,6 +1418,7 @@ "aws-emr-studio.json", "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", + "aws-emrserverless-application.json", "aws-events-apidestination.json", "aws-events-archive.json", "aws-events-connection.json", @@ -1571,6 +1575,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", @@ -1586,6 +1591,7 @@ "aws-logs-transformer.json", "aws-m2-application.json", "aws-m2-deployment.json", + "aws-m2-environment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -1634,6 +1640,7 @@ "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", + "aws-msk-replicator.json", "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", @@ -1679,6 +1686,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pcaconnectorad-serviceprincipalname.json", "aws-pcaconnectorad-templategroupaccesscontrolentry.json", @@ -1695,6 +1703,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", @@ -1721,6 +1730,7 @@ "aws-redshift-integration.json", "aws-redshift-scheduledaction.json", "aws-redshiftserverless-namespace.json", + "aws-redshiftserverless-workgroup.json", "aws-refactorspaces-application.json", "aws-refactorspaces-environment.json", "aws-refactorspaces-route.json", @@ -1902,7 +1912,6 @@ "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-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_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/eu_west_3/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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-cassandra-type.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cassandra-type.json new file mode 100644 index 0000000000..a788c284cf --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cassandra-type.json @@ -0,0 +1,87 @@ +{ + "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-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/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/eu_west_3/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_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/eu_west_3/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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_3/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-emrserverless-application.json deleted file mode 100644 index 1a44823941..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-emrserverless-application.json +++ /dev/null @@ -1,539 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "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" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-m2-environment.json deleted file mode 100644 index 1c433a260d..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/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/eu_west_3/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-msk-replicator.json deleted file mode 100644 index 8ca994e218..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-msk-replicator.json +++ /dev/null @@ -1,321 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ReplicatorName" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ReplicatorName", - "/properties/Description", - "/properties/KafkaClusters", - "/properties/ServiceExecutionRoleArn" - ], - "definitions": { - "AmazonMskCluster": { - "additionalProperties": false, - "properties": { - "MskClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - } - }, - "required": [ - "MskClusterArn" - ], - "type": "object" - }, - "ConsumerGroupReplication": { - "additionalProperties": false, - "properties": { - "ConsumerGroupsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ConsumerGroupsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "DetectAndCopyNewConsumerGroups": { - "type": "boolean" - }, - "SynchroniseConsumerGroupOffsets": { - "type": "boolean" - } - }, - "required": [ - "ConsumerGroupsToReplicate" - ], - "type": "object" - }, - "KafkaCluster": { - "additionalProperties": false, - "properties": { - "AmazonMskCluster": { - "$ref": "#/definitions/AmazonMskCluster" - }, - "VpcConfig": { - "$ref": "#/definitions/KafkaClusterClientVpcConfig" - } - }, - "required": [ - "AmazonMskCluster", - "VpcConfig" - ], - "type": "object" - }, - "KafkaClusterClientVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 3, - "minItems": 2, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "ReplicationInfo": { - "additionalProperties": false, - "properties": { - "ConsumerGroupReplication": { - "$ref": "#/definitions/ConsumerGroupReplication" - }, - "SourceKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TargetCompressionType": { - "enum": [ - "NONE", - "GZIP", - "SNAPPY", - "LZ4", - "ZSTD" - ], - "type": "string" - }, - "TargetKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TopicReplication": { - "$ref": "#/definitions/TopicReplication" - } - }, - "required": [ - "SourceKafkaClusterArn", - "TargetKafkaClusterArn", - "TopicReplication", - "ConsumerGroupReplication", - "TargetCompressionType" - ], - "type": "object" - }, - "ReplicationStartingPosition": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationStartingPositionType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationStartingPositionType": { - "enum": [ - "LATEST", - "EARLIEST" - ], - "type": "string" - }, - "ReplicationTopicNameConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationTopicNameConfigurationType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationTopicNameConfigurationType": { - "enum": [ - "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS", - "IDENTICAL" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "TopicReplication": { - "additionalProperties": false, - "properties": { - "CopyAccessControlListsForTopics": { - "type": "boolean" - }, - "CopyTopicConfigurations": { - "type": "boolean" - }, - "DetectAndCopyNewTopics": { - "type": "boolean" - }, - "StartingPosition": { - "$ref": "#/definitions/ReplicationStartingPosition" - }, - "TopicNameConfiguration": { - "$ref": "#/definitions/ReplicationTopicNameConfiguration" - }, - "TopicsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "TopicsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "TopicsToReplicate" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ReplicatorArn" - ], - "properties": { - "CurrentVersion": { - "type": "string" - }, - "Description": { - "maxLength": 1024, - "type": "string" - }, - "KafkaClusters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KafkaCluster" - }, - "maxItems": 2, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationInfoList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ReplicationInfo" - }, - "maxItems": 1, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ReplicatorArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "ReplicatorName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$", - "type": "string" - }, - "ServiceExecutionRoleArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/ReplicatorArn" - ], - "required": [ - "ReplicatorName", - "ReplicationInfoList", - "KafkaClusters", - "ServiceExecutionRoleArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::MSK::Replicator" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/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/eu_west_3/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_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/eu_west_3/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-redshiftserverless-workgroup.json deleted file mode 100644 index 60a6356907..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-redshiftserverless-workgroup.json +++ /dev/null @@ -1,312 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/WorkgroupName", - "/properties/NamespaceName" - ], - "definitions": { - "ConfigParameter": { - "additionalProperties": false, - "properties": { - "ParameterKey": { - "maxLength": 255, - "minLength": 0, - "type": "string" - }, - "ParameterValue": { - "maxLength": 15000, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "VpcEndpoints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcEndpoint" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkInterface": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - } - }, - "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" - }, - "VpcEndpoint": { - "additionalProperties": false, - "properties": { - "NetworkInterfaces": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/NetworkInterface" - }, - "type": "array" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "Workgroup": { - "additionalProperties": false, - "properties": { - "BaseCapacity": { - "type": "integer" - }, - "ConfigParameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigParameter" - }, - "type": "array", - "uniqueItems": true - }, - "CreationDate": { - "type": "string" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "EnhancedVpcRouting": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "NamespaceName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^[a-z0-9-]+$", - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 255, - "minLength": 0, - "pattern": "^sg-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "type": "array" - }, - "Status": { - "$ref": "#/definitions/WorkgroupStatus" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 0, - "pattern": "^subnet-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "type": "array" - }, - "WorkgroupArn": { - "type": "string" - }, - "WorkgroupId": { - "type": "string" - }, - "WorkgroupName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^[a-z0-9-]*$", - "type": "string" - } - }, - "type": "object" - }, - "WorkgroupStatus": { - "enum": [ - "CREATING", - "AVAILABLE", - "MODIFYING", - "DELETING" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/WorkgroupName" - ], - "properties": { - "BaseCapacity": { - "type": "integer" - }, - "ConfigParameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigParameter" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "EnhancedVpcRouting": { - "default": false, - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "NamespaceName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^(?=^[a-z0-9-]+$).{3,64}$", - "type": "string" - }, - "Port": { - "type": "integer" - }, - "PubliclyAccessible": { - "default": false, - "type": "boolean" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 255, - "minLength": 0, - "pattern": "^sg-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "maxItems": 32, - "minItems": 1, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 0, - "pattern": "^subnet-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "maxItems": 32, - "minItems": 1, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array" - }, - "Workgroup": { - "$ref": "#/definitions/Workgroup" - }, - "WorkgroupName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^(?=^[a-z0-9-]+$).{3,64}$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Workgroup", - "/properties/Workgroup/WorkgroupId", - "/properties/Workgroup/WorkgroupArn", - "/properties/Workgroup/WorkgroupName", - "/properties/Workgroup/NamespaceName", - "/properties/Workgroup/BaseCapacity", - "/properties/Workgroup/MaxCapacity", - "/properties/Workgroup/EnhancedVpcRouting", - "/properties/Workgroup/ConfigParameters/*/ParameterKey", - "/properties/Workgroup/ConfigParameters/*/ParameterValue", - "/properties/Workgroup/SecurityGroupIds", - "/properties/Workgroup/SubnetIds", - "/properties/Workgroup/Status", - "/properties/Workgroup/Endpoint/Address", - "/properties/Workgroup/Endpoint/Port", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone", - "/properties/Workgroup/PubliclyAccessible", - "/properties/Workgroup/CreationDate" - ], - "required": [ - "WorkgroupName" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::RedshiftServerless::Workgroup", - "writeOnlyProperties": [ - "/properties/BaseCapacity", - "/properties/MaxCapacity", - "/properties/ConfigParameters", - "/properties/SecurityGroupIds", - "/properties/SubnetIds" - ] -} 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 new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 ddef3ff15b..d1fac84674 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py @@ -89,6 +89,7 @@ "AWS::Backup::BackupPlan", "AWS::Backup::BackupSelection", "AWS::Backup::BackupVault", + "AWS::Backup::LogicallyAirGappedBackupVault", "AWS::Batch::ComputeEnvironment", "AWS::Batch::JobDefinition", "AWS::Batch::JobQueue", @@ -447,6 +448,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::M2::Application", "AWS::M2::Deployment", "AWS::M2::Environment", @@ -741,6 +743,7 @@ "aws-apigateway-stage.json", "aws-apigateway-usageplan.json", "aws-apigateway-usageplankey.json", + "aws-apigateway-vpclink.json", "aws-apigatewayv2-api.json", "aws-apigatewayv2-apimapping.json", "aws-apigatewayv2-authorizer.json", @@ -791,8 +794,8 @@ "aws-backup-backupplan.json", "aws-backup-backupselection.json", "aws-backup-backupvault.json", + "aws-backup-logicallyairgappedbackupvault.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -819,6 +822,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -900,6 +904,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -985,7 +990,6 @@ "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", @@ -1098,13 +1102,17 @@ "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", "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-logs-transformer.json", "aws-m2-application.json", "aws-m2-deployment.json", "aws-macie-allowlist.json", @@ -1155,6 +1163,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", @@ -1314,7 +1323,6 @@ "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-vpclink.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-vpclink.json deleted file mode 100644 index 39b88e0fb7..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-apigateway-vpclink.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/TargetArns" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Description": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TargetArns": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "TargetArns", - "Name" - ], - "typeName": "AWS::ApiGateway::VpcLink" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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/il_central_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_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/il_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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 new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_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/il_central_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_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/il_central_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_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/il_central_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_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/il_central_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_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/il_central_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 1f980bd393..999903885b 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py @@ -478,6 +478,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", "AWS::MSK::ClusterPolicy", @@ -817,7 +818,6 @@ "aws-backup-restoretestingplan.json", "aws-backup-restoretestingselection.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-ce-anomalymonitor.json", @@ -843,6 +843,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -926,6 +927,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -952,6 +954,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", @@ -1009,7 +1012,6 @@ "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", @@ -1165,14 +1167,18 @@ "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-loganomalydetector.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-logs-transformer.json", "aws-mediaconnect-flow.json", "aws-mediaconnect-flowentitlement.json", "aws-mediaconnect-flowoutput.json", @@ -1380,7 +1386,6 @@ "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-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_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/me_central_1/aws-ec2-networkinterface.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-networkinterface.json deleted file mode 100644 index 1e02b1430e..0000000000 --- a/src/cfnlint/data/schemas/providers/me_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/me_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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 new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_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/me_central_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_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/me_central_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_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/me_central_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_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/me_central_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 7e0bc95dcc..bb3856cea6 100644 --- a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py @@ -538,6 +538,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", "AWS::MSK::ClusterPolicy", @@ -932,7 +933,6 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-cassandra-keyspace.json", @@ -961,11 +961,13 @@ "aws-cloudformation-resourceversion.json", "aws-cloudformation-stack.json", "aws-cloudformation-stackset.json", + "aws-cloudformation-typeactivation.json", "aws-cloudformation-waitcondition.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -1058,6 +1060,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -1149,7 +1152,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", "aws-efs-filesystem.json", @@ -1190,6 +1193,7 @@ "aws-emr-studio.json", "aws-emr-studiosessionmapping.json", "aws-emrcontainers-virtualcluster.json", + "aws-emrserverless-application.json", "aws-events-apidestination.json", "aws-events-archive.json", "aws-events-connection.json", @@ -1328,14 +1332,18 @@ "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", "aws-logs-destination.json", "aws-logs-loganomalydetector.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-logs-transformer.json", "aws-macie-allowlist.json", "aws-macie-session.json", "aws-msk-batchscramsecret.json", @@ -1381,6 +1389,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pcaconnectorad-connector.json", "aws-pcaconnectorad-directoryregistration.json", @@ -1391,6 +1400,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", @@ -1566,7 +1576,6 @@ "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-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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_south_1/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_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_south_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_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/me_south_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-taskdefinition.json deleted file mode 100644 index 35c2b1ed93..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-taskdefinition.json +++ /dev/null @@ -1,1044 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Family", - "/properties/ContainerDefinitions", - "/properties/Cpu", - "/properties/ExecutionRoleArn", - "/properties/InferenceAccelerators", - "/properties/Memory", - "/properties/NetworkMode", - "/properties/PlacementConstraints", - "/properties/ProxyConfiguration", - "/properties/RequiresCompatibilities", - "/properties/RuntimePlatform", - "/properties/TaskRoleArn", - "/properties/Volumes", - "/properties/PidMode", - "/properties/IpcMode", - "/properties/EphemeralStorage" - ], - "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "IAM": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - } - }, - "type": "object" - }, - "ContainerDefinition": { - "additionalProperties": false, - "properties": { - "Command": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "integer" - }, - "CredentialSpecs": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DependsOn": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ContainerDependency" - }, - "type": "array" - }, - "DisableNetworking": { - "type": "boolean" - }, - "DnsSearchDomains": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DnsServers": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "DockerLabels": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "DockerSecurityOptions": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KeyValuePair" - }, - "type": "array", - "uniqueItems": true, - "uniqueKeys": [ - "Name" - ] - }, - "EnvironmentFiles": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/EnvironmentFile" - }, - "type": "array" - }, - "Essential": { - "type": "boolean" - }, - "ExtraHosts": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/HostEntry" - }, - "type": "array" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/HealthCheck" - }, - "Hostname": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "Interactive": { - "type": "boolean" - }, - "Links": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "LinuxParameters": { - "$ref": "#/definitions/LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/LogConfiguration" - }, - "Memory": { - "type": "integer" - }, - "MemoryReservation": { - "type": "integer" - }, - "MountPoints": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/MountPoint" - }, - "type": "array", - "uniqueItems": true - }, - "Name": { - "type": "string" - }, - "PortMappings": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PortMapping" - }, - "type": "array", - "uniqueItems": true - }, - "Privileged": { - "type": "boolean" - }, - "PseudoTerminal": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/RepositoryCredentials" - }, - "ResourceRequirements": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ResourceRequirement" - }, - "type": "array" - }, - "RestartPolicy": { - "$ref": "#/definitions/RestartPolicy" - }, - "Secrets": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Secret" - }, - "type": "array" - }, - "StartTimeout": { - "type": "integer" - }, - "StopTimeout": { - "type": "integer" - }, - "SystemControls": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SystemControl" - }, - "type": "array" - }, - "Ulimits": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Ulimit" - }, - "type": "array" - }, - "User": { - "type": "string" - }, - "VersionConsistency": { - "default": "enabled", - "enum": [ - "enabled", - "disabled" - ], - "type": "string" - }, - "VolumesFrom": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VolumeFrom" - }, - "type": "array", - "uniqueItems": true - }, - "WorkingDirectory": { - "type": "string" - } - }, - "required": [ - "Name", - "Image" - ], - "type": "object" - }, - "ContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "enum": [ - "COMPLETE", - "HEALTHY", - "START", - "SUCCESS" - ], - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "insertionOrder": false, - "items": { - "enum": [ - "mknod", - "read", - "write" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "DockerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Autoprovision": { - "type": "boolean" - }, - "Driver": { - "type": "string" - }, - "DriverOpts": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Labels": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Scope": { - "enum": [ - "shared", - "task" - ], - "type": "string" - } - }, - "type": "object" - }, - "EFSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" - }, - "FilesystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "TransitEncryptionPort": { - "type": "integer" - } - }, - "required": [ - "FilesystemId" - ], - "type": "object" - }, - "EnvironmentFile": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "s3" - ], - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "integer" - } - }, - "type": "object" - }, - "FSxAuthorizationConfig": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - }, - "Domain": { - "type": "string" - } - }, - "required": [ - "CredentialsParameter", - "Domain" - ], - "type": "object" - }, - "FSxWindowsFileServerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/FSxAuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - } - }, - "required": [ - "FileSystemId", - "RootDirectory" - ], - "type": "object" - }, - "FirelensConfiguration": { - "additionalProperties": false, - "properties": { - "Options": { - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "fluentbit", - "fluentd" - ], - "type": "string" - } - }, - "type": "object" - }, - "HealthCheck": { - "additionalProperties": false, - "properties": { - "Command": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "Interval": { - "type": "integer" - }, - "Retries": { - "type": "integer" - }, - "StartPeriod": { - "type": "integer" - }, - "Timeout": { - "type": "integer" - } - }, - "type": "object" - }, - "HostEntry": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "IpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "HostVolumeProperties": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "InferenceAccelerator": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "KernelCapabilities": { - "additionalProperties": false, - "properties": { - "Add": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "Drop": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "LinuxParameters": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "$ref": "#/definitions/KernelCapabilities" - }, - "Devices": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "integer" - }, - "SharedMemorySize": { - "type": "integer" - }, - "Swappiness": { - "type": "integer" - }, - "Tmpfs": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tmpfs" - }, - "type": "array" - } - }, - "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" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "MountPoint": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "PortMapping": { - "additionalProperties": false, - "properties": { - "AppProtocol": { - "enum": [ - "http", - "http2", - "grpc" - ], - "type": "string" - }, - "ContainerPort": { - "type": "integer" - }, - "ContainerPortRange": { - "type": "string" - }, - "HostPort": { - "type": "integer" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "enum": [ - "tcp", - "udp" - ], - "type": "string" - } - }, - "type": "object" - }, - "ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ProxyConfigurationProperties": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "enum": [ - "APPMESH" - ], - "type": "string" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "type": "object" - }, - "ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "enum": [ - "GPU", - "InferenceAccelerator" - ], - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "RestartPolicy": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "IgnoredExitCodes": { - "insertionOrder": false, - "items": { - "type": "integer" - }, - "type": "array" - }, - "RestartAttemptPeriod": { - "type": "integer" - } - }, - "type": "object" - }, - "RuntimePlatform": { - "additionalProperties": false, - "properties": { - "CpuArchitecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "OperatingSystemFamily": { - "enum": [ - "LINUX", - "WINDOWS_SERVER_2004_CORE", - "WINDOWS_SERVER_2016_FULL", - "WINDOWS_SERVER_2019_CORE", - "WINDOWS_SERVER_2019_FULL", - "WINDOWS_SERVER_2022_CORE", - "WINDOWS_SERVER_2022_FULL", - "WINDOWS_SERVER_20H2_CORE" - ], - "type": "string" - } - }, - "type": "object" - }, - "Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "SystemControl": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "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" - }, - "TaskDefinitionPlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "enum": [ - "memberOf" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "integer" - } - }, - "required": [ - "Size" - ], - "type": "object" - }, - "Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "integer" - }, - "Name": { - "enum": [ - "core", - "cpu", - "data", - "fsize", - "locks", - "memlock", - "msgqueue", - "nice", - "nofile", - "nproc", - "rss", - "rtprio", - "rttime", - "sigpending", - "stack" - ], - "type": "string" - }, - "SoftLimit": { - "type": "integer" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" - ], - "type": "object" - }, - "Volume": { - "additionalProperties": false, - "properties": { - "ConfiguredAtLaunch": { - "type": "boolean" - }, - "DockerVolumeConfiguration": { - "$ref": "#/definitions/DockerVolumeConfiguration" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/EFSVolumeConfiguration" - }, - "FSxWindowsFileServerVolumeConfiguration": { - "$ref": "#/definitions/FSxWindowsFileServerVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/HostVolumeProperties" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "VolumeFrom": { - "additionalProperties": false, - "properties": { - "ReadOnly": { - "type": "boolean" - }, - "SourceContainer": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/TaskDefinitionArn" - ], - "properties": { - "ContainerDefinitions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ContainerDefinition" - }, - "type": "array", - "uniqueItems": true - }, - "Cpu": { - "type": "string" - }, - "EphemeralStorage": { - "$ref": "#/definitions/EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "InferenceAccelerators": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InferenceAccelerator" - }, - "type": "array", - "uniqueItems": true - }, - "IpcMode": { - "enum": [ - "host", - "none", - "task" - ], - "type": "string" - }, - "Memory": { - "type": "string" - }, - "NetworkMode": { - "enum": [ - "awsvpc", - "bridge", - "host", - "none" - ], - "type": "string" - }, - "PidMode": { - "enum": [ - "host", - "task" - ], - "type": "string" - }, - "PlacementConstraints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TaskDefinitionPlacementConstraint" - }, - "type": "array", - "uniqueItems": true - }, - "ProxyConfiguration": { - "$ref": "#/definitions/ProxyConfiguration" - }, - "RequiresCompatibilities": { - "insertionOrder": false, - "items": { - "enum": [ - "EC2", - "EXTERNAL", - "FARGATE" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "RuntimePlatform": { - "$ref": "#/definitions/RuntimePlatform" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinitionArn": { - "type": "string" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array", - "uniqueItems": true - } - }, - "propertyTransform": { - "/properties/TaskRoleArn": "TaskRoleArn $OR $split(TaskRoleArn, \"role/\")[-1]" - }, - "readOnlyProperties": [ - "/properties/TaskDefinitionArn" - ], - "sourceUrl": "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ECS::TaskDefinition" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-emrserverless-application.json deleted file mode 100644 index 1a44823941..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_1/aws-emrserverless-application.json +++ /dev/null @@ -1,539 +0,0 @@ -{ - "additionalProperties": false, - "conditionalCreateOnlyProperties": [ - "/properties/Architecture", - "/properties/ReleaseLabel", - "/properties/WorkerTypeSpecifications", - "/properties/MaximumCapacity", - "/properties/InitialCapacity", - "/properties/AutoStartConfiguration", - "/properties/AutoStopConfiguration", - "/properties/NetworkConfiguration", - "/properties/ImageConfiguration", - "/properties/MonitoringConfiguration", - "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration" - ], - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type" - ], - "definitions": { - "Architecture": { - "enum": [ - "ARM64", - "X86_64" - ], - "type": "string" - }, - "AutoStartConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - } - }, - "required": [], - "type": "object" - }, - "AutoStopConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "IdleTimeoutMinutes": { - "type": "integer" - } - }, - "required": [], - "type": "object" - }, - "Classification": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "CloudWatchLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": false, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogGroupName": { - "$ref": "#/definitions/LogGroupName" - }, - "LogStreamNamePrefix": { - "$ref": "#/definitions/LogStreamNamePrefix" - }, - "LogTypeMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeMapKeyValuePair" - }, - "type": "array", - "uniqueItems": true - } - } - }, - "ConfigurationList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "ConfigurationObject": { - "additionalProperties": false, - "properties": { - "Classification": { - "$ref": "#/definitions/Classification" - }, - "Configurations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigurationObject" - }, - "type": "array", - "uniqueItems": true - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-a-zA-Z0-9_.]*$": { - "$ref": "#/definitions/SensitivePropertiesMap" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "CpuSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(vCPU|vcpu|VCPU)?$", - "type": "string" - }, - "DiskSize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)$", - "type": "string" - }, - "DiskType": { - "pattern": "^(SHUFFLE_OPTIMIZED|[Ss]huffle_[Oo]ptimized|STANDARD|[Ss]tandard)$", - "type": "string" - }, - "EncryptionKeyArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:(aws[a-zA-Z0-9-]*):kms:[a-zA-Z0-9\\-]*:(\\d{12})?:key\\/[a-zA-Z0-9-]+$", - "type": "string" - }, - "ImageConfigurationInput": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([a-z0-9]+[a-z0-9-.]*)\\/((?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)(?:\\:([a-zA-Z0-9_][a-zA-Z0-9-._]{0,299})|@(sha256:[0-9a-f]{64}))$", - "type": "string" - } - }, - "type": "object" - }, - "InitialCapacityConfig": { - "additionalProperties": false, - "properties": { - "WorkerConfiguration": { - "$ref": "#/definitions/WorkerConfiguration" - }, - "WorkerCount": { - "format": "int64", - "maximum": 1000000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "WorkerCount", - "WorkerConfiguration" - ], - "type": "object" - }, - "InitialCapacityConfigKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "Value": { - "$ref": "#/definitions/InitialCapacityConfig" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "InitialCapacityConfigMap": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/InitialCapacityConfigKeyValuePair" - }, - "type": "array", - "uniqueItems": true - }, - "InteractiveConfiguration": { - "additionalProperties": false, - "properties": { - "LivyEndpointEnabled": { - "default": false, - "type": "boolean" - }, - "StudioEnabled": { - "default": false, - "type": "boolean" - } - }, - "type": "object" - }, - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogStreamNamePrefix": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^:*]*$", - "type": "string" - }, - "LogTypeList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LogTypeString" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "LogTypeMapKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/WorkerTypeString" - }, - "Value": { - "$ref": "#/definitions/LogTypeList" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "LogTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - }, - "ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "default": true, - "type": "boolean" - }, - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - } - } - }, - "MaximumAllowedResources": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "MemorySize": { - "maxLength": 15, - "minLength": 1, - "pattern": "^[1-9][0-9]*(\\s)?(GB|gb|gB|Gb)?$", - "type": "string" - }, - "MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingConfiguration": { - "$ref": "#/definitions/CloudWatchLoggingConfiguration" - }, - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SecurityGroupId" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/SubnetId" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [], - "type": "object" - }, - "S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionKeyArn": { - "$ref": "#/definitions/EncryptionKeyArn" - }, - "LogUri": { - "$ref": "#/definitions/UriString" - } - } - }, - "SecurityGroupId": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "SensitivePropertiesKeyValuePair": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SensitivePropertiesMap": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "SubnetId": { - "maxLength": 32, - "minLength": 1, - "pattern": "[-0-9a-zA-Z]+.*", - "type": "string" - }, - "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" - }, - "UriString": { - "maxLength": 10280, - "minLength": 1, - "pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*", - "type": "string" - }, - "WorkerConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "$ref": "#/definitions/CpuSize" - }, - "Disk": { - "$ref": "#/definitions/DiskSize" - }, - "DiskType": { - "$ref": "#/definitions/DiskType" - }, - "Memory": { - "$ref": "#/definitions/MemorySize" - } - }, - "required": [ - "Cpu", - "Memory" - ], - "type": "object" - }, - "WorkerTypeSpecificationInput": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - } - }, - "type": "object" - }, - "WorkerTypeSpecificationInputMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z]+[-_]*[a-zA-Z]+$": { - "$ref": "#/definitions/WorkerTypeSpecificationInput" - } - }, - "type": "object" - }, - "WorkerTypeString": { - "maxLength": 50, - "minLength": 1, - "pattern": "^[a-zA-Z]+[-_]*[a-zA-Z]+$", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationId" - ], - "properties": { - "ApplicationId": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "Architecture": { - "$ref": "#/definitions/Architecture" - }, - "Arn": { - "pattern": "^arn:(aws[a-zA-Z0-9-]*):emr-serverless:.+:(\\d{12}):\\/applications\\/[0-9a-zA-Z]+$", - "type": "string" - }, - "AutoStartConfiguration": { - "$ref": "#/definitions/AutoStartConfiguration" - }, - "AutoStopConfiguration": { - "$ref": "#/definitions/AutoStopConfiguration" - }, - "ImageConfiguration": { - "$ref": "#/definitions/ImageConfigurationInput" - }, - "InitialCapacity": { - "$ref": "#/definitions/InitialCapacityConfigMap" - }, - "InteractiveConfiguration": { - "$ref": "#/definitions/InteractiveConfiguration" - }, - "MaximumCapacity": { - "$ref": "#/definitions/MaximumAllowedResources" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/MonitoringConfiguration" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._\\/#-]+$", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "ReleaseLabel": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9._/-]+$", - "type": "string" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/ConfigurationList" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "type": "string" - }, - "WorkerTypeSpecifications": { - "$ref": "#/definitions/WorkerTypeSpecificationInputMap" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/ApplicationId" - ], - "required": [ - "ReleaseLabel", - "Type" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EMRServerless::Application" -} diff --git a/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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_south_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_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/me_south_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_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/me_south_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_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/me_south_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_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/me_south_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_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/me_south_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/me_south_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_south_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 5927c34475..903437d76c 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py @@ -143,6 +143,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -1083,10 +1084,8 @@ "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", @@ -1166,7 +1165,6 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", - "aws-cassandra-keyspace.json", "aws-cassandra-table.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", @@ -1640,6 +1638,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", @@ -1655,6 +1654,7 @@ "aws-logs-transformer.json", "aws-m2-application.json", "aws-m2-deployment.json", + "aws-m2-environment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.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 new file mode 100644 index 0000000000..5d841be3e1 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-configurationprofile.json @@ -0,0 +1,138 @@ +{ + "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 new file mode 100644 index 0000000000..e5874842d7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-appconfig-environment.json @@ -0,0 +1,124 @@ +{ + "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-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-keyspace.json new file mode 100644 index 0000000000..203828de9b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-keyspace.json @@ -0,0 +1,118 @@ +{ + "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 new file mode 100644 index 0000000000..a788c284cf --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-cassandra-type.json @@ -0,0 +1,87 @@ +{ + "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-m2-environment.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-m2-environment.json deleted file mode 100644 index 1c433a260d..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_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_east_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-batch-jobdefinition.json index e3863e69ca..a3725889d9 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-batch-jobdefinition.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-batch-jobdefinition.json @@ -4,22 +4,11 @@ "/properties/JobDefinitionName" ], "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, "ContainerProperties": { "additionalProperties": false, "properties": { "Command": { + "insertionOrder": true, "items": { "type": "string" }, @@ -27,6 +16,7 @@ "uniqueItems": false }, "Environment": { + "insertionOrder": true, "items": { "$ref": "#/definitions/Environment" }, @@ -40,14 +30,17 @@ "type": "string" }, "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" + "additionalProperties": false, + "properties": { + "PlatformVersion": { + "type": "string" + } + }, + "type": "object" }, "Image": { "type": "string" }, - "InstanceType": { - "type": "string" - }, "JobRoleArn": { "type": "string" }, @@ -61,8 +54,9 @@ "type": "integer" }, "MountPoints": { + "insertionOrder": false, "items": { - "$ref": "#/definitions/MountPoints" + "$ref": "#/definitions/MountPoint" }, "type": "array", "uniqueItems": false @@ -80,6 +74,7 @@ "$ref": "#/definitions/RepositoryCredentials" }, "ResourceRequirements": { + "insertionOrder": false, "items": { "$ref": "#/definitions/ResourceRequirement" }, @@ -90,6 +85,7 @@ "$ref": "#/definitions/RuntimePlatform" }, "Secrets": { + "insertionOrder": false, "items": { "$ref": "#/definitions/Secret" }, @@ -97,6 +93,7 @@ "uniqueItems": false }, "Ulimits": { + "insertionOrder": false, "items": { "$ref": "#/definitions/Ulimit" }, @@ -110,8 +107,9 @@ "type": "integer" }, "Volumes": { + "insertionOrder": false, "items": { - "$ref": "#/definitions/Volumes" + "$ref": "#/definitions/Volume" }, "type": "array", "uniqueItems": false @@ -132,7 +130,13 @@ "type": "string" }, "Permissions": { + "insertionOrder": false, "items": { + "enumCaseInsensitive": [ + "mknod", + "read", + "write" + ], "type": "string" }, "type": "array", @@ -141,10 +145,55 @@ }, "type": "object" }, + "EFSAuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "Iam": { + "enumCaseInsensitive": [ + "disabled", + "enabled" + ], + "type": "string" + } + }, + "type": "object" + }, + "EFSVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/EFSAuthorizationConfig" + }, + "FileSystemId": { + "type": "string" + }, + "RootDirectory": { + "type": "string" + }, + "TransitEncryption": { + "enumCaseInsensitive": [ + "disabled", + "enabled" + ], + "type": "string" + }, + "TransitEncryptionPort": { + "type": "integer" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, "EcsProperties": { "additionalProperties": false, "properties": { "TaskProperties": { + "insertionOrder": false, "items": { "$ref": "#/definitions/EcsTaskProperties" }, @@ -161,6 +210,7 @@ "additionalProperties": false, "properties": { "Containers": { + "insertionOrder": false, "items": { "$ref": "#/definitions/TaskContainerProperties" }, @@ -192,8 +242,9 @@ "type": "string" }, "Volumes": { + "insertionOrder": false, "items": { - "$ref": "#/definitions/Volumes" + "$ref": "#/definitions/Volume" }, "type": "array", "uniqueItems": false @@ -201,34 +252,11 @@ }, "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": { + "insertionOrder": true, "items": { "type": "string" }, @@ -236,6 +264,7 @@ "uniqueItems": false }, "Command": { + "insertionOrder": true, "items": { "type": "string" }, @@ -243,6 +272,7 @@ "uniqueItems": false }, "Env": { + "insertionOrder": false, "items": { "$ref": "#/definitions/EksContainerEnvironmentVariable" }, @@ -265,6 +295,7 @@ "$ref": "#/definitions/EksContainerSecurityContext" }, "VolumeMounts": { + "insertionOrder": false, "items": { "$ref": "#/definitions/EksContainerVolumeMount" }, @@ -296,18 +327,22 @@ "additionalProperties": false, "properties": { "Limits": { - "format": "json", - "type": [ - "object", - "string" - ] + "additionalProperties": false, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" }, "Requests": { - "format": "json", - "type": [ - "object", - "string" - ] + "additionalProperties": false, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" } }, "type": "object" @@ -372,11 +407,79 @@ }, "type": "object" }, + "EksMetadata": { + "additionalProperties": false, + "properties": { + "Labels": { + "additionalProperties": false, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "EksPodProperties": { + "additionalProperties": false, + "properties": { + "Containers": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EksContainer" + }, + "type": "array", + "uniqueItems": false + }, + "DnsPolicy": { + "type": "string" + }, + "HostNetwork": { + "type": "boolean" + }, + "ImagePullSecrets": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ImagePullSecret" + }, + "type": "array", + "uniqueItems": false + }, + "InitContainers": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EksContainer" + }, + "type": "array", + "uniqueItems": false + }, + "Metadata": { + "$ref": "#/definitions/EksMetadata" + }, + "ServiceAccountName": { + "type": "string" + }, + "ShareProcessNamespace": { + "type": "boolean" + }, + "Volumes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EksVolume" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, "EksProperties": { "additionalProperties": false, "properties": { "PodProperties": { - "$ref": "#/definitions/PodProperties" + "$ref": "#/definitions/EksPodProperties" } }, "type": "object" @@ -445,6 +548,10 @@ "additionalProperties": false, "properties": { "Action": { + "enumCaseInsensitive": [ + "exit", + "retry" + ], "type": "string" }, "OnExitCode": { @@ -462,10 +569,10 @@ ], "type": "object" }, - "FargatePlatformConfiguration": { + "Host": { "additionalProperties": false, "properties": { - "PlatformVersion": { + "SourcePath": { "type": "string" } }, @@ -478,15 +585,22 @@ "type": "string" } }, - "required": [ - "Name" - ], + "type": "object" + }, + "JobTimeout": { + "additionalProperties": false, + "properties": { + "AttemptDurationSeconds": { + "type": "integer" + } + }, "type": "object" }, "LinuxParameters": { "additionalProperties": false, "properties": { "Devices": { + "insertionOrder": false, "items": { "$ref": "#/definitions/Device" }, @@ -506,6 +620,7 @@ "type": "integer" }, "Tmpfs": { + "insertionOrder": false, "items": { "$ref": "#/definitions/Tmpfs" }, @@ -519,16 +634,28 @@ "additionalProperties": false, "properties": { "LogDriver": { + "enumCaseInsensitive": [ + "awslogs", + "fluentd", + "gelf", + "journald", + "json-file", + "splunk", + "syslog" + ], "type": "string" }, "Options": { - "format": "json", - "type": [ - "object", - "string" - ] + "additionalProperties": false, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" }, "SecretOptions": { + "insertionOrder": false, "items": { "$ref": "#/definitions/Secret" }, @@ -541,20 +668,7 @@ ], "type": "object" }, - "Metadata": { - "additionalProperties": false, - "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "type": "object" - }, - "MountPoints": { + "MountPoint": { "additionalProperties": false, "properties": { "ContainerPath": { @@ -569,114 +683,229 @@ }, "type": "object" }, - "NetworkConfiguration": { + "MultiNodeContainerProperties": { "additionalProperties": false, "properties": { - "AssignPublicIp": { + "Command": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Environment": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Environment" + }, + "type": "array", + "uniqueItems": false + }, + "EphemeralStorage": { + "$ref": "#/definitions/EphemeralStorage" + }, + "ExecutionRoleArn": { "type": "string" - } - }, - "type": "object" - }, - "NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { + }, + "Image": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobRoleArn": { + "type": "string" + }, + "LinuxParameters": { + "$ref": "#/definitions/LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/LogConfiguration" + }, + "Memory": { "type": "integer" }, - "NodeRangeProperties": { + "MountPoints": { + "insertionOrder": false, "items": { - "$ref": "#/definitions/NodeRangeProperty" + "$ref": "#/definitions/MountPoint" }, "type": "array", "uniqueItems": false }, - "NumNodes": { + "Privileged": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "RepositoryCredentials": { + "$ref": "#/definitions/RepositoryCredentials" + }, + "ResourceRequirements": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ResourceRequirement" + }, + "type": "array", + "uniqueItems": false + }, + "RuntimePlatform": { + "$ref": "#/definitions/RuntimePlatform" + }, + "Secrets": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Secret" + }, + "type": "array", + "uniqueItems": false + }, + "Ulimits": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Ulimit" + }, + "type": "array", + "uniqueItems": false + }, + "User": { + "type": "string" + }, + "Vcpus": { "type": "integer" + }, + "Volumes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Volume" + }, + "type": "array", + "uniqueItems": false } }, "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" + "Image" ], "type": "object" }, - "NodeRangeProperty": { + "MultiNodeEcsProperties": { "additionalProperties": false, "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "InstanceTypes": { + "TaskProperties": { + "insertionOrder": false, "items": { - "type": "string" + "$ref": "#/definitions/MultiNodeEcsTaskProperties" }, "type": "array", "uniqueItems": false - }, - "TargetNodes": { - "type": "string" } }, "required": [ - "TargetNodes" + "TaskProperties" ], "type": "object" }, - "PodProperties": { + "MultiNodeEcsTaskProperties": { "additionalProperties": false, "properties": { "Containers": { + "insertionOrder": false, "items": { - "$ref": "#/definitions/EksContainer" + "$ref": "#/definitions/TaskContainerProperties" }, "type": "array", "uniqueItems": false }, - "DnsPolicy": { + "ExecutionRoleArn": { "type": "string" }, - "HostNetwork": { - "type": "boolean" + "IpcMode": { + "type": "string" }, - "ImagePullSecrets": { + "PidMode": { + "type": "string" + }, + "TaskRoleArn": { + "type": "string" + }, + "Volumes": { + "insertionOrder": false, "items": { - "$ref": "#/definitions/ImagePullSecret" + "$ref": "#/definitions/Volume" }, "type": "array", "uniqueItems": false + } + }, + "type": "object" + }, + "NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "enumCaseInsensitive": [ + "disabled", + "enabled" + ], + "type": "string" + } + }, + "type": "object" + }, + "NodeProperties": { + "additionalProperties": false, + "properties": { + "MainNode": { + "type": "integer" }, - "InitContainers": { + "NodeRangeProperties": { + "insertionOrder": false, "items": { - "$ref": "#/definitions/EksContainer" + "$ref": "#/definitions/NodeRangeProperty" }, "type": "array", "uniqueItems": false }, - "Metadata": { - "$ref": "#/definitions/Metadata" + "NumNodes": { + "type": "integer" + } + }, + "required": [ + "NumNodes", + "MainNode", + "NodeRangeProperties" + ], + "type": "object" + }, + "NodeRangeProperty": { + "additionalProperties": false, + "properties": { + "Container": { + "$ref": "#/definitions/MultiNodeContainerProperties" }, - "ServiceAccountName": { - "type": "string" + "EcsProperties": { + "$ref": "#/definitions/MultiNodeEcsProperties" }, - "ShareProcessNamespace": { - "type": "boolean" + "EksProperties": { + "$ref": "#/definitions/EksProperties" }, - "Volumes": { + "InstanceTypes": { + "insertionOrder": false, "items": { - "$ref": "#/definitions/EksVolume" + "type": "string" }, "type": "array", "uniqueItems": false + }, + "TargetNodes": { + "type": "string" } }, + "required": [ + "TargetNodes" + ], "type": "object" }, "RepositoryCredentials": { @@ -695,6 +924,11 @@ "additionalProperties": false, "properties": { "Type": { + "enumCaseInsensitive": [ + "gpu", + "memory", + "vcpu" + ], "type": "string" }, "Value": { @@ -710,6 +944,7 @@ "type": "integer" }, "EvaluateOnExit": { + "insertionOrder": false, "items": { "$ref": "#/definitions/EvaluateOnExit" }, @@ -742,8 +977,8 @@ } }, "required": [ - "ValueFrom", - "Name" + "Name", + "ValueFrom" ], "type": "object" }, @@ -758,8 +993,8 @@ } }, "required": [ - "Condition", - "ContainerName" + "ContainerName", + "Condition" ], "type": "object" }, @@ -767,6 +1002,7 @@ "additionalProperties": false, "properties": { "Command": { + "insertionOrder": true, "items": { "type": "string" }, @@ -774,6 +1010,7 @@ "uniqueItems": false }, "DependsOn": { + "insertionOrder": false, "items": { "$ref": "#/definitions/TaskContainerDependency" }, @@ -781,6 +1018,7 @@ "uniqueItems": false }, "Environment": { + "insertionOrder": true, "items": { "$ref": "#/definitions/Environment" }, @@ -800,8 +1038,9 @@ "$ref": "#/definitions/LogConfiguration" }, "MountPoints": { + "insertionOrder": false, "items": { - "$ref": "#/definitions/MountPoints" + "$ref": "#/definitions/MountPoint" }, "type": "array", "uniqueItems": false @@ -819,6 +1058,7 @@ "$ref": "#/definitions/RepositoryCredentials" }, "ResourceRequirements": { + "insertionOrder": false, "items": { "$ref": "#/definitions/ResourceRequirement" }, @@ -826,6 +1066,7 @@ "uniqueItems": false }, "Secrets": { + "insertionOrder": false, "items": { "$ref": "#/definitions/Secret" }, @@ -833,6 +1074,7 @@ "uniqueItems": false }, "Ulimits": { + "insertionOrder": false, "items": { "$ref": "#/definitions/Ulimit" }, @@ -848,15 +1090,6 @@ ], "type": "object" }, - "Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, "Tmpfs": { "additionalProperties": false, "properties": { @@ -864,6 +1097,7 @@ "type": "string" }, "MountOptions": { + "insertionOrder": false, "items": { "type": "string" }, @@ -875,8 +1109,8 @@ } }, "required": [ - "Size", - "ContainerPath" + "ContainerPath", + "Size" ], "type": "object" }, @@ -894,39 +1128,30 @@ } }, "required": [ - "SoftLimit", "HardLimit", - "Name" + "Name", + "SoftLimit" ], "type": "object" }, - "Volumes": { + "Volume": { "additionalProperties": false, "properties": { "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" + "$ref": "#/definitions/EFSVolumeConfiguration" }, "Host": { - "$ref": "#/definitions/VolumesHost" + "$ref": "#/definitions/Host" }, "Name": { "type": "string" } }, "type": "object" - }, - "VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" } }, "primaryIdentifier": [ - "/properties/Id" + "/properties/JobDefinitionName" ], "properties": { "ContainerProperties": { @@ -938,24 +1163,29 @@ "EksProperties": { "$ref": "#/definitions/EksProperties" }, - "Id": { - "type": "string" - }, "JobDefinitionName": { + "maxLength": 128, "type": "string" }, "NodeProperties": { "$ref": "#/definitions/NodeProperties" }, "Parameters": { - "format": "json", - "type": [ - "object", - "string" - ] + "additionalProperties": false, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" }, "PlatformCapabilities": { + "insertionOrder": true, "items": { + "enumCaseInsensitive": [ + "ec2", + "fargate" + ], "type": "string" }, "type": "array", @@ -971,24 +1201,35 @@ "type": "integer" }, "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] + "additionalProperties": false, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" }, "Timeout": { - "$ref": "#/definitions/Timeout" + "$ref": "#/definitions/JobTimeout" }, "Type": { + "enumCaseInsensitive": [ + "container", + "multinode" + ], "type": "string" } }, - "readOnlyProperties": [ - "/properties/Id" - ], "required": [ "Type" ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, "typeName": "AWS::Batch::JobDefinition" } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-hoursofoperation.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-hoursofoperation.json index fe2b19d743..506c201760 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-hoursofoperation.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-hoursofoperation.json @@ -197,6 +197,7 @@ "Description": { "maxLength": 250, "minLength": 1, + "pattern": "^[\\P{C}\\r\\n\\t]{1,250}$", "type": "string" }, "HoursOfOperationArn": { @@ -218,6 +219,7 @@ "Name": { "maxLength": 127, "minLength": 1, + "pattern": "^[\\P{C}\\r\\n\\t]{1,127}$", "type": "string" }, "Tags": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-service.json index 57d8a70796..2160921812 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-service.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-service.json @@ -624,7 +624,8 @@ } }, "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])" + "/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])", + "/properties/TaskDefinition": "TaskDefinition $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:ecs:[a-z0-9-]+:[0-9]{12}:task-definition/\", $contains(TaskDefinition,\":\")?TaskDefinition:$join([TaskDefinition, \":[0-9]+\"])])" }, "readOnlyProperties": [ "/properties/ServiceArn", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-experimenttemplate.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-experimenttemplate.json index 393ed27f75..971ad62b9b 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-experimenttemplate.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-fis-experimenttemplate.json @@ -169,8 +169,7 @@ } }, "required": [ - "Outputs", - "DataSources" + "Outputs" ], "type": "object" }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-softwarepackageversion.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-softwarepackageversion.json index bf722d5a0b..48ddfbd4c0 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-softwarepackageversion.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-softwarepackageversion.json @@ -70,6 +70,7 @@ "type": "string" }, "PackageVersionArn": { + "pattern": "^arn:[!-~]+$", "type": "string" }, "Status": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-accountpolicy.json index cd06e8b930..1636d1a031 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-accountpolicy.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-accountpolicy.json @@ -28,7 +28,9 @@ "PolicyType": { "enum": [ "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" + "SUBSCRIPTION_FILTER_POLICY", + "FIELD_INDEX_POLICY", + "TRANSFORMER_POLICY" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-integration.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-integration.json index 7d716f5622..ca52c5bde4 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-integration.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-integration.json @@ -48,7 +48,7 @@ ], "properties": { "IntegrationName": { - "maxLength": 256, + "maxLength": 50, "minLength": 1, "pattern": "[\\.\\-_/#A-Za-z0-9]+", "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-channelplacementgroup.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-channelplacementgroup.json index 9f20068eaa..bfa12294fa 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-channelplacementgroup.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-medialive-channelplacementgroup.json @@ -79,9 +79,9 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git", "tagging": { "cloudFormationSystemTags": false, - "tagOnCreate": false, + "tagOnCreate": true, "tagProperty": "/properties/Tags", - "tagUpdatable": false, + "tagUpdatable": true, "taggable": true }, "typeName": "AWS::MediaLive::ChannelPlacementGroup" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-dataqualityjobdefinition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-dataqualityjobdefinition.json index 69328e4bab..a39902a36c 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-dataqualityjobdefinition.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-dataqualityjobdefinition.json @@ -558,6 +558,13 @@ "JobResources", "RoleArn" ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, "typeName": "AWS::SageMaker::DataQualityJobDefinition", "writeOnlyProperties": [ "/properties/EndpointName", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelbiasjobdefinition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelbiasjobdefinition.json index e83049d2c5..88fb94d906 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelbiasjobdefinition.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelbiasjobdefinition.json @@ -588,6 +588,13 @@ "JobResources", "RoleArn" ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, "typeName": "AWS::SageMaker::ModelBiasJobDefinition", "writeOnlyProperties": [ "/properties/EndpointName", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelexplainabilityjobdefinition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelexplainabilityjobdefinition.json index 14f7d9774d..75ea571ede 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelexplainabilityjobdefinition.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelexplainabilityjobdefinition.json @@ -548,6 +548,13 @@ "JobResources", "RoleArn" ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, "typeName": "AWS::SageMaker::ModelExplainabilityJobDefinition", "writeOnlyProperties": [ "/properties/EndpointName", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelqualityjobdefinition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelqualityjobdefinition.json index 65f5e45997..cc8823752f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelqualityjobdefinition.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-sagemaker-modelqualityjobdefinition.json @@ -612,6 +612,13 @@ "JobResources", "RoleArn" ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, "typeName": "AWS::SageMaker::ModelQualityJobDefinition", "writeOnlyProperties": [ "/properties/EndpointName", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-transfer-server.json index 22e8898972..8fcb89e247 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-transfer-server.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-transfer-server.json @@ -185,6 +185,17 @@ ], "type": "string" }, + "State": { + "enum": [ + "OFFLINE", + "ONLINE", + "STARTING", + "STOPPING", + "START_FAILED", + "STOP_FAILED" + ], + "type": "string" + }, "Tag": { "additionalProperties": false, "properties": { @@ -343,6 +354,9 @@ "pattern": "^s-([0-9a-f]{17})$", "type": "string" }, + "State": { + "$ref": "#/definitions/State" + }, "StructuredLogDestinations": { "insertionOrder": false, "items": { @@ -371,7 +385,8 @@ "readOnlyProperties": [ "/properties/Arn", "/properties/As2ServiceManagedEgressIpAddresses", - "/properties/ServerId" + "/properties/ServerId", + "/properties/State" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", "tagging": { 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 6134dd72cf..f015910a78 100644 --- a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py @@ -158,6 +158,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -750,6 +751,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::LookoutMetrics::Alert", "AWS::LookoutMetrics::AnomalyDetector", "AWS::LookoutVision::Project", @@ -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", @@ -1323,7 +1326,6 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-bedrock-agent.json", @@ -1340,7 +1342,6 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", - "aws-cassandra-keyspace.json", "aws-cassandra-table.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", @@ -1381,6 +1382,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -1482,8 +1484,6 @@ "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", @@ -1530,6 +1530,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -1627,7 +1628,6 @@ "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", @@ -1851,6 +1851,7 @@ "aws-iotevents-detectormodel.json", "aws-iotevents-input.json", "aws-iotfleethub-application.json", + "aws-iotsitewise-accesspolicy.json", "aws-iotsitewise-asset.json", "aws-iotsitewise-assetmodel.json", "aws-iotsitewise-dashboard.json", @@ -1915,15 +1916,18 @@ "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", + "aws-logs-metricfilter.json", + "aws-logs-querydefinition.json", "aws-logs-resourcepolicy.json", + "aws-logs-subscriptionfilter.json", + "aws-logs-transformer.json", "aws-lookoutmetrics-alert.json", "aws-lookoutmetrics-anomalydetector.json", "aws-lookoutvision-project.json", @@ -1983,6 +1987,7 @@ "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", + "aws-msk-replicator.json", "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", @@ -2070,6 +2075,7 @@ "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", "aws-rbin-rule.json", + "aws-rds-customdbengineversion.json", "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", @@ -2096,6 +2102,7 @@ "aws-redshift-integration.json", "aws-redshift-scheduledaction.json", "aws-redshiftserverless-namespace.json", + "aws-redshiftserverless-workgroup.json", "aws-refactorspaces-application.json", "aws-refactorspaces-route.json", "aws-refactorspaces-service.json", @@ -2151,6 +2158,7 @@ "aws-s3-storagelens.json", "aws-s3-storagelensgroup.json", "aws-s3express-bucketpolicy.json", + "aws-s3express-directorybucket.json", "aws-s3objectlambda-accesspoint.json", "aws-s3objectlambda-accesspointpolicy.json", "aws-s3outposts-accesspoint.json", @@ -2299,7 +2307,6 @@ "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-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_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/us_east_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-keyspace.json new file mode 100644 index 0000000000..203828de9b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-keyspace.json @@ -0,0 +1,118 @@ +{ + "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 new file mode 100644 index 0000000000..a788c284cf --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-cassandra-type.json @@ -0,0 +1,87 @@ +{ + "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-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} 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 new file mode 100644 index 0000000000..9edc2ab9e6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-projectmembership.json @@ -0,0 +1,92 @@ +{ + "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 new file mode 100644 index 0000000000..801ae54398 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-datazone-subscriptiontarget.json @@ -0,0 +1,147 @@ +{ + "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-customergateway.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/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/us_east_2/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-iotsitewise-accesspolicy.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-iotsitewise-accesspolicy.json deleted file mode 100644 index e91d24809d..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-iotsitewise-accesspolicy.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "AccessPolicyIdentity": { - "additionalProperties": false, - "properties": { - "IamRole": { - "$ref": "#/definitions/IamRole" - }, - "IamUser": { - "$ref": "#/definitions/IamUser" - }, - "User": { - "$ref": "#/definitions/User" - } - }, - "type": "object" - }, - "AccessPolicyResource": { - "additionalProperties": false, - "properties": { - "Portal": { - "$ref": "#/definitions/Portal" - }, - "Project": { - "$ref": "#/definitions/Project" - } - }, - "type": "object" - }, - "IamRole": { - "additionalProperties": false, - "properties": { - "arn": { - "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$", - "type": "string" - } - }, - "type": "object" - }, - "IamUser": { - "additionalProperties": false, - "properties": { - "arn": { - "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$", - "type": "string" - } - }, - "type": "object" - }, - "Portal": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "type": "object" - }, - "Project": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "type": "object" - }, - "User": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "\\S+", - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/AccessPolicyId" - ], - "properties": { - "AccessPolicyArn": { - "type": "string" - }, - "AccessPolicyId": { - "type": "string" - }, - "AccessPolicyIdentity": { - "$ref": "#/definitions/AccessPolicyIdentity" - }, - "AccessPolicyPermission": { - "enum": [ - "ADMINISTRATOR", - "VIEWER" - ], - "type": "string" - }, - "AccessPolicyResource": { - "$ref": "#/definitions/AccessPolicyResource" - } - }, - "readOnlyProperties": [ - "/properties/AccessPolicyArn", - "/properties/AccessPolicyId" - ], - "required": [ - "AccessPolicyIdentity", - "AccessPolicyPermission", - "AccessPolicyResource" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git", - "taggable": false, - "typeName": "AWS::IoTSiteWise::AccessPolicy" -} 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 new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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 new file mode 100644 index 0000000000..7d716f5622 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-integration.json @@ -0,0 +1,100 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/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/us_east_2/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/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/us_east_2/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/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/us_east_2/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/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/us_east_2/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-msk-replicator.json deleted file mode 100644 index 8ca994e218..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-msk-replicator.json +++ /dev/null @@ -1,321 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ReplicatorName" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ReplicatorName", - "/properties/Description", - "/properties/KafkaClusters", - "/properties/ServiceExecutionRoleArn" - ], - "definitions": { - "AmazonMskCluster": { - "additionalProperties": false, - "properties": { - "MskClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - } - }, - "required": [ - "MskClusterArn" - ], - "type": "object" - }, - "ConsumerGroupReplication": { - "additionalProperties": false, - "properties": { - "ConsumerGroupsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ConsumerGroupsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "DetectAndCopyNewConsumerGroups": { - "type": "boolean" - }, - "SynchroniseConsumerGroupOffsets": { - "type": "boolean" - } - }, - "required": [ - "ConsumerGroupsToReplicate" - ], - "type": "object" - }, - "KafkaCluster": { - "additionalProperties": false, - "properties": { - "AmazonMskCluster": { - "$ref": "#/definitions/AmazonMskCluster" - }, - "VpcConfig": { - "$ref": "#/definitions/KafkaClusterClientVpcConfig" - } - }, - "required": [ - "AmazonMskCluster", - "VpcConfig" - ], - "type": "object" - }, - "KafkaClusterClientVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 3, - "minItems": 2, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "ReplicationInfo": { - "additionalProperties": false, - "properties": { - "ConsumerGroupReplication": { - "$ref": "#/definitions/ConsumerGroupReplication" - }, - "SourceKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TargetCompressionType": { - "enum": [ - "NONE", - "GZIP", - "SNAPPY", - "LZ4", - "ZSTD" - ], - "type": "string" - }, - "TargetKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TopicReplication": { - "$ref": "#/definitions/TopicReplication" - } - }, - "required": [ - "SourceKafkaClusterArn", - "TargetKafkaClusterArn", - "TopicReplication", - "ConsumerGroupReplication", - "TargetCompressionType" - ], - "type": "object" - }, - "ReplicationStartingPosition": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationStartingPositionType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationStartingPositionType": { - "enum": [ - "LATEST", - "EARLIEST" - ], - "type": "string" - }, - "ReplicationTopicNameConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationTopicNameConfigurationType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationTopicNameConfigurationType": { - "enum": [ - "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS", - "IDENTICAL" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "TopicReplication": { - "additionalProperties": false, - "properties": { - "CopyAccessControlListsForTopics": { - "type": "boolean" - }, - "CopyTopicConfigurations": { - "type": "boolean" - }, - "DetectAndCopyNewTopics": { - "type": "boolean" - }, - "StartingPosition": { - "$ref": "#/definitions/ReplicationStartingPosition" - }, - "TopicNameConfiguration": { - "$ref": "#/definitions/ReplicationTopicNameConfiguration" - }, - "TopicsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "TopicsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "TopicsToReplicate" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ReplicatorArn" - ], - "properties": { - "CurrentVersion": { - "type": "string" - }, - "Description": { - "maxLength": 1024, - "type": "string" - }, - "KafkaClusters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KafkaCluster" - }, - "maxItems": 2, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationInfoList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ReplicationInfo" - }, - "maxItems": 1, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ReplicatorArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "ReplicatorName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$", - "type": "string" - }, - "ServiceExecutionRoleArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/ReplicatorArn" - ], - "required": [ - "ReplicatorName", - "ReplicationInfoList", - "KafkaClusters", - "ServiceExecutionRoleArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::MSK::Replicator" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-customdbengineversion.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-customdbengineversion.json deleted file mode 100644 index ae6cc1e635..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-customdbengineversion.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Engine", - "/properties/EngineVersion", - "/properties/DatabaseInstallationFilesS3BucketName", - "/properties/DatabaseInstallationFilesS3Prefix", - "/properties/ImageId", - "/properties/KMSKeyId", - "/properties/Manifest", - "/properties/SourceCustomDbEngineVersionIdentifier", - "/properties/UseAwsProvidedLatestImage" - ], - "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/Engine", - "/properties/EngineVersion" - ], - "properties": { - "DBEngineVersionArn": { - "type": "string" - }, - "DatabaseInstallationFilesS3BucketName": { - "maxLength": 63, - "minLength": 3, - "type": "string" - }, - "DatabaseInstallationFilesS3Prefix": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "Description": { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - "Engine": { - "maxLength": 35, - "minLength": 1, - "pattern": "^[A-Za-z0-9-]{1,35}$", - "type": "string" - }, - "EngineVersion": { - "maxLength": 60, - "minLength": 1, - "pattern": "^[a-z0-9_.-]{1,60}$", - "type": "string" - }, - "ImageId": { - "format": "AWS::EC2::Image.Id", - "type": "string" - }, - "KMSKeyId": { - "maxLength": 2048, - "minLength": 1, - "pattern": "[a-zA-Z0-9_:\\-\\/]+", - "type": "string" - }, - "Manifest": { - "maxLength": 51000, - "minLength": 1, - "pattern": "[\\s\\S]*", - "type": "string" - }, - "SourceCustomDbEngineVersionIdentifier": { - "type": "string" - }, - "Status": { - "default": "available", - "enum": [ - "available", - "inactive", - "inactive-except-restore" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "UseAwsProvidedLatestImage": { - "type": "boolean" - } - }, - "propertyTransform": { - "/properties/Engine": "$lowercase(Engine)", - "/properties/EngineVersion": "$lowercase(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])" - }, - "readOnlyProperties": [ - "/properties/DBEngineVersionArn" - ], - "required": [ - "Engine", - "EngineVersion" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "taggable": true - }, - "typeName": "AWS::RDS::CustomDBEngineVersion", - "writeOnlyProperties": [ - "/properties/Manifest", - "/properties/SourceCustomDbEngineVersionIdentifier", - "/properties/UseAwsProvidedLatestImage" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-redshiftserverless-workgroup.json deleted file mode 100644 index 60a6356907..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-redshiftserverless-workgroup.json +++ /dev/null @@ -1,312 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/WorkgroupName", - "/properties/NamespaceName" - ], - "definitions": { - "ConfigParameter": { - "additionalProperties": false, - "properties": { - "ParameterKey": { - "maxLength": 255, - "minLength": 0, - "type": "string" - }, - "ParameterValue": { - "maxLength": 15000, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "VpcEndpoints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcEndpoint" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkInterface": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - } - }, - "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" - }, - "VpcEndpoint": { - "additionalProperties": false, - "properties": { - "NetworkInterfaces": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/NetworkInterface" - }, - "type": "array" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "Workgroup": { - "additionalProperties": false, - "properties": { - "BaseCapacity": { - "type": "integer" - }, - "ConfigParameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigParameter" - }, - "type": "array", - "uniqueItems": true - }, - "CreationDate": { - "type": "string" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "EnhancedVpcRouting": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "NamespaceName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^[a-z0-9-]+$", - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 255, - "minLength": 0, - "pattern": "^sg-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "type": "array" - }, - "Status": { - "$ref": "#/definitions/WorkgroupStatus" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 0, - "pattern": "^subnet-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "type": "array" - }, - "WorkgroupArn": { - "type": "string" - }, - "WorkgroupId": { - "type": "string" - }, - "WorkgroupName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^[a-z0-9-]*$", - "type": "string" - } - }, - "type": "object" - }, - "WorkgroupStatus": { - "enum": [ - "CREATING", - "AVAILABLE", - "MODIFYING", - "DELETING" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/WorkgroupName" - ], - "properties": { - "BaseCapacity": { - "type": "integer" - }, - "ConfigParameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigParameter" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "EnhancedVpcRouting": { - "default": false, - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "NamespaceName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^(?=^[a-z0-9-]+$).{3,64}$", - "type": "string" - }, - "Port": { - "type": "integer" - }, - "PubliclyAccessible": { - "default": false, - "type": "boolean" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 255, - "minLength": 0, - "pattern": "^sg-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "maxItems": 32, - "minItems": 1, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 0, - "pattern": "^subnet-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "maxItems": 32, - "minItems": 1, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array" - }, - "Workgroup": { - "$ref": "#/definitions/Workgroup" - }, - "WorkgroupName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^(?=^[a-z0-9-]+$).{3,64}$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Workgroup", - "/properties/Workgroup/WorkgroupId", - "/properties/Workgroup/WorkgroupArn", - "/properties/Workgroup/WorkgroupName", - "/properties/Workgroup/NamespaceName", - "/properties/Workgroup/BaseCapacity", - "/properties/Workgroup/MaxCapacity", - "/properties/Workgroup/EnhancedVpcRouting", - "/properties/Workgroup/ConfigParameters/*/ParameterKey", - "/properties/Workgroup/ConfigParameters/*/ParameterValue", - "/properties/Workgroup/SecurityGroupIds", - "/properties/Workgroup/SubnetIds", - "/properties/Workgroup/Status", - "/properties/Workgroup/Endpoint/Address", - "/properties/Workgroup/Endpoint/Port", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone", - "/properties/Workgroup/PubliclyAccessible", - "/properties/Workgroup/CreationDate" - ], - "required": [ - "WorkgroupName" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::RedshiftServerless::Workgroup", - "writeOnlyProperties": [ - "/properties/BaseCapacity", - "/properties/MaxCapacity", - "/properties/ConfigParameters", - "/properties/SecurityGroupIds", - "/properties/SubnetIds" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-s3express-directorybucket.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-s3express-directorybucket.json deleted file mode 100644 index ea6eeee322..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-s3express-directorybucket.json +++ /dev/null @@ -1,196 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/BucketName", - "/properties/LocationName", - "/properties/DataRedundancy" - ], - "definitions": { - "AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "Arn": { - "type": "string" - }, - "BucketEncryption": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionConfiguration": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/ServerSideEncryptionRule" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "ServerSideEncryptionConfiguration" - ], - "type": "object" - }, - "LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "insertionOrder": true, - "items": { - "$ref": "#/definitions/Rule" - }, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "Rule": { - "additionalProperties": false, - "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AbortIncompleteMultipartUpload" - }, - "ExpirationInDays": { - "type": "integer" - }, - "Id": { - "maxLength": 255, - "type": "string" - }, - "ObjectSizeGreaterThan": { - "maxLength": 20, - "pattern": "[0-9]+", - "type": "string" - }, - "ObjectSizeLessThan": { - "maxLength": 20, - "pattern": "[0-9]+", - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Status": { - "enum": [ - "Enabled", - "Disabled" - ], - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "ServerSideEncryptionByDefault": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyID": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/KeyId", - "typeName": "AWS::KMS::Key" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::KMS::Key" - } - } - ], - "type": "string" - }, - "SSEAlgorithm": { - "enum": [ - "aws:kms", - "AES256" - ], - "type": "string" - } - }, - "required": [ - "SSEAlgorithm" - ], - "type": "object" - }, - "ServerSideEncryptionRule": { - "additionalProperties": false, - "properties": { - "BucketKeyEnabled": { - "type": "boolean" - }, - "ServerSideEncryptionByDefault": { - "$ref": "#/definitions/ServerSideEncryptionByDefault" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/BucketName" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn", - "examples": [ - "arn:aws:s3express:us-west-2:123456789123:bucket/DOC-EXAMPLE-BUCKET--usw2-az1--x-s3" - ] - }, - "AvailabilityZoneName": { - "examples": [ - "us-east-1f" - ], - "type": "string" - }, - "BucketEncryption": { - "$ref": "#/definitions/BucketEncryption" - }, - "BucketName": { - "maxLength": 63, - "pattern": "^[a-z0-9][a-z0-9//.//-]*[a-z0-9]$", - "type": "string" - }, - "DataRedundancy": { - "enum": [ - "SingleAvailabilityZone" - ], - "type": "string" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/LifecycleConfiguration" - }, - "LocationName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn", - "/properties/AvailabilityZoneName" - ], - "required": [ - "LocationName", - "DataRedundancy" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::S3Express::DirectoryBucket" -} 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 new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 da282159dc..a3e1a9300a 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 @@ -726,6 +726,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", @@ -776,7 +777,6 @@ "aws-backup-reportplan.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-bedrock-guardrail.json", @@ -860,6 +860,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -940,7 +941,6 @@ "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", @@ -1084,13 +1084,16 @@ "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", "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-m2-application.json", "aws-msk-batchscramsecret.json", "aws-msk-cluster.json", @@ -1127,6 +1130,7 @@ "aws-opsworks-volume.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-ram-permission.json", "aws-rbin-rule.json", @@ -1259,7 +1263,6 @@ "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/us_gov_east_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_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/us_gov_east_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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_gov_east_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-cassandra-keyspace.json index 493b83acb8..203828de9b 100644 --- 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 @@ -1,7 +1,6 @@ { "additionalProperties": false, "createOnlyProperties": [ - "/properties/ReplicationSpecification", "/properties/KeyspaceName" ], "definitions": { diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_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/us_gov_east_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_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/us_gov_east_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_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/us_gov_east_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_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/us_gov_east_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_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/us_gov_east_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_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/us_gov_east_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py index 28423d0038..97eea60595 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 @@ -895,7 +895,6 @@ "aws-backup-reportplan.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-bedrock-guardrail.json", @@ -1016,6 +1015,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -1025,6 +1025,7 @@ "aws-ec2-gatewayroutetableassociation.json", "aws-ec2-instance.json", "aws-ec2-instanceconnectendpoint.json", + "aws-ec2-internetgateway.json", "aws-ec2-ipam.json", "aws-ec2-ipamallocation.json", "aws-ec2-ipampool.json", @@ -1096,7 +1097,6 @@ "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", @@ -1228,6 +1228,7 @@ "aws-iotevents-alarmmodel.json", "aws-iotevents-detectormodel.json", "aws-iotevents-input.json", + "aws-iotsitewise-accesspolicy.json", "aws-iotsitewise-asset.json", "aws-iotsitewise-assetmodel.json", "aws-iotsitewise-dashboard.json", @@ -1268,13 +1269,16 @@ "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-loggroup.json", "aws-logs-logstream.json", + "aws-logs-metricfilter.json", + "aws-logs-querydefinition.json", "aws-logs-resourcepolicy.json", + "aws-logs-subscriptionfilter.json", "aws-msk-batchscramsecret.json", "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", @@ -1310,6 +1314,7 @@ "aws-opsworks-volume.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pinpoint-apnschannel.json", "aws-pinpoint-apnssandboxchannel.json", @@ -1482,7 +1487,6 @@ "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_gov_west_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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_gov_west_1/aws-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-cassandra-keyspace.json index 493b83acb8..203828de9b 100644 --- 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 @@ -1,7 +1,6 @@ { "additionalProperties": false, "createOnlyProperties": [ - "/properties/ReplicationSpecification", "/properties/KeyspaceName" ], "definitions": { diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_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/us_gov_west_1/aws-ec2-internetgateway.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-internetgateway.json deleted file mode 100644 index 98879b66ff..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-internetgateway.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "typeName": "AWS::EC2::InternetGateway" -} 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 new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-iotsitewise-accesspolicy.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-iotsitewise-accesspolicy.json deleted file mode 100644 index e91d24809d..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-iotsitewise-accesspolicy.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "AccessPolicyIdentity": { - "additionalProperties": false, - "properties": { - "IamRole": { - "$ref": "#/definitions/IamRole" - }, - "IamUser": { - "$ref": "#/definitions/IamUser" - }, - "User": { - "$ref": "#/definitions/User" - } - }, - "type": "object" - }, - "AccessPolicyResource": { - "additionalProperties": false, - "properties": { - "Portal": { - "$ref": "#/definitions/Portal" - }, - "Project": { - "$ref": "#/definitions/Project" - } - }, - "type": "object" - }, - "IamRole": { - "additionalProperties": false, - "properties": { - "arn": { - "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$", - "type": "string" - } - }, - "type": "object" - }, - "IamUser": { - "additionalProperties": false, - "properties": { - "arn": { - "pattern": "^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\\/_\\.\\+=,@]+$", - "type": "string" - } - }, - "type": "object" - }, - "Portal": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "type": "object" - }, - "Project": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", - "type": "string" - } - }, - "type": "object" - }, - "User": { - "additionalProperties": false, - "properties": { - "id": { - "pattern": "\\S+", - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/AccessPolicyId" - ], - "properties": { - "AccessPolicyArn": { - "type": "string" - }, - "AccessPolicyId": { - "type": "string" - }, - "AccessPolicyIdentity": { - "$ref": "#/definitions/AccessPolicyIdentity" - }, - "AccessPolicyPermission": { - "enum": [ - "ADMINISTRATOR", - "VIEWER" - ], - "type": "string" - }, - "AccessPolicyResource": { - "$ref": "#/definitions/AccessPolicyResource" - } - }, - "readOnlyProperties": [ - "/properties/AccessPolicyArn", - "/properties/AccessPolicyId" - ], - "required": [ - "AccessPolicyIdentity", - "AccessPolicyPermission", - "AccessPolicyResource" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git", - "taggable": false, - "typeName": "AWS::IoTSiteWise::AccessPolicy" -} 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 new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_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/us_gov_west_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_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/us_gov_west_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_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/us_gov_west_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_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/us_gov_west_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_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/us_gov_west_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-transfer-server.json new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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_1/__init__.py b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py index a0e07245d4..162ce8e5a4 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py @@ -603,6 +603,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::M2::Application", "AWS::M2::Deployment", "AWS::M2::Environment", @@ -1015,10 +1016,8 @@ "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", @@ -1072,7 +1071,6 @@ "aws-backup-restoretestingselection.json", "aws-backupgateway-hypervisor.json", "aws-batch-computeenvironment.json", - "aws-batch-jobdefinition.json", "aws-batch-jobqueue.json", "aws-batch-schedulingpolicy.json", "aws-budgets-budget.json", @@ -1108,6 +1106,7 @@ "aws-cloudfront-cachepolicy.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", "aws-cloudfront-continuousdeploymentpolicy.json", + "aws-cloudfront-distribution.json", "aws-cloudfront-function.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-keyvaluestore.json", @@ -1220,6 +1219,7 @@ "aws-ec2-clientvpnendpoint.json", "aws-ec2-clientvpnroute.json", "aws-ec2-clientvpntargetnetworkassociation.json", + "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -1317,7 +1317,6 @@ "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", @@ -1529,10 +1528,16 @@ "aws-logs-deliverysource.json", "aws-logs-destination.json", "aws-logs-loganomalydetector.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-logs-transformer.json", "aws-m2-application.json", "aws-m2-deployment.json", + "aws-m2-environment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -1560,6 +1565,7 @@ "aws-mediapackagev2-originendpoint.json", "aws-mediapackagev2-originendpointpolicy.json", "aws-memorydb-acl.json", + "aws-memorydb-cluster.json", "aws-memorydb-multiregioncluster.json", "aws-memorydb-parametergroup.json", "aws-memorydb-subnetgroup.json", @@ -1568,6 +1574,7 @@ "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", + "aws-msk-replicator.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", "aws-neptune-dbcluster.json", @@ -1606,6 +1613,7 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", + "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pcaconnectorad-connector.json", "aws-pcaconnectorad-directoryregistration.json", @@ -1616,6 +1624,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", @@ -1642,6 +1651,7 @@ "aws-redshift-integration.json", "aws-redshift-scheduledaction.json", "aws-redshiftserverless-namespace.json", + "aws-redshiftserverless-workgroup.json", "aws-refactorspaces-application.json", "aws-refactorspaces-environment.json", "aws-refactorspaces-route.json", @@ -1824,7 +1834,6 @@ "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 new file mode 100644 index 0000000000..5d841be3e1 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-configurationprofile.json @@ -0,0 +1,138 @@ +{ + "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 new file mode 100644 index 0000000000..e5874842d7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-appconfig-environment.json @@ -0,0 +1,124 @@ +{ + "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 new file mode 100644 index 0000000000..ef7e6803f7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-batch-jobdefinition.json @@ -0,0 +1,998 @@ +{ + "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-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-cloudfront-distribution.json deleted file mode 100644 index 066d90ae55..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-cloudfront-distribution.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "ResponseHeadersPolicyId": { - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "enum": [ - "all", - "none", - "whitelist" - ], - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "CustomErrorResponse": { - "additionalProperties": false, - "dependentRequired": { - "ResponseCode": [ - "ResponsePagePath" - ] - }, - "properties": { - "ErrorCachingMinTTL": { - "default": 300, - "type": "number" - }, - "ErrorCode": { - "enum": [ - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponseCode": { - "enum": [ - 200, - 400, - 403, - 404, - 405, - 414, - 416, - 500, - 501, - 502, - 503, - 504 - ], - "type": "integer" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginKeepaliveTimeout": { - "default": 5, - "type": "integer" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "default": 30, - "type": "integer" - }, - "OriginSSLProtocols": { - "default": [ - "TLSv1", - "SSLv3" - ], - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CachePolicyId": { - "default": "", - "type": "string" - }, - "CachedMethods": { - "default": [ - "GET", - "HEAD" - ], - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Compress": { - "default": false, - "type": "boolean" - }, - "DefaultTTL": { - "default": 86400, - "type": "number" - }, - "FieldLevelEncryptionId": { - "default": "", - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/FunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/LambdaFunctionAssociation" - }, - "type": "array", - "uniqueItems": false - }, - "MaxTTL": { - "default": 31536000, - "type": "number" - }, - "MinTTL": { - "default": 0, - "type": "number" - }, - "OriginRequestPolicyId": { - "default": "", - "type": "string" - }, - "RealtimeLogConfigArn": { - "default": "", - "type": "string" - }, - "ResponseHeadersPolicyId": { - "default": "", - "type": "string" - }, - "SmoothStreaming": { - "default": false, - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "ViewerProtocolPolicy": { - "enum": [ - "allow-all", - "https-only", - "redirect-to-https" - ], - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/CacheBehavior" - }, - "type": "array", - "uniqueItems": false - }, - "Comment": { - "default": "", - "type": "string" - }, - "ContinuousDeploymentPolicyId": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/CustomErrorResponse" - }, - "type": "array", - "uniqueItems": false - }, - "CustomOrigin": { - "$ref": "#/definitions/LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/DefaultCacheBehavior" - }, - "DefaultRootObject": { - "default": "", - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "default": "http1.1", - "enum": [ - "http1.1", - "http2", - "http2and3", - "http3" - ], - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/OriginGroups" - }, - "Origins": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Origin" - }, - "type": "array", - "uniqueItems": false - }, - "PriceClass": { - "default": "PriceClass_All", - "enum": [ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ], - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/Restrictions", - "default": { - "GeoRestriction": { - "RestrictionType": "none" - } - } - }, - "S3Origin": { - "$ref": "#/definitions/LegacyS3Origin" - }, - "Staging": { - "type": "boolean" - }, - "ViewerCertificate": { - "$ref": "#/definitions/ViewerCertificate", - "default": { - "CloudFrontDefaultCertificate": true - } - }, - "WebACLId": { - "default": "", - "type": "string" - } - }, - "required": [ - "Enabled", - "DefaultCacheBehavior" - ], - "type": "object" - }, - "ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/Cookies", - "default": { - "Forward": "none" - } - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "enum": [ - "origin-request", - "origin-response", - "viewer-request", - "viewer-response" - ], - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "enum": [ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AX", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BQ", - "BR", - "BS", - "BT", - "BV", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CW", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "EH", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GF", - "GG", - "GH", - "GI", - "GL", - "GM", - "GN", - "GP", - "GQ", - "GR", - "GS", - "GT", - "GU", - "GW", - "GY", - "HK", - "HM", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IO", - "IQ", - "IR", - "IS", - "IT", - "JE", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MQ", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NF", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PS", - "PT", - "PW", - "PY", - "QA", - "RE", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SJ", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "SS", - "ST", - "SV", - "SX", - "SY", - "SZ", - "TC", - "TD", - "TF", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "UM", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "RestrictionType": { - "enum": [ - "blacklist", - "none", - "whitelist" - ], - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "default": 80, - "type": "integer" - }, - "HTTPSPort": { - "default": 443, - "type": "integer" - }, - "OriginProtocolPolicy": { - "enum": [ - "http-only", - "https-only", - "match-viewer" - ], - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ], - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "default": false, - "type": "boolean" - }, - "Prefix": { - "default": "", - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Origin": { - "additionalProperties": false, - "dependentExcluded": { - "CustomOriginConfig": [ - "S3OriginConfig" - ], - "S3OriginConfig": [ - "CustomOriginConfig" - ] - }, - "properties": { - "ConnectionAttempts": { - "type": "integer" - }, - "ConnectionTimeout": { - "type": "integer" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginAccessControlId": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/OriginCustomHeader" - }, - "type": "array", - "uniqueItems": false - }, - "OriginPath": { - "default": "", - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderValue", - "HeaderName" - ], - "type": "object" - }, - "OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/OriginGroupMembers" - } - }, - "required": [ - "Id", - "FailoverCriteria", - "Members" - ], - "type": "object" - }, - "OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroupMember" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/OriginGroup" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "default": "", - "type": "string" - } - }, - "type": "object" - }, - "StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "integer" - }, - "type": "array", - "uniqueItems": false - }, - "Quantity": { - "type": "integer" - } - }, - "required": [ - "Quantity", - "Items" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ViewerCertificate": { - "additionalProperties": false, - "dependentRequired": { - "AcmCertificateArn": [ - "SslSupportMethod" - ], - "IamCertificateId": [ - "SslSupportMethod" - ] - }, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "enum": [ - "SSLv3", - "TLSv1", - "TLSv1.1_2016", - "TLSv1.2_2018", - "TLSv1.2_2019", - "TLSv1.2_2021", - "TLSv1_2016" - ], - "type": "string" - }, - "SslSupportMethod": { - "enum": [ - "sni-only", - "static-ip", - "vip" - ], - "type": "string" - } - }, - "requiredXor": [ - "AcmCertificateArn", - "CloudFrontDefaultCertificate", - "IamCertificateId" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/DistributionConfig/CustomOrigin", - "/properties/DistributionConfig/S3Origin" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/DistributionConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/DomainName" - ], - "required": [ - "DistributionConfig" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::CloudFront::Distribution" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-ec2-customergateway.json deleted file mode 100644 index 64904e4f63..0000000000 --- a/src/cfnlint/data/schemas/providers/us_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/us_west_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-ecs-service.json new file mode 100644 index 0000000000..57d8a70796 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-ecs-service.json @@ -0,0 +1,645 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-loggroup.json deleted file mode 100644 index dc9996082f..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_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/us_west_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-metricfilter.json deleted file mode 100644 index dc29d53471..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_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/us_west_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-querydefinition.json deleted file mode 100644 index a39f89cf2a..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_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/us_west_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-subscriptionfilter.json deleted file mode 100644 index f82a16ecb0..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_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/us_west_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-m2-environment.json deleted file mode 100644 index 1c433a260d..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_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_west_1/aws-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-memorydb-cluster.json deleted file mode 100644 index cba3a3f129..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-memorydb-cluster.json +++ /dev/null @@ -1,195 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ClusterName", - "/properties/TLSEnabled", - "/properties/DataTiering", - "/properties/KmsKeyId", - "/properties/Port", - "/properties/SubnetGroupName", - "/properties/SnapshotArns", - "/properties/SnapshotName" - ], - "definitions": { - "DataTieringStatus": { - "enum": [ - "true", - "false" - ], - "type": "string" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "integer" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,128}$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 1, - "pattern": "^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,256}$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ClusterName" - ], - "properties": { - "ACLName": { - "pattern": "[a-zA-Z][a-zA-Z0-9\\-]*", - "type": "string" - }, - "ARN": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "ClusterEndpoint": { - "$ref": "#/definitions/Endpoint" - }, - "ClusterName": { - "pattern": "[a-z][a-z0-9\\-]*", - "type": "string" - }, - "DataTiering": { - "$ref": "#/definitions/DataTieringStatus", - "type": "object" - }, - "Description": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "FinalSnapshotName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MaintenanceWindow": { - "type": "string" - }, - "NodeType": { - "type": "string" - }, - "NumReplicasPerShard": { - "type": "integer" - }, - "NumShards": { - "type": "integer" - }, - "ParameterGroupName": { - "type": "string" - }, - "ParameterGroupStatus": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SnapshotArns": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "integer" - }, - "SnapshotWindow": { - "type": "string" - }, - "SnsTopicArn": { - "type": "string" - }, - "SnsTopicStatus": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "SubnetGroupName": { - "type": "string" - }, - "TLSEnabled": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Status", - "/properties/ClusterEndpoint/Address", - "/properties/ClusterEndpoint/Port", - "/properties/ARN", - "/properties/ParameterGroupStatus" - ], - "required": [ - "ClusterName", - "NodeType", - "ACLName" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-memorydb", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::MemoryDB::Cluster", - "writeOnlyProperties": [ - "/properties/SnapshotArns", - "/properties/SnapshotName", - "/properties/FinalSnapshotName" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-msk-replicator.json deleted file mode 100644 index 8ca994e218..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-msk-replicator.json +++ /dev/null @@ -1,321 +0,0 @@ -{ - "additionalIdentifiers": [ - [ - "/properties/ReplicatorName" - ] - ], - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ReplicatorName", - "/properties/Description", - "/properties/KafkaClusters", - "/properties/ServiceExecutionRoleArn" - ], - "definitions": { - "AmazonMskCluster": { - "additionalProperties": false, - "properties": { - "MskClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - } - }, - "required": [ - "MskClusterArn" - ], - "type": "object" - }, - "ConsumerGroupReplication": { - "additionalProperties": false, - "properties": { - "ConsumerGroupsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ConsumerGroupsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 256, - "type": "string" - }, - "maxItems": 100, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "DetectAndCopyNewConsumerGroups": { - "type": "boolean" - }, - "SynchroniseConsumerGroupOffsets": { - "type": "boolean" - } - }, - "required": [ - "ConsumerGroupsToReplicate" - ], - "type": "object" - }, - "KafkaCluster": { - "additionalProperties": false, - "properties": { - "AmazonMskCluster": { - "$ref": "#/definitions/AmazonMskCluster" - }, - "VpcConfig": { - "$ref": "#/definitions/KafkaClusterClientVpcConfig" - } - }, - "required": [ - "AmazonMskCluster", - "VpcConfig" - ], - "type": "object" - }, - "KafkaClusterClientVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 3, - "minItems": 2, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "ReplicationInfo": { - "additionalProperties": false, - "properties": { - "ConsumerGroupReplication": { - "$ref": "#/definitions/ConsumerGroupReplication" - }, - "SourceKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TargetCompressionType": { - "enum": [ - "NONE", - "GZIP", - "SNAPPY", - "LZ4", - "ZSTD" - ], - "type": "string" - }, - "TargetKafkaClusterArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "TopicReplication": { - "$ref": "#/definitions/TopicReplication" - } - }, - "required": [ - "SourceKafkaClusterArn", - "TargetKafkaClusterArn", - "TopicReplication", - "ConsumerGroupReplication", - "TargetCompressionType" - ], - "type": "object" - }, - "ReplicationStartingPosition": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationStartingPositionType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationStartingPositionType": { - "enum": [ - "LATEST", - "EARLIEST" - ], - "type": "string" - }, - "ReplicationTopicNameConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "$ref": "#/definitions/ReplicationTopicNameConfigurationType" - } - }, - "required": [], - "type": "object" - }, - "ReplicationTopicNameConfigurationType": { - "enum": [ - "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS", - "IDENTICAL" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "TopicReplication": { - "additionalProperties": false, - "properties": { - "CopyAccessControlListsForTopics": { - "type": "boolean" - }, - "CopyTopicConfigurations": { - "type": "boolean" - }, - "DetectAndCopyNewTopics": { - "type": "boolean" - }, - "StartingPosition": { - "$ref": "#/definitions/ReplicationStartingPosition" - }, - "TopicNameConfiguration": { - "$ref": "#/definitions/ReplicationTopicNameConfiguration" - }, - "TopicsToExclude": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "TopicsToReplicate": { - "insertionOrder": false, - "items": { - "maxLength": 249, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "TopicsToReplicate" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ReplicatorArn" - ], - "properties": { - "CurrentVersion": { - "type": "string" - }, - "Description": { - "maxLength": 1024, - "type": "string" - }, - "KafkaClusters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/KafkaCluster" - }, - "maxItems": 2, - "minItems": 2, - "type": "array", - "uniqueItems": true - }, - "ReplicationInfoList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ReplicationInfo" - }, - "maxItems": 1, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "ReplicatorArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):kafka:.*", - "type": "string" - }, - "ReplicatorName": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$", - "type": "string" - }, - "ServiceExecutionRoleArn": { - "pattern": "arn:(aws|aws-us-gov|aws-cn):iam:.*", - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/ReplicatorArn" - ], - "required": [ - "ReplicatorName", - "ReplicationInfoList", - "KafkaClusters", - "ServiceExecutionRoleArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-msk-replicator.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::MSK::Replicator" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-organizations-policy.json deleted file mode 100644 index eb45adde3d..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_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/us_west_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-ram-resourceshare.json deleted file mode 100644 index e55421c92f..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_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/us_west_1/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-redshiftserverless-workgroup.json deleted file mode 100644 index 60a6356907..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_1/aws-redshiftserverless-workgroup.json +++ /dev/null @@ -1,312 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/WorkgroupName", - "/properties/NamespaceName" - ], - "definitions": { - "ConfigParameter": { - "additionalProperties": false, - "properties": { - "ParameterKey": { - "maxLength": 255, - "minLength": 0, - "type": "string" - }, - "ParameterValue": { - "maxLength": 15000, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - }, - "Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "integer" - }, - "VpcEndpoints": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpcEndpoint" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkInterface": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "SubnetId": { - "format": "AWS::EC2::Subnet.Id", - "type": "string" - } - }, - "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" - }, - "VpcEndpoint": { - "additionalProperties": false, - "properties": { - "NetworkInterfaces": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/NetworkInterface" - }, - "type": "array" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "type": "string" - } - }, - "type": "object" - }, - "Workgroup": { - "additionalProperties": false, - "properties": { - "BaseCapacity": { - "type": "integer" - }, - "ConfigParameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigParameter" - }, - "type": "array", - "uniqueItems": true - }, - "CreationDate": { - "type": "string" - }, - "Endpoint": { - "$ref": "#/definitions/Endpoint" - }, - "EnhancedVpcRouting": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "NamespaceName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^[a-z0-9-]+$", - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 255, - "minLength": 0, - "pattern": "^sg-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "type": "array" - }, - "Status": { - "$ref": "#/definitions/WorkgroupStatus" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 0, - "pattern": "^subnet-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "type": "array" - }, - "WorkgroupArn": { - "type": "string" - }, - "WorkgroupId": { - "type": "string" - }, - "WorkgroupName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^[a-z0-9-]*$", - "type": "string" - } - }, - "type": "object" - }, - "WorkgroupStatus": { - "enum": [ - "CREATING", - "AVAILABLE", - "MODIFYING", - "DELETING" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/WorkgroupName" - ], - "properties": { - "BaseCapacity": { - "type": "integer" - }, - "ConfigParameters": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ConfigParameter" - }, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "EnhancedVpcRouting": { - "default": false, - "type": "boolean" - }, - "MaxCapacity": { - "type": "integer" - }, - "NamespaceName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^(?=^[a-z0-9-]+$).{3,64}$", - "type": "string" - }, - "Port": { - "type": "integer" - }, - "PubliclyAccessible": { - "default": false, - "type": "boolean" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 255, - "minLength": 0, - "pattern": "^sg-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "maxItems": 32, - "minItems": 1, - "type": "array" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 255, - "minLength": 0, - "pattern": "^subnet-[0-9a-fA-F]{8,}$", - "type": "string" - }, - "maxItems": 32, - "minItems": 1, - "type": "array" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "minItems": 0, - "type": "array" - }, - "Workgroup": { - "$ref": "#/definitions/Workgroup" - }, - "WorkgroupName": { - "maxLength": 64, - "minLength": 3, - "pattern": "^(?=^[a-z0-9-]+$).{3,64}$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Workgroup", - "/properties/Workgroup/WorkgroupId", - "/properties/Workgroup/WorkgroupArn", - "/properties/Workgroup/WorkgroupName", - "/properties/Workgroup/NamespaceName", - "/properties/Workgroup/BaseCapacity", - "/properties/Workgroup/MaxCapacity", - "/properties/Workgroup/EnhancedVpcRouting", - "/properties/Workgroup/ConfigParameters/*/ParameterKey", - "/properties/Workgroup/ConfigParameters/*/ParameterValue", - "/properties/Workgroup/SecurityGroupIds", - "/properties/Workgroup/SubnetIds", - "/properties/Workgroup/Status", - "/properties/Workgroup/Endpoint/Address", - "/properties/Workgroup/Endpoint/Port", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcEndpointId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/VpcId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/NetworkInterfaceId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/SubnetId", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/PrivateIpAddress", - "/properties/Workgroup/Endpoint/VpcEndpoints/*/NetworkInterfaces/*/AvailabilityZone", - "/properties/Workgroup/PubliclyAccessible", - "/properties/Workgroup/CreationDate" - ], - "required": [ - "WorkgroupName" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-redshift-serverless", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::RedshiftServerless::Workgroup", - "writeOnlyProperties": [ - "/properties/BaseCapacity", - "/properties/MaxCapacity", - "/properties/ConfigParameters", - "/properties/SecurityGroupIds", - "/properties/SubnetIds" - ] -} 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 new file mode 100644 index 0000000000..22e8898972 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-transfer-server.json @@ -0,0 +1,388 @@ +{ + "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 d248494c81..544143d582 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py @@ -161,6 +161,7 @@ "AWS::CE::CostCategory", "AWS::Cassandra::Keyspace", "AWS::Cassandra::Table", + "AWS::Cassandra::Type", "AWS::CertificateManager::Account", "AWS::CertificateManager::Certificate", "AWS::Chatbot::CustomAction", @@ -1407,10 +1408,8 @@ "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", @@ -1493,6 +1492,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-bedrock-agent.json", @@ -1509,7 +1509,6 @@ "aws-bedrock-promptversion.json", "aws-budgets-budget.json", "aws-budgets-budgetsaction.json", - "aws-cassandra-keyspace.json", "aws-cassandra-table.json", "aws-ce-anomalymonitor.json", "aws-ce-anomalysubscription.json", @@ -1687,8 +1686,6 @@ "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", @@ -1816,7 +1813,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", @@ -2044,6 +2040,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", @@ -2159,7 +2156,6 @@ "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", @@ -2196,6 +2192,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", @@ -2356,7 +2353,6 @@ "aws-qldb-stream.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", 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 new file mode 100644 index 0000000000..5d841be3e1 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-configurationprofile.json @@ -0,0 +1,138 @@ +{ + "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 new file mode 100644 index 0000000000..e5874842d7 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-appconfig-environment.json @@ -0,0 +1,124 @@ +{ + "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-cassandra-keyspace.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-keyspace.json new file mode 100644 index 0000000000..203828de9b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-keyspace.json @@ -0,0 +1,118 @@ +{ + "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 new file mode 100644 index 0000000000..a788c284cf --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-cassandra-type.json @@ -0,0 +1,87 @@ +{ + "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-projectmembership.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-projectmembership.json new file mode 100644 index 0000000000..9edc2ab9e6 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-projectmembership.json @@ -0,0 +1,92 @@ +{ + "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 new file mode 100644 index 0000000000..801ae54398 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-datazone-subscriptiontarget.json @@ -0,0 +1,147 @@ +{ + "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-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..069e16e3c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_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_west_2/aws-iot-softwarepackageversion.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-iot-softwarepackageversion.json deleted file mode 100644 index 48ddfbd4c0..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-iot-softwarepackageversion.json +++ /dev/null @@ -1,111 +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": { - "pattern": "^arn:[!-~]+$", - "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/us_west_2/aws-logs-accountpolicy.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-logs-accountpolicy.json new file mode 100644 index 0000000000..cd06e8b930 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-logs-accountpolicy.json @@ -0,0 +1,62 @@ +{ + "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 new file mode 100644 index 0000000000..ba48a3b834 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-quicksight-dataset.json @@ -0,0 +1,1392 @@ +{ + "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" + ] +}