From 8454bc9a7146e2b648090e866d09054589070599 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 12 Dec 2024 10:09:43 -0800 Subject: [PATCH] Update CloudFormation schemas to 2024-12-12 (#3868) Co-authored-by: kddejong <36457093+kddejong@users.noreply.github.com> Co-authored-by: Kevin DeJong --- docs/rules.md | 3 +- .../data/AdditionalSpecs/Policies.json | 68 +- ...5a0d14c62111ff864923fc7b7960dda6.meta.json | 2 +- ...2b6653d7edfe98a64577daae0b481c38.meta.json | 2 +- ...5e4752bbc10d9552de8df8f81348c42b.meta.json | 2 +- ...63a1bf4413531ad420ff60a5a0d7965d.meta.json | 2 +- ...4cfc32461d10e077e7e5de1fc25d8b8f.meta.json | 2 +- ...d3fe2e7838c23f6acd054944cb2b1618.meta.json | 2 +- ...7e9907e4a512c10ddae70b98b4dada43.meta.json | 2 +- ...3fbf0a0fb76625ba46dbe42abd34333c.meta.json | 2 +- ...376aa3fe15197e3bb0e9290ff8719b4e.meta.json | 2 +- ...f60a7b5acfc406ebb10d5748cbb8ed41.meta.json | 2 +- ...aa3b299156f53fa9d1fd8eeabec5a268.meta.json | 2 +- ...f35136af536e92a84ccbaf062c315066.meta.json | 2 +- ...04470222e5e4c690bacef5312891581d.meta.json | 2 +- ...646b563d773e34b020d0ddeab2fe195b.meta.json | 2 +- ...548d44cc32e246ec9d7742088a2c17f8.meta.json | 2 +- ...98ac34d4109512e0e0947ef752dcb9c9.meta.json | 2 +- ...7e4a4542365d35fd75466abcf306eeca.meta.json | 2 +- ...69b7533eabab32ecfc0a00cb19e55a5f.meta.json | 2 +- ...e783fe32b6bb6b13774c32fcca1d303a.meta.json | 2 +- ...05f2567698dfdfa979bf0ccdb68cb856.meta.json | 2 +- ...92030ae5c03d7451980a15735e557edb.meta.json | 2 +- ...6bb7f975b606f8db57532faddfcdd8c8.meta.json | 2 +- ...73ff097c685cda0a63c08a6416dc58ed.meta.json | 2 +- ...25c8d66a1f84939600616bab42579541.meta.json | 2 +- ...972142778e1ff452383ede2ad4bac3d7.meta.json | 2 +- ...26b315ef6f38515840537c02de23abe2.meta.json | 2 +- ...cf908a34e6b4c3fb3e97e2b584f651ca.meta.json | 2 +- ...318c41c71c21b0a17d4f68d82c5aee21.meta.json | 2 +- ...6cd7e4ced378cacdb93f76ed227b5c5d.meta.json | 2 +- ...b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json | 2 +- ...41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json | 2 +- ...b2d398fe33547eed780b9b70f10eb4a2.meta.json | 2 +- ...e50a1638ffe0a5dba0d8805c190a05f8.meta.json | 2 +- ...3b69878d351cffd417dc9a457df808af.meta.json | 2 +- .../data/Serverless/ManagedPolicies.json | 1 + .../aws_ec2_instance/instancetype_enum.json | 68 + .../aws_rds_dbcluster/engine_version.json | 7 +- .../aws_rds_dbinstance/engine_version.json | 7 +- .../all/aws_iot_command/__init__.py | 0 .../extensions/all/aws_iot_command/boto.json | 22 + .../all/aws_logs_transformer/__init__.py | 0 .../__init__.py | 0 .../boto.json | 27 + .../schemas/providers/af_south_1/__init__.py | 12 +- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../aws-ec2-customergateway.json | 2 +- .../aws-elasticache-serverlesscache.json | 205 --- .../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-m2-environment.json | 203 +++ .../aws-organizations-policy.json | 3 +- .../aws-ram-resourceshare.json} | 67 +- .../schemas/providers/ap_east_1/__init__.py | 21 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-cloudformation-typeactivation.json | 109 -- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../ap_east_1/aws-ec2-customergateway.json | 86 + .../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 + .../aws-pcaconnectorad-connector.json | 91 -- ...-pcaconnectorad-directoryregistration.json | 53 - .../aws-pcaconnectorad-template.json | 994 ------------ .../ap_east_1/aws-ram-resourceshare.json | 81 + .../aws-redshiftserverless-workgroup.json | 28 - .../providers/ap_northeast_1/__init__.py | 26 +- .../aws-cleanrooms-configuredtable.json | 531 +++++++ ...cleanrooms-configuredtableassociation.json | 253 +++ .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../ap_northeast_1/aws-connect-queue.json | 166 -- .../ap_northeast_1/aws-kendra-index.json | 394 ----- .../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 +++ .../ap_northeast_1/aws-memorydb-cluster.json | 195 --- .../aws-organizations-policy.json | 114 ++ .../aws-ses-configurationset.json | 142 ++ .../aws-workspaces-workspacespool.json | 5 +- .../providers/ap_northeast_2/__init__.py | 23 +- .../aws-cleanrooms-configuredtable.json | 531 +++++++ ...cleanrooms-configuredtableassociation.json | 253 +++ .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../aws-ec2-customergateway.json | 86 + .../aws-ecs-taskdefinition.json | 4 - .../aws-emrserverless-application.json | 539 +++++++ .../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 + .../ap_northeast_2/aws-m2-environment.json | 203 +++ .../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 | 6 +- .../aws-redshiftserverless-workgroup.json | 28 - .../aws-workspaces-workspacespool.json | 158 ++ .../providers/ap_northeast_3/__init__.py | 10 +- .../aws-cloudformation-typeactivation.json | 109 -- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../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 +++ .../ap_northeast_3/aws-ram-resourceshare.json | 81 + .../schemas/providers/ap_south_1/__init__.py | 14 +- .../aws-cloudformation-typeactivation.json | 109 -- .../aws-healthlake-fhirdatastore.json | 231 --- .../aws-iotsitewise-accesspolicy.json | 118 -- .../ap_south_1/aws-iotsitewise-dashboard.json | 76 - .../ap_south_1/aws-iotsitewise-project.json | 76 - .../ap_south_1/aws-m2-environment.json | 203 +++ .../ap_south_1/aws-memorydb-cluster.json | 195 --- .../aws-workspaces-workspacespool.json | 158 ++ .../schemas/providers/ap_south_2/__init__.py | 8 - .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../ap_south_2/aws-ec2-customergateway.json | 86 + .../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-ram-resourceshare.json | 81 + .../providers/ap_southeast_1/__init__.py | 20 +- .../ap_southeast_1/aws-connect-queue.json | 166 -- .../aws-elasticache-serverlesscache.json | 205 --- .../aws-iotsitewise-accesspolicy.json | 118 -- .../aws-iotsitewise-dashboard.json | 76 - .../aws-iotsitewise-project.json | 76 - .../ap_southeast_1/aws-kendra-index.json | 394 ----- .../aws-medialive-channelplacementgroup.json | 88 ++ .../ap_southeast_1/aws-memorydb-cluster.json | 195 --- .../providers/ap_southeast_2/__init__.py | 13 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-cloudformation-typeactivation.json | 109 -- .../ap_southeast_2/aws-kendra-index.json | 394 ----- .../ap_southeast_2/aws-m2-environment.json | 203 +++ .../ap_southeast_2/aws-memorydb-cluster.json | 195 --- .../providers/ap_southeast_3/__init__.py | 10 +- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../aws-ec2-customergateway.json | 86 + .../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-ram-resourceshare.json | 81 + .../aws-timestream-influxdbinstance.json | 236 +++ .../providers/ap_southeast_4/__init__.py | 12 +- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../aws-ec2-customergateway.json | 86 + ...er.json => aws-elasticache-usergroup.json} | 78 +- .../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-ram-resourceshare.json | 81 + .../providers/ap_southeast_5/__init__.py | 35 +- .../aws-apigateway-account.json | 18 - .../aws-apigateway-authorizer.json | 63 - .../aws-apigateway-basepathmapping.json | 34 - .../aws-apigateway-clientcertificate.json | 43 - .../aws-apigateway-deployment.json | 219 --- .../aws-apigateway-documentationpart.json | 56 - .../aws-apigateway-documentationversion.json | 32 - .../aws-apigateway-gatewayresponse.json | 71 - .../ap_southeast_5/aws-apigateway-method.json | 207 --- .../ap_southeast_5/aws-apigateway-model.json | 42 - .../aws-apigateway-requestvalidator.json | 34 - .../aws-apigateway-resource.json | 34 - .../aws-apigateway-restapi.json | 40 +- .../ap_southeast_5/aws-apigateway-stage.json | 167 -- .../aws-apigateway-usageplan.json | 106 -- .../aws-apigateway-usageplankey.json | 37 - .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../aws-ec2-customergateway.json | 86 + .../aws-ecs-taskdefinition.json | 4 - .../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 ++ .../ap_southeast_5/aws-ram-resourceshare.json | 81 + .../providers/ca_central_1/__init__.py | 24 +- .../aws-cloudformation-typeactivation.json | 109 -- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../ca_central_1/aws-ec2-customergateway.json | 86 + .../aws-emrserverless-application.json | 539 +++++++ .../ca_central_1/aws-kendra-index.json | 394 ----- .../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 | 28 - .../aws-timestream-influxdbinstance.json | 236 +++ .../aws-workspaces-workspacespool.json | 158 ++ .../schemas/providers/ca_west_1/__init__.py | 11 +- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../ca_west_1/aws-dynamodb-globaltable.json | 622 ++++++++ .../ca_west_1/aws-dynamodb-table.json | 32 - .../ca_west_1/aws-ec2-customergateway.json | 86 + .../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-ram-resourceshare.json | 81 + .../schemas/providers/cn_north_1/__init__.py | 13 +- .../cn_north_1/aws-batch-jobdefinition.json | 771 +++++++++ .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../cn_north_1/aws-gamelift-alias.json | 72 - .../cn_north_1/aws-gamelift-fleet.json | 540 ------- .../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 + .../cn_north_1/aws-ram-resourceshare.json | 81 + .../providers/cn_northwest_1/__init__.py | 16 +- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../aws-ecs-taskdefinition.json | 1044 +++++++++++++ .../aws-emrserverless-application.json | 539 +++++++ .../cn_northwest_1/aws-gamelift-alias.json | 72 - .../cn_northwest_1/aws-gamelift-fleet.json | 540 ------- .../cn_northwest_1/aws-logs-loggroup.json | 109 ++ .../cn_northwest_1/aws-logs-metricfilter.json | 153 ++ .../aws-logs-querydefinition.json | 50 + .../aws-logs-subscriptionfilter.json | 52 + .../aws-organizations-policy.json | 114 ++ .../cn_northwest_1/aws-ram-resourceshare.json | 81 + .../aws-redshiftserverless-workgroup.json | 312 ++++ .../providers/eu_central_1/__init__.py | 26 +- .../aws-apigateway-domainnamev2.json | 88 -- .../eu_central_1/aws-batch-jobdefinition.json | 655 ++++++-- .../aws-connect-tasktemplate.json | 271 ---- .../eu_central_1/aws-ec2-vpcendpoint.json | 177 +++ .../eu_central_1/aws-ecs-service.json | 646 ++++++++ .../aws-iot-softwarepackageversion.json | 111 ++ .../eu_central_1/aws-quicksight-dataset.json | 1392 +++++++++++++++++ .../eu_central_1/aws-rds-dbcluster.json | 409 +++++ .../eu_central_1/aws-transfer-server.json | 403 +++++ .../aws-workspaces-workspacespool.json | 158 ++ .../providers/eu_central_2/__init__.py | 12 +- ...-applicationautoscaling-scalingpolicy.json | 372 ----- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../eu_central_2/aws-ec2-customergateway.json | 86 + .../eu_central_2/aws-ec2-vpnconnection.json | 383 ----- .../eu_central_2/aws-ecs-taskdefinition.json | 1044 +++++++++++++ .../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-ram-resourceshare.json | 81 + .../aws-redshiftserverless-workgroup.json | 312 ++++ .../schemas/providers/eu_north_1/__init__.py | 16 +- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../eu_north_1/aws-ec2-customergateway.json | 86 + .../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-m2-environment.json | 203 +++ .../eu_north_1/aws-msk-replicator.json | 321 ++++ .../eu_north_1/aws-ram-resourceshare.json | 81 + .../schemas/providers/eu_south_1/__init__.py | 18 +- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../eu_south_1/aws-ec2-customergateway.json | 86 + .../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-m2-environment.json | 203 +++ .../eu_south_1/aws-organizations-policy.json | 114 ++ .../eu_south_1/aws-ram-resourceshare.json | 81 + .../aws-timestream-influxdbinstance.json | 236 +++ .../schemas/providers/eu_south_2/__init__.py | 12 +- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../eu_south_2/aws-ec2-customergateway.json | 86 + .../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-m2-environment.json | 203 +++ .../eu_south_2/aws-ram-resourceshare.json | 81 + .../aws-redshiftserverless-workgroup.json | 312 ++++ .../aws-timestream-influxdbinstance.json | 236 +++ .../schemas/providers/eu_west_1/__init__.py | 7 + .../providers/eu_west_1/aws-kendra-index.json | 394 ----- .../schemas/providers/eu_west_2/__init__.py | 18 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-cloudformation-typeactivation.json | 109 -- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../providers/eu_west_2/aws-kendra-index.json | 394 ----- .../eu_west_2/aws-m2-environment.json | 203 +++ .../eu_west_2/aws-memorydb-cluster.json | 195 --- .../eu_west_2/aws-msk-replicator.json | 321 ++++ .../aws-redshiftserverless-workgroup.json | 312 ++++ .../aws-timestream-influxdbinstance.json | 236 +++ .../schemas/providers/eu_west_3/__init__.py | 16 +- .../aws-cloudformation-typeactivation.json | 109 -- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../eu_west_3/aws-ec2-customergateway.json | 86 + .../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 ++++ .../aws-timestream-influxdbinstance.json | 236 +++ .../providers/il_central_1/__init__.py | 32 +- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../il_central_1/aws-ec2-customergateway.json | 86 + .../il_central_1/aws-ec2-vpnconnection.json | 383 ----- .../aws-elasticache-serverlesscache.json | 205 --- .../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 + .../il_central_1/aws-m2-environment.json | 203 +++ .../aws-organizations-policy.json | 114 ++ .../il_central_1/aws-ram-resourceshare.json | 81 + .../aws-redshiftserverless-workgroup.json | 312 ++++ .../il_central_1/aws-sagemaker-domain.json | 870 ----------- .../aws-sagemaker-userprofile.json | 633 -------- .../providers/me_central_1/__init__.py | 11 +- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../me_central_1/aws-ec2-customergateway.json | 86 + .../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-ram-resourceshare.json | 81 + .../aws-redshiftserverless-workgroup.json | 312 ++++ .../me_central_1/aws-sagemaker-domain.json | 870 ----------- .../aws-sagemaker-userprofile.json | 633 -------- .../aws-timestream-influxdbinstance.json | 236 +++ .../schemas/providers/me_south_1/__init__.py | 16 +- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../me_south_1/aws-ec2-customergateway.json | 86 + .../me_south_1/aws-ecs-taskdefinition.json | 1044 +++++++++++++ .../aws-emrserverless-application.json | 539 +++++++ .../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 + .../schemas/providers/sa_east_1/__init__.py | 9 +- .../aws-cloudformation-typeactivation.json | 109 -- .../aws-elasticache-serverlesscache.json | 205 --- .../sa_east_1/aws-m2-environment.json | 203 +++ .../sa_east_1/aws-sagemaker-domain.json | 870 ----------- .../sa_east_1/aws-sagemaker-userprofile.json | 633 -------- .../schemas/providers/us_east_1/__init__.py | 5 + .../aws-cleanrooms-configuredtable.json | 151 +- ...cleanrooms-configuredtableassociation.json | 2 +- .../aws-cloudfront-distribution.json | 31 +- .../us_east_1/aws-connect-queue.json | 16 + .../us_east_1/aws-connect-tasktemplate.json | 4 + .../aws-connectcampaignsv2-campaign.json | 17 + .../us_east_1/aws-ec2-customergateway.json | 2 +- .../us_east_1/aws-ecs-taskdefinition.json | 4 + .../aws-emrserverless-application.json | 18 +- .../aws-healthlake-fhirdatastore.json | 9 + .../providers/us_east_1/aws-iot-command.json | 199 +++ .../us_east_1/aws-logs-loggroup.json | 8 + .../us_east_1/aws-logs-metricfilter.json | 3 + .../us_east_1/aws-logs-querydefinition.json | 9 + .../aws-logs-subscriptionfilter.json | 3 + .../us_east_1/aws-logs-transformer.json | 624 ++++++++ .../us_east_1/aws-m2-environment.json | 11 + .../us_east_1/aws-msk-replicator.json | 7 +- ...anager-directconnectgatewayattachment.json | 168 ++ .../us_east_1/aws-organizations-policy.json | 3 +- .../us_east_1/aws-ram-resourceshare.json | 45 +- .../aws-rds-customdbengineversion.json | 6 +- .../aws-redshiftserverless-workgroup.json | 28 + .../aws-s3express-directorybucket.json | 3 +- .../aws-s3tables-tablebucket.json | 0 .../aws-s3tables-tablebucketpolicy.json | 0 .../aws-workspaces-workspacespool.json | 5 +- .../schemas/providers/us_east_2/__init__.py | 28 +- .../aws-cloudformation-typeactivation.json | 109 -- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../us_east_2/aws-ec2-customergateway.json | 86 + .../aws-elasticache-serverlesscache.json | 205 --- .../providers/us_east_2/aws-kendra-index.json | 394 ----- .../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-m2-environment.json | 203 +++ .../us_east_2/aws-memorydb-cluster.json | 195 --- .../us_east_2/aws-msk-replicator.json | 321 ++++ .../us_east_2/aws-ram-resourceshare.json | 81 + .../aws-rds-customdbengineversion.json | 132 ++ .../aws-redshiftserverless-workgroup.json | 312 ++++ .../aws-s3express-directorybucket.json | 196 +++ .../providers/us_gov_east_1/__init__.py | 10 +- .../aws-ec2-customergateway.json | 86 + .../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 + .../us_gov_east_1/aws-m2-application.json | 122 -- .../us_gov_east_1/aws-m2-environment.json | 203 +++ .../aws-organizations-policy.json | 114 ++ .../us_gov_east_1/aws-ram-resourceshare.json | 81 + .../aws-workspaces-workspacespool.json | 158 ++ .../providers/us_gov_west_1/__init__.py | 12 +- .../aws-apigateway-domainnamev2.json | 88 -- .../aws-ec2-customergateway.json | 86 + .../us_gov_west_1/aws-ec2-vpnconnection.json | 383 ----- .../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 + .../us_gov_west_1/aws-m2-environment.json | 203 +++ .../aws-organizations-policy.json | 3 +- .../us_gov_west_1/aws-ram-resourceshare.json | 81 + .../aws-workspaces-workspacespool.json | 158 ++ .../schemas/providers/us_west_1/__init__.py | 25 +- .../aws-cloudfront-distribution.json | 1202 ++++++++++++++ .../us_west_1/aws-ec2-customergateway.json | 86 + .../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-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 ++++ .../schemas/providers/us_west_2/__init__.py | 12 +- .../us_west_2/aws-batch-jobdefinition.json | 1192 ++++++++++++++ .../us_west_2/aws-connect-tasktemplate.json | 271 ---- .../aws-iot-softwarepackageversion.json | 111 ++ .../us_west_2/aws-s3tables-tablebucket.json | 68 - .../aws-s3tables-tablebucketpolicy.json | 43 - 451 files changed, 70579 insertions(+), 18498 deletions(-) create mode 100644 src/cfnlint/data/schemas/patches/extensions/all/aws_iot_command/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/extensions/all/aws_iot_command/boto.json create mode 100644 src/cfnlint/data/schemas/patches/extensions/all/aws_logs_transformer/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/extensions/all/aws_networkmanager_directconnectgatewayattachment/__init__.py create mode 100644 src/cfnlint/data/schemas/patches/extensions/all/aws_networkmanager_directconnectgatewayattachment/boto.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-cloudfront-distribution.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => af_south_1}/aws-ec2-customergateway.json (91%) delete mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-elasticache-serverlesscache.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/af_south_1/aws-m2-environment.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => af_south_1}/aws-organizations-policy.json (97%) rename src/cfnlint/data/schemas/providers/{ap_southeast_5/aws-apigateway-apikey.json => af_south_1/aws-ram-resourceshare.json} (54%) delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudformation-typeactivation.json create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-customergateway.json create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-querydefinition.json create 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-pcaconnectorad-connector.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-directoryregistration.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-template.json create mode 100644 src/cfnlint/data/schemas/providers/ap_east_1/aws-ram-resourceshare.json rename src/cfnlint/data/schemas/providers/{eu_north_1 => ap_east_1}/aws-redshiftserverless-workgroup.json (92%) create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtable.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtableassociation.json create 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-connect-queue.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-kendra-index.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-subscriptionfilter.json create 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-memorydb-cluster.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-configurationset.json rename src/cfnlint/data/schemas/providers/{eu_west_2 => ap_northeast_1}/aws-workspaces-workspacespool.json (96%) create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtable.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtableassociation.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-customergateway.json rename src/cfnlint/data/schemas/providers/{us_west_2 => ap_northeast_2}/aws-ecs-taskdefinition.json (99%) create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emrserverless-application.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-m2-environment.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ram-resourceshare.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => ap_northeast_2}/aws-rds-customdbengineversion.json (93%) rename src/cfnlint/data/schemas/providers/{ap_southeast_3 => ap_northeast_2}/aws-redshiftserverless-workgroup.json (92%) create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_2/aws-workspaces-workspacespool.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudformation-typeactivation.json create 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-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-m2-environment.json create mode 100644 src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ram-resourceshare.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-cloudformation-typeactivation.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-healthlake-fhirdatastore.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-accesspolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-dashboard.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-project.json create 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-memorydb-cluster.json create 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-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-customergateway.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-subscriptionfilter.json create 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-ram-resourceshare.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-connect-queue.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-elasticache-serverlesscache.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-accesspolicy.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-dashboard.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-project.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-kendra-index.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-medialive-channelplacementgroup.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_1/aws-memorydb-cluster.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cloudformation-typeactivation.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-kendra-index.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-m2-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_2/aws-memorydb-cluster.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudfront-distribution.json create 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-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-subscriptionfilter.json create 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-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_3/aws-timestream-influxdbinstance.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-customergateway.json rename src/cfnlint/data/schemas/providers/ap_southeast_4/{aws-elasticache-user.json => aws-elasticache-usergroup.json} (55%) create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-subscriptionfilter.json create 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-ram-resourceshare.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-account.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-authorizer.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-basepathmapping.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-clientcertificate.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-deployment.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationpart.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationversion.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-gatewayresponse.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-method.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-model.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-requestvalidator.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-resource.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-stage.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplan.json delete mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplankey.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-customergateway.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => ap_southeast_5}/aws-ecs-taskdefinition.json (99%) create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ram-resourceshare.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudformation-typeactivation.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudfront-distribution.json create 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-emrserverless-application.json delete mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-kendra-index.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-m2-environment.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-msk-replicator.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-ram-resourceshare.json rename src/cfnlint/data/schemas/providers/{eu_central_1 => ca_central_1}/aws-redshiftserverless-workgroup.json (92%) create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-timestream-influxdbinstance.json create mode 100644 src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json create 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-dynamodb-globaltable.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-subscriptionfilter.json create 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-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-batch-jobdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-gamelift-alias.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-gamelift-fleet.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/cn_north_1/aws-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-taskdefinition.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-emrserverless-application.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-gamelift-alias.json delete mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-gamelift-fleet.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/cn_northwest_1/aws-redshiftserverless-workgroup.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-connect-tasktemplate.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpcendpoint.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-service.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-iot-softwarepackageversion.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-transfer-server.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_1/aws-workspaces-workspacespool.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-applicationautoscaling-scalingpolicy.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-customergateway.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-vpnconnection.json create 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-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-subscriptionfilter.json create 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-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/eu_central_2/aws-redshiftserverless-workgroup.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-customergateway.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-m2-environment.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-msk-replicator.json create mode 100644 src/cfnlint/data/schemas/providers/eu_north_1/aws-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudfront-distribution.json create 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-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-m2-environment.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_1/aws-organizations-policy.json create 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-timestream-influxdbinstance.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-customergateway.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-querydefinition.json create 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-m2-environment.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-redshiftserverless-workgroup.json create mode 100644 src/cfnlint/data/schemas/providers/eu_south_2/aws-timestream-influxdbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_1/aws-kendra-index.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-apigateway-domainnamev2.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudformation-typeactivation.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudfront-distribution.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-kendra-index.json create 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-memorydb-cluster.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-msk-replicator.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-redshiftserverless-workgroup.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_2/aws-timestream-influxdbinstance.json delete mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudformation-typeactivation.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-customergateway.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-emrserverless-application.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-m2-environment.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-msk-replicator.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/eu_west_3/aws-ram-resourceshare.json create 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-timestream-influxdbinstance.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-customergateway.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-vpnconnection.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-elasticache-serverlesscache.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-m2-environment.json create 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-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-redshiftserverless-workgroup.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json delete mode 100644 src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-userprofile.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-cloudfront-distribution.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-customergateway.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-logs-querydefinition.json create 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-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-redshiftserverless-workgroup.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-domain.json delete mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-userprofile.json create mode 100644 src/cfnlint/data/schemas/providers/me_central_1/aws-timestream-influxdbinstance.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-cloudfront-distribution.json create 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-taskdefinition.json create 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-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/me_south_1/aws-ram-resourceshare.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-cloudformation-typeactivation.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-elasticache-serverlesscache.json create mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-m2-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-domain.json delete mode 100644 src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-userprofile.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_1/aws-iot-command.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_1/aws-logs-transformer.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_1/aws-networkmanager-directconnectgatewayattachment.json rename src/cfnlint/data/schemas/providers/{us_east_2 => us_east_1}/aws-s3tables-tablebucket.json (100%) rename src/cfnlint/data/schemas/providers/{us_east_2 => us_east_1}/aws-s3tables-tablebucketpolicy.json (100%) delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-cloudformation-typeactivation.json create 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-ec2-customergateway.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-elasticache-serverlesscache.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-kendra-index.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-m2-environment.json delete mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-memorydb-cluster.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-msk-replicator.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-rds-customdbengineversion.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-redshiftserverless-workgroup.json create mode 100644 src/cfnlint/data/schemas/providers/us_east_2/aws-s3express-directorybucket.json create 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-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-querydefinition.json create 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-m2-application.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-environment.json create 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-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json delete mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-domainnamev2.json create 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-vpnconnection.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-m2-environment.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-cloudfront-distribution.json create 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-logs-loggroup.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-logs-metricfilter.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-logs-querydefinition.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-logs-subscriptionfilter.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-m2-environment.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-msk-replicator.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-organizations-policy.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-ram-resourceshare.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_1/aws-redshiftserverless-workgroup.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-batch-jobdefinition.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-connect-tasktemplate.json create mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-iot-softwarepackageversion.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-s3tables-tablebucket.json delete mode 100644 src/cfnlint/data/schemas/providers/us_west_2/aws-s3tables-tablebucketpolicy.json diff --git a/docs/rules.md b/docs/rules.md index 3d11ae1553..ab4b7694e8 100644 --- a/docs/rules.md +++ b/docs/rules.md @@ -46,13 +46,14 @@ To include these rules, use the `-e/include-experimental` argument when running ## Rules (_This documentation is generated by running `cfn-lint --update-documentation`, do not alter this manually_) -The following **238** rules are applied by this linter: +The following **239** rules are applied by this linter: | Rule ID | Title | Description | Config
(Name:Type:Default) | Source | Tags | | -------- | ----- | ----------- | ---------- | ------ | ---- | | [E0000](../src/cfnlint/rules/errors/parse.py) | Parsing error found when parsing the template | Checks for JSON/YAML formatting errors in your template | | [Source](https://github.com/aws-cloudformation/cfn-lint) | `base` | | [E0001](../src/cfnlint/rules/errors/transform.py) | Error found when transforming the template | Errors found when performing transformation on the template | | [Source](https://github.com/aws-cloudformation/cfn-lint) | `base`,`transform` | | [E0002](../src/cfnlint/rules/errors/rule.py) | Error processing rule on the template | Errors found when processing a rule on the template | | [Source](https://github.com/aws-cloudformation/cfn-lint) | `base`,`rule` | +| [E0003](../src/cfnlint/rules/errors/config.py) | Error with cfn-lint configuration | Error as a result of the cfn-lint configuration | | [Source](https://github.com/aws-cloudformation/cfn-lint) | `base`,`rule` | | [E1001](../src/cfnlint/rules/jsonschema/JsonSchema.py) | Basic CloudFormation Template Configuration | Making sure the basic CloudFormation template components are properly configured | sections:string: | [Source](https://github.com/aws-cloudformation/cfn-lint) | `base` | | [E1002](../src/cfnlint/rules/templates/LimitSize.py) | Validate if a template size is too large | Check the size of the template is less than the upper limit | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `limits` | | [E1003](../src/cfnlint/rules/templates/LimitDescription.py) | Validate the max size of a description | Check if the size of the template description is less than the upper limit | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `description`,`limits` | diff --git a/src/cfnlint/data/AdditionalSpecs/Policies.json b/src/cfnlint/data/AdditionalSpecs/Policies.json index f8fac4bfec..18f8c0056d 100644 --- a/src/cfnlint/data/AdditionalSpecs/Policies.json +++ b/src/cfnlint/data/AdditionalSpecs/Policies.json @@ -810,6 +810,7 @@ "CreateApplication", "CreateConnector", "CreateLaunchConfigurationTemplate", + "CreateNetworkMigrationDefinition", "CreateReplicationConfigurationTemplate", "CreateVcenterClientForMgn", "CreateWave", @@ -817,6 +818,7 @@ "DeleteConnector", "DeleteJob", "DeleteLaunchConfigurationTemplate", + "DeleteNetworkMigrationDefinition", "DeleteReplicationConfigurationTemplate", "DeleteSourceServer", "DeleteVcenterClient", @@ -841,6 +843,8 @@ "GetAgentSnapshotCreditsForMgn", "GetChannelCommandsForMgn", "GetLaunchConfiguration", + "GetNetworkMigrationDefinition", + "GetNetworkMigrationMapperSegmentConstruct", "GetReplicationConfiguration", "GetVcenterClientCommandsForMgn", "InitializeService", @@ -852,6 +856,18 @@ "ListImportErrors", "ListImports", "ListManagedAccounts", + "ListNetworkMigrationAnalyses", + "ListNetworkMigrationAnalysisResults", + "ListNetworkMigrationCodeGenerationSegments", + "ListNetworkMigrationCodeGenerations", + "ListNetworkMigrationDefinitions", + "ListNetworkMigrationDeployedStacks", + "ListNetworkMigrationDeployedStacksDeletions", + "ListNetworkMigrationDeployments", + "ListNetworkMigrationExecutions", + "ListNetworkMigrationMapperSegmentConstructs", + "ListNetworkMigrationMapperSegments", + "ListNetworkMigrationMappings", "ListSourceServerActions", "ListTagsForResource", "ListTemplateActions", @@ -881,6 +897,11 @@ "StartCutover", "StartExport", "StartImport", + "StartNetworkMigrationAnalysis", + "StartNetworkMigrationCodeGeneration", + "StartNetworkMigrationDeployedStacksDeletion", + "StartNetworkMigrationDeployment", + "StartNetworkMigrationMapping", "StartReplication", "StartTest", "StopReplication", @@ -898,6 +919,9 @@ "UpdateConnector", "UpdateLaunchConfiguration", "UpdateLaunchConfigurationTemplate", + "UpdateNetworkMigrationDefinition", + "UpdateNetworkMigrationMapperSegment", + "UpdateNetworkMigrationMapperSegmentConstruct", "UpdateReplicationConfiguration", "UpdateReplicationConfigurationTemplate", "UpdateSourceServer", @@ -1414,10 +1438,7 @@ "conditionKeys": [ "aws:RequestTag/${TagKey}", "aws:ResourceTag/${TagKey}", - "aws:TagKeys", - "bcm-pricing-calculator:bill-estimateBillEstimateId", - "bcm-pricing-calculator:bill-scenarioBillScenarioId", - "bcm-pricing-calculator:workload-estimateWorkloadEstimateId" + "aws:TagKeys" ] }, "AWS Billing Conductor": { @@ -8277,30 +8298,63 @@ "ARNFormat": "arn:aws:mgh:${Region}:${Account}:${ResourceType}/${ResourceName}", "ARNRegex": "^arn:aws:mgh:.+", "Actions": [ + "AcceptConnection", + "AssociateAutomationUnitRole", "AssociateCreatedArtifact", "AssociateDiscoveredResource", + "AssociateSourceResource", + "BatchAssociateIamRoleWithConnection", + "BatchDisassociateIamRoleFromConnection", + "CreateAutomationRun", + "CreateAutomationUnit", "CreateHomeRegionControl", "CreateProgressUpdateStream", + "DeleteAutomationRun", + "DeleteAutomationUnit", + "DeleteConnection", "DeleteHomeRegionControl", "DeleteProgressUpdateStream", "DescribeApplicationState", + "DescribeAutomationRun", + "DescribeAutomationUnit", "DescribeHomeRegionControls", "DescribeMigrationTask", + "DisassociateAutomationUnitRole", "DisassociateCreatedArtifact", "DisassociateDiscoveredResource", + "DisassociateSourceResource", + "GetConnection", "GetHomeRegion", "ImportMigrationTask", "ListApplicationStates", + "ListAutomationRuns", + "ListAutomationUnits", + "ListConnectionRoles", + "ListConnections", "ListCreatedArtifacts", "ListDiscoveredResources", + "ListMigrationTaskUpdates", "ListMigrationTasks", "ListProgressUpdateStreams", + "ListSourceResources", + "ListTagsForResource", "NotifyApplicationState", "NotifyMigrationTaskState", - "PutResourceAttributes" + "PutResourceAttributes", + "RejectConnection", + "TagResource", + "UntagResource" ], "HasResource": true, - "StringPrefix": "mgh" + "StringPrefix": "mgh", + "conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:ResourceTag/${TagKey}", + "aws:TagKeys", + "mgh:AutomationRunResourceRunID", + "mgh:AutomationUnitResourceAutomationUnitArn", + "mgh:ConnectionResourceConnectionArn" + ] }, "AWS Migration Hub Orchestrator": { "ARNFormat": "arn:aws:migrationhub-orchestrator:${Region}:${Account}:${ResourceType}/${ResourceName}", @@ -14240,6 +14294,7 @@ "CreatePersistentContactAssociation", "CreatePredefinedAttribute", "CreatePrompt", + "CreatePushNotificationRegistration", "CreateQueue", "CreateQuickConnect", "CreateRoutingProfile", @@ -14265,6 +14320,7 @@ "DeleteIntegrationAssociation", "DeletePredefinedAttribute", "DeletePrompt", + "DeletePushNotificationRegistration", "DeleteQueue", "DeleteQuickConnect", "DeleteRoutingProfile", diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json index d74958f887..85dc09ad77 100644 --- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json @@ -1 +1 @@ -{"etag": "\"9085601f1a660dd9538ef5b8f1c6e6ef\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"05763c28ee46000a9da29ad4843efa41\"", "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 75547d4b4e..5f42b2d261 100644 --- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json @@ -1 +1 @@ -{"etag": "\"f3c2fe589c4d49787430bbfe1d252c64\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"e67daf3e4be8b333c75c5d3a516541f2\"", "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 459cde2e81..6023a08dbf 100644 --- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json @@ -1 +1 @@ -{"etag": "\"de893aca6cd8454910f83e8962d83963\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"97758efb3d7ce21c1a3e28e26b6d5fcf\"", "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 19349c629a..00cae3b3e4 100644 --- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json @@ -1 +1 @@ -{"etag": "\"452eb51d4abf5a0bdf77aa3fea5b1eb7\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"cda53dbcd19cf7f308641736a953a46e\"", "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 03dcfa5294..269a913537 100644 --- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json @@ -1 +1 @@ -{"etag": "\"4acd05c11e1bcf89f0056a60e7a43c38\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"7f85adcfba0098ccf06088b6a1644c9a\"", "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 14a90184a2..155e24889c 100644 --- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json @@ -1 +1 @@ -{"etag": "\"29e09bfce31fd26711db703b6c1bf27c\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"9213f85b346d5abfd3521fdaa447e50a\"", "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 9ea2cdb7df..e991460f6f 100644 --- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json @@ -1 +1 @@ -{"etag": "\"599b2a5ef40605ab715f2e8f76a4e065\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"189d15deef38171681446f8e4c4a205e\"", "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 c6d55491c8..4ed12c9d6b 100644 --- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json @@ -1 +1 @@ -{"etag": "\"9826b57fc2768733758f060314625ec0\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"} +{"etag": "\"4b7f3940e605ac30a309a8db22503cba\"", "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 e8a502970e..847ddbb1e7 100644 --- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json @@ -1 +1 @@ -{"etag": "\"fd1fa3847a79253ee01c9d6899bb4c56\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"ba0a9dce68b68dbc532a0c34ec4c85d1\"", "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 a3c7c5c8c5..9d7e887b79 100644 --- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json @@ -1 +1 @@ -{"etag": "\"7a313cec78a2381746bfb728683c5da4\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5b48441a2269a58b7a22d3829026fbb5\"", "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 6404e96cf1..e7c006fc06 100644 --- a/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json @@ -1 +1 @@ -{"etag": "\"e7b4ee60cb88a97b2de3511340feda2c\"", "url": "https://schema.cloudformation.ap-southeast-5.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2b48d1b0ce895941df8f70f50d0268dd\"", "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 d55fb8e4d8..6d0553a589 100644 --- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json @@ -1 +1 @@ -{"etag": "\"c25993db7f3d65447c664c7ab27e87eb\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"c0fd8b98831eb81adf5b8e0cf9753fcc\"", "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 6ea17536ce..b7da4ff72d 100644 --- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json @@ -1 +1 @@ -{"etag": "\"7950cae17fc0b1bd3ab7d59c00db0e0d\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"7269bf08497e407427ecf3fc2f97de89\"", "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 fecf2fbe25..b0bed4caac 100644 --- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json @@ -1 +1 @@ -{"etag": "\"0ef92390d233d204880272e06d4de39c\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"24f5c21aebcb4ae7f8a578c7e1fcae2e\"", "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 e602ed8dc1..a3f906e16c 100644 --- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json @@ -1 +1 @@ -{"etag": "\"f7918c0ba302ba592e52690089fa0261\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a929a2acad904be291fd7f1c44688157\"", "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 3eecb1b678..b14b7b1936 100644 --- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json @@ -1 +1 @@ -{"etag": "\"a10d484d403c435b47ec49c1dfe7faf3\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a31a92c090e7718b305e95693fb3dcf2\"", "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 984f4ee884..23d49e69f2 100644 --- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json @@ -1 +1 @@ -{"etag": "\"df979588f286c4ddf7b5efac62e1a94b\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"4e6219a4e5e5a44c8cc67ed6e7232013\"", "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 6cb8e2c659..f1ddd61e18 100644 --- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json @@ -1 +1 @@ -{"etag": "\"d8a8eff0eae2b438d86a9fea4a8c1588\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"2dd52c9ee0963e32313f41947a4587db\"", "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 ad5fc17a3b..cdb669682b 100644 --- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json @@ -1 +1 @@ -{"etag": "\"56c642fde054da2b167762a4f3b8a64e\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"3b004fbbf3d9516922e0e5269c3187b0\"", "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 ec14954c80..4350ecc190 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"21210d76833abc4d31020218587bc076\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"113ae30b6f70bad87abf594d5877dad7\"", "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 b82d0fb507..614657123a 100644 --- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json @@ -1 +1 @@ -{"etag": "\"22fafe69d885cac65cd21b4f85581609\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"f7b45025deee29fd18d970ce47076b04\"", "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 60928d4c3f..49e9db5e73 100644 --- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json @@ -1 +1 @@ -{"etag": "\"7e05b57954d9b67a9c3877a760fa06d5\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"b338798119d2d57e49c20c6f230bf534\"", "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 0af5ca2062..b2dd8d46b8 100644 --- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json @@ -1 +1 @@ -{"etag": "\"f70dbb9f861c192d55d145c0c2fb7e9b\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"35de6881b240ca6931cf585a6cfd935f\"", "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 b44ca8b6c8..8a155944a6 100644 --- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json @@ -1 +1 @@ -{"etag": "\"3be27310a086f96a225e56ec790c7836\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"163abbabb60503ed4420f47c35c487f3\"", "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 10934b4e98..cd14b9069d 100644 --- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json @@ -1 +1 @@ -{"etag": "\"a4be958e1eca56d8f45ca98b4f22cc7b\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e3c108864370b21883da31f3a8a0ae5e\"", "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 ca63825b12..1ed0c77583 100644 --- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json @@ -1 +1 @@ -{"etag": "\"e3e08af0aa120714696c8dbd2da177c8\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"892d4a9e32b90171f0cdc348d4b7d815\"", "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 1c753934ac..691816d6c1 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"86fffbe45c2435474777c7b25c7cdac8\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"aac6ae41fb57b576e55cb5a687e0718f\"", "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 c8cf6f0caf..cfdd68babf 100644 --- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json @@ -1 +1 @@ -{"etag": "\"fa2b02b74014f932d18e9d6a21402eb5\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"ff6824dd98858d3f1c91ee6eade1d722\"", "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 726350c39a..e060864273 100644 --- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json @@ -1 +1 @@ -{"etag": "\"0abdf22892c2025b74f1078846f87e1b\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"bad442ac081140998a76ca2233e208e3\"", "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 0f9e8ef433..d60dd98ff1 100644 --- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json @@ -1 +1 @@ -{"etag": "\"b3898a2fc9106fe645814ee60189512f\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"15f24eb7af3ea0f18e08e2e0c9b49a33\"", "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 cf4f4c2cc5..3cd26b20bd 100644 --- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json @@ -1 +1 @@ -{"etag": "\"20fbf3d915556eb220673af636108374\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"41bf2278634380057d36ad5dc2126bd0\"", "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 d784f298bb..e94ce018fa 100644 --- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json @@ -1 +1 @@ -{"etag": "\"91969886b2e240c28450a2ec8cf9efb1\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"07593d5f862c3c00302add8583e4f4d9\"", "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 bc64c2f77d..1b98ab1e4f 100644 --- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json @@ -1 +1 @@ -{"etag": "\"317aa6b2d588535c32476155f4124f09\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"e67c665285152a26a0d89515b227a732\"", "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 b796c63bc8..e9fd25735e 100644 --- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json @@ -1 +1 @@ -{"etag": "\"f99e469f3878bc5f5f7f330c8c34b484\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"27d0364b6d120eb6214448fa9ec2cac7\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/Serverless/ManagedPolicies.json b/src/cfnlint/data/Serverless/ManagedPolicies.json index c2dead79f8..3716bd795c 100644 --- a/src/cfnlint/data/Serverless/ManagedPolicies.json +++ b/src/cfnlint/data/Serverless/ManagedPolicies.json @@ -447,6 +447,7 @@ "AWSPartnerCentralFullAccess": "arn:aws:iam::aws:policy/AWSPartnerCentralFullAccess", "AWSPartnerCentralOpportunityManagement": "arn:aws:iam::aws:policy/AWSPartnerCentralOpportunityManagement", "AWSPartnerCentralSandboxFullAccess": "arn:aws:iam::aws:policy/AWSPartnerCentralSandboxFullAccess", + "AWSPartnerCentralSellingResourceSnapshotJobExecutionRolePolicy": "arn:aws:iam::aws:policy/AWSPartnerCentralSellingResourceSnapshotJobExecutionRolePolicy", "AWSPartnerLedSupportReadOnlyAccess": "arn:aws:iam::aws:policy/AWSPartnerLedSupportReadOnlyAccess", "AWSPriceListServiceFullAccess": "arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess", "AWSPrivateCAAuditor": "arn:aws:iam::aws:policy/AWSPrivateCAAuditor", diff --git a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json index 494c9e6122..eca8e7f227 100644 --- a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json +++ b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json @@ -218,6 +218,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -1108,6 +1110,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -1998,6 +2002,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -2888,6 +2894,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -3778,6 +3786,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -4668,6 +4678,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -5558,6 +5570,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -6448,6 +6462,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -7338,6 +7354,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -8228,6 +8246,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -9118,6 +9138,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -10008,6 +10030,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -10898,6 +10922,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -11788,6 +11814,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -12678,6 +12706,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -13568,6 +13598,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -14458,6 +14490,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -15348,6 +15382,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -16238,6 +16274,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -17128,6 +17166,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -18018,6 +18058,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -18908,6 +18950,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -19798,6 +19842,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -20688,6 +20734,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -21578,6 +21626,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -22468,6 +22518,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -23358,6 +23410,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -24248,6 +24302,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -25138,6 +25194,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -26028,6 +26086,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -26918,6 +26978,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -27808,6 +27870,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -28698,6 +28762,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", @@ -29588,6 +29654,8 @@ "f1.16xlarge", "f1.2xlarge", "f1.4xlarge", + "f2.12xlarge", + "f2.48xlarge", "g2.2xlarge", "g2.8xlarge", "g3.16xlarge", 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 a8d35c591a..1fdd1a844e 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,6 +112,7 @@ "12.18", "12.19", "12.20", + "12.22", "12.9", "13.10", "13.11", @@ -128,6 +129,7 @@ "14.11", "14.12", "14.13", + "14.15", "14.3", "14.4", "14.5", @@ -135,6 +137,7 @@ "14.7", "14.8", "14.9", + "15.10", "15.2", "15.3", "15.4", @@ -146,7 +149,8 @@ "16.2", "16.3", "16.4", - "16.4-limitless" + "16.4-limitless", + "16.6" ] } } @@ -218,6 +222,7 @@ "11.22-rds.20240418", "11.22-rds.20240509", "11.22-rds.20240808", + "11.22-rds.20241121", "12.15", "12.16", "12.17", 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 080adc637d..92fff895cf 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,6 +128,7 @@ "12.18", "12.19", "12.20", + "12.22", "12.9", "13.10", "13.11", @@ -144,6 +145,7 @@ "14.11", "14.12", "14.13", + "14.15", "14.3", "14.4", "14.5", @@ -151,6 +153,7 @@ "14.7", "14.8", "14.9", + "15.10", "15.2", "15.3", "15.4", @@ -162,7 +165,8 @@ "16.2", "16.3", "16.4", - "16.4-limitless" + "16.4-limitless", + "16.6" ] } } @@ -471,6 +475,7 @@ "11.22-rds.20240418", "11.22-rds.20240509", "11.22-rds.20240808", + "11.22-rds.20241121", "12", "12.15", "12.16", diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_iot_command/__init__.py b/src/cfnlint/data/schemas/patches/extensions/all/aws_iot_command/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_iot_command/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_iot_command/boto.json new file mode 100644 index 0000000000..8346649e28 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_iot_command/boto.json @@ -0,0 +1,22 @@ +[ + { + "op": "add", + "path": "/properties/DisplayName/pattern", + "value": "[^\\p{C}]*" + }, + { + "op": "add", + "path": "/properties/Description/pattern", + "value": "[^\\p{C}]*" + }, + { + "op": "add", + "path": "/definitions/CommandParameterDescription/pattern", + "value": "[^\\p{C}]*" + }, + { + "op": "add", + "path": "/definitions/Tag/properties/Key/pattern", + "value": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } +] diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_logs_transformer/__init__.py b/src/cfnlint/data/schemas/patches/extensions/all/aws_logs_transformer/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_networkmanager_directconnectgatewayattachment/__init__.py b/src/cfnlint/data/schemas/patches/extensions/all/aws_networkmanager_directconnectgatewayattachment/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_networkmanager_directconnectgatewayattachment/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_networkmanager_directconnectgatewayattachment/boto.json new file mode 100644 index 0000000000..a05aec81f0 --- /dev/null +++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_networkmanager_directconnectgatewayattachment/boto.json @@ -0,0 +1,27 @@ +[ + { + "op": "add", + "path": "/properties/CoreNetworkId/pattern", + "value": "^core-network-([0-9a-f]{8,17})$" + }, + { + "op": "add", + "path": "/properties/DirectConnectGatewayArn/pattern", + "value": "^arn:[^:]{1,63}:directconnect::[^:]{0,63}:dx-gateway\\/[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$" + }, + { + "op": "add", + "path": "/properties/EdgeLocations/items/pattern", + "value": "[\\s\\S]*" + }, + { + "op": "add", + "path": "/definitions/Tag/properties/Key/pattern", + "value": "[\\s\\S]*" + }, + { + "op": "add", + "path": "/definitions/Tag/properties/Value/pattern", + "value": "[\\s\\S]*" + } +] 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 32a53e29b3..800f58e7da 100644 --- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py @@ -554,6 +554,7 @@ "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", "AWS::M2::Application", + "AWS::M2::Deployment", "AWS::M2::Environment", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", @@ -998,7 +999,6 @@ "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,7 +1130,6 @@ "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", @@ -1239,6 +1238,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", @@ -1379,14 +1379,10 @@ "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-m2-application.json", - "aws-m2-environment.json", + "aws-m2-deployment.json", "aws-macie-allowlist.json", "aws-macie-session.json", "aws-mediaconnect-bridge.json", @@ -1441,7 +1437,6 @@ "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", @@ -1458,7 +1453,6 @@ "aws-quicksight-theme.json", "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", - "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudfront-distribution.json new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-customergateway.json similarity index 91% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-customergateway.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-customergateway.json index f9eff25652..64904e4f63 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-customergateway.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-ec2-customergateway.json @@ -41,7 +41,7 @@ "type": "number" }, "CertificateArn": { - "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso([a-z]{1})?))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$", + "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": { diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-elasticache-serverlesscache.json deleted file mode 100644 index 3b7cde6c66..0000000000 --- a/src/cfnlint/data/schemas/providers/af_south_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/af_south_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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-m2-environment.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-m2-environment.json new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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_central_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-organizations-policy.json similarity index 97% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-organizations-policy.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-organizations-policy.json index 43a4121a24..eb45adde3d 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-organizations-policy.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-organizations-policy.json @@ -87,8 +87,7 @@ "BACKUP_POLICY", "TAG_POLICY", "CHATBOT_POLICY", - "RESOURCE_CONTROL_POLICY", - "DECLARATIVE_POLICY_EC2" + "RESOURCE_CONTROL_POLICY" ], "type": "string" } diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-apikey.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-ram-resourceshare.json similarity index 54% rename from src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-apikey.json rename to src/cfnlint/data/schemas/providers/af_south_1/aws-ram-resourceshare.json index 7c24b00f38..e55421c92f 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-apikey.json +++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-ram-resourceshare.json @@ -1,23 +1,6 @@ { "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/GenerateDistinctId", - "/properties/Value" - ], "definitions": { - "StageKey": { - "additionalProperties": false, - "properties": { - "RestApiId": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "type": "object" - }, "Tag": { "additionalProperties": false, "properties": { @@ -39,17 +22,11 @@ "/properties/Id" ], "properties": { - "CustomerId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Enabled": { + "AllowExternalPrincipals": { "type": "boolean" }, - "GenerateDistinctId": { - "type": "boolean" + "Arn": { + "type": "string" }, "Id": { "type": "string" @@ -57,12 +34,33 @@ "Name": { "type": "string" }, - "StageKeys": { + "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": { - "$ref": "#/definitions/StageKey" + "type": "string" }, "type": "array", - "uniqueItems": true + "uniqueItems": false }, "Tags": { "items": { @@ -70,13 +68,14 @@ }, "type": "array", "uniqueItems": false - }, - "Value": { - "type": "string" } }, "readOnlyProperties": [ - "/properties/Id" + "/properties/Id", + "/properties/Arn" + ], + "required": [ + "Name" ], - "typeName": "AWS::ApiGateway::ApiKey" + "typeName": "AWS::RAM::ResourceShare" } 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 0e3079cb7b..1463940668 100644 --- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py @@ -479,6 +479,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -798,10 +799,13 @@ "AWS::VpcLattice::AccessLogSubscription", "AWS::VpcLattice::AuthPolicy", "AWS::VpcLattice::Listener", + "AWS::VpcLattice::ResourceConfiguration", + "AWS::VpcLattice::ResourceGateway", "AWS::VpcLattice::ResourcePolicy", "AWS::VpcLattice::Rule", "AWS::VpcLattice::Service", "AWS::VpcLattice::ServiceNetwork", + "AWS::VpcLattice::ServiceNetworkResourceAssociation", "AWS::VpcLattice::ServiceNetworkServiceAssociation", "AWS::VpcLattice::ServiceNetworkVpcAssociation", "AWS::VpcLattice::TargetGroup", @@ -860,6 +864,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", @@ -964,12 +969,12 @@ "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", @@ -1076,7 +1081,6 @@ "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", @@ -1298,6 +1302,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1354,12 +1359,8 @@ "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-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -1413,13 +1414,15 @@ "aws-organizations-organizationalunit.json", "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", + "aws-pcaconnectorad-connector.json", + "aws-pcaconnectorad-directoryregistration.json", "aws-pcaconnectorad-serviceprincipalname.json", + "aws-pcaconnectorad-template.json", "aws-pcaconnectorad-templategroupaccesscontrolentry.json", "aws-pcaconnectorscep-challenge.json", "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", @@ -1447,7 +1450,6 @@ "aws-redshift-integration.json", "aws-redshift-scheduledaction.json", "aws-redshiftserverless-namespace.json", - "aws-redshiftserverless-workgroup.json", "aws-resiliencehub-app.json", "aws-resiliencehub-resiliencypolicy.json", "aws-resourceexplorer2-defaultviewassociation.json", @@ -1596,10 +1598,13 @@ "aws-vpclattice-accesslogsubscription.json", "aws-vpclattice-authpolicy.json", "aws-vpclattice-listener.json", + "aws-vpclattice-resourceconfiguration.json", + "aws-vpclattice-resourcegateway.json", "aws-vpclattice-resourcepolicy.json", "aws-vpclattice-rule.json", "aws-vpclattice-service.json", "aws-vpclattice-servicenetwork.json", + "aws-vpclattice-servicenetworkresourceassociation.json", "aws-vpclattice-servicenetworkserviceassociation.json", "aws-vpclattice-servicenetworkvpcassociation.json", "aws-vpclattice-targetgroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_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/ap_east_1/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_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/ap_east_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudfront-distribution.json new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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-pcaconnectorad-connector.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-connector.json deleted file mode 100644 index 33419e0dab..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-connector.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CertificateAuthorityArn", - "/properties/DirectoryId", - "/properties/VpcInformation" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "patternProperties": { - ".+": { - "type": "string" - } - }, - "type": "object" - }, - "VpcInformation": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 20, - "minLength": 11, - "pattern": "^(?:sg-[0-9a-f]{8}|sg-[0-9a-f]{17})$", - "type": "string" - }, - "maxItems": 5, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "SecurityGroupIds" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ConnectorArn" - ], - "properties": { - "CertificateAuthorityArn": { - "maxLength": 200, - "minLength": 5, - "pattern": "^arn:[\\w-]+:acm-pca:[\\w-]+:[0-9]+:certificate-authority(\\/[\\w-]+)$", - "type": "string" - }, - "ConnectorArn": { - "maxLength": 200, - "minLength": 5, - "pattern": "^arn:[\\w-]+:pca-connector-ad:[\\w-]+:[0-9]+:connector(\\/[\\w-]+)$", - "type": "string" - }, - "DirectoryId": { - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/Tags" - }, - "VpcInformation": { - "$ref": "#/definitions/VpcInformation" - } - }, - "readOnlyProperties": [ - "/properties/ConnectorArn" - ], - "required": [ - "CertificateAuthorityArn", - "DirectoryId", - "VpcInformation" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::PCAConnectorAD::Connector", - "writeOnlyProperties": [ - "/properties/CertificateAuthorityArn", - "/properties/DirectoryId", - "/properties/Tags", - "/properties/VpcInformation" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-directoryregistration.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-directoryregistration.json deleted file mode 100644 index 32656e63ba..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-directoryregistration.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DirectoryId" - ], - "definitions": { - "Tags": { - "additionalProperties": false, - "patternProperties": { - ".+": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DirectoryRegistrationArn" - ], - "properties": { - "DirectoryId": { - "pattern": "^d-[0-9a-f]{10}$", - "type": "string" - }, - "DirectoryRegistrationArn": { - "maxLength": 200, - "minLength": 5, - "pattern": "^arn:[\\w-]+:pca-connector-ad:[\\w-]+:[0-9]+:directory-registration(\\/[\\w-]+)$", - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/Tags" - } - }, - "readOnlyProperties": [ - "/properties/DirectoryRegistrationArn" - ], - "required": [ - "DirectoryId" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::PCAConnectorAD::DirectoryRegistration", - "writeOnlyProperties": [ - "/properties/DirectoryId", - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-template.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-template.json deleted file mode 100644 index fbf58aaa73..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-pcaconnectorad-template.json +++ /dev/null @@ -1,994 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ConnectorArn", - "/properties/Name" - ], - "definitions": { - "ApplicationPolicies": { - "additionalProperties": false, - "properties": { - "Critical": { - "type": "boolean" - }, - "Policies": { - "items": { - "$ref": "#/definitions/ApplicationPolicy" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "Policies" - ], - "type": "object" - }, - "ApplicationPolicy": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "PolicyType": { - "$ref": "#/definitions/ApplicationPolicyType" - } - }, - "required": [ - "PolicyType" - ], - "title": "PolicyType", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "PolicyObjectIdentifier": { - "maxLength": 64, - "minLength": 1, - "pattern": "^([0-2])\\.([0-9]|([0-3][0-9]))(\\.([0-9]+)){0,126}$", - "type": "string" - } - }, - "required": [ - "PolicyObjectIdentifier" - ], - "title": "PolicyObjectIdentifier", - "type": "object" - } - ] - }, - "ApplicationPolicyType": { - "enum": [ - "ALL_APPLICATION_POLICIES", - "ANY_PURPOSE", - "ATTESTATION_IDENTITY_KEY_CERTIFICATE", - "CERTIFICATE_REQUEST_AGENT", - "CLIENT_AUTHENTICATION", - "CODE_SIGNING", - "CTL_USAGE", - "DIGITAL_RIGHTS", - "DIRECTORY_SERVICE_EMAIL_REPLICATION", - "DISALLOWED_LIST", - "DNS_SERVER_TRUST", - "DOCUMENT_ENCRYPTION", - "DOCUMENT_SIGNING", - "DYNAMIC_CODE_GENERATOR", - "EARLY_LAUNCH_ANTIMALWARE_DRIVER", - "EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", - "ENCLAVE", - "ENCRYPTING_FILE_SYSTEM", - "ENDORSEMENT_KEY_CERTIFICATE", - "FILE_RECOVERY", - "HAL_EXTENSION", - "IP_SECURITY_END_SYSTEM", - "IP_SECURITY_IKE_INTERMEDIATE", - "IP_SECURITY_TUNNEL_TERMINATION", - "IP_SECURITY_USER", - "ISOLATED_USER_MODE", - "KDC_AUTHENTICATION", - "KERNEL_MODE_CODE_SIGNING", - "KEY_PACK_LICENSES", - "KEY_RECOVERY", - "KEY_RECOVERY_AGENT", - "LICENSE_SERVER_VERIFICATION", - "LIFETIME_SIGNING", - "MICROSOFT_PUBLISHER", - "MICROSOFT_TIME_STAMPING", - "MICROSOFT_TRUST_LIST_SIGNING", - "OCSP_SIGNING", - "OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", - "PLATFORM_CERTIFICATE", - "PREVIEW_BUILD_SIGNING", - "PRIVATE_KEY_ARCHIVAL", - "PROTECTED_PROCESS_LIGHT_VERIFICATION", - "PROTECTED_PROCESS_VERIFICATION", - "QUALIFIED_SUBORDINATION", - "REVOKED_LIST_SIGNER", - "ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION", - "ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION", - "ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL", - "ROOT_LIST_SIGNER", - "SECURE_EMAIL", - "SERVER_AUTHENTICATION", - "SMART_CARD_LOGIN", - "SPC_ENCRYPTED_DIGEST_RETRY_COUNT", - "SPC_RELAXED_PE_MARKER_CHECK", - "TIME_STAMPING", - "WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION", - "WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION", - "WINDOWS_HARDWARE_DRIVER_VERIFICATION", - "WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION", - "WINDOWS_KITS_COMPONENT", - "WINDOWS_RT_VERIFICATION", - "WINDOWS_SOFTWARE_EXTENSION_VERIFICATION", - "WINDOWS_STORE", - "WINDOWS_SYSTEM_COMPONENT_VERIFICATION", - "WINDOWS_TCB_COMPONENT", - "WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT", - "WINDOWS_UPDATE" - ], - "type": "string" - }, - "CertificateValidity": { - "additionalProperties": false, - "properties": { - "RenewalPeriod": { - "$ref": "#/definitions/ValidityPeriod" - }, - "ValidityPeriod": { - "$ref": "#/definitions/ValidityPeriod" - } - }, - "required": [ - "RenewalPeriod", - "ValidityPeriod" - ], - "type": "object" - }, - "ClientCompatibilityV2": { - "enum": [ - "WINDOWS_SERVER_2003", - "WINDOWS_SERVER_2008", - "WINDOWS_SERVER_2008_R2", - "WINDOWS_SERVER_2012", - "WINDOWS_SERVER_2012_R2", - "WINDOWS_SERVER_2016" - ], - "type": "string" - }, - "ClientCompatibilityV3": { - "enum": [ - "WINDOWS_SERVER_2008", - "WINDOWS_SERVER_2008_R2", - "WINDOWS_SERVER_2012", - "WINDOWS_SERVER_2012_R2", - "WINDOWS_SERVER_2016" - ], - "type": "string" - }, - "ClientCompatibilityV4": { - "enum": [ - "WINDOWS_SERVER_2012", - "WINDOWS_SERVER_2012_R2", - "WINDOWS_SERVER_2016" - ], - "type": "string" - }, - "EnrollmentFlagsV2": { - "additionalProperties": false, - "properties": { - "EnableKeyReuseOnNtTokenKeysetStorageFull": { - "type": "boolean" - }, - "IncludeSymmetricAlgorithms": { - "type": "boolean" - }, - "NoSecurityExtension": { - "type": "boolean" - }, - "RemoveInvalidCertificateFromPersonalStore": { - "type": "boolean" - }, - "UserInteractionRequired": { - "type": "boolean" - } - }, - "type": "object" - }, - "EnrollmentFlagsV3": { - "additionalProperties": false, - "properties": { - "EnableKeyReuseOnNtTokenKeysetStorageFull": { - "type": "boolean" - }, - "IncludeSymmetricAlgorithms": { - "type": "boolean" - }, - "NoSecurityExtension": { - "type": "boolean" - }, - "RemoveInvalidCertificateFromPersonalStore": { - "type": "boolean" - }, - "UserInteractionRequired": { - "type": "boolean" - } - }, - "type": "object" - }, - "EnrollmentFlagsV4": { - "additionalProperties": false, - "properties": { - "EnableKeyReuseOnNtTokenKeysetStorageFull": { - "type": "boolean" - }, - "IncludeSymmetricAlgorithms": { - "type": "boolean" - }, - "NoSecurityExtension": { - "type": "boolean" - }, - "RemoveInvalidCertificateFromPersonalStore": { - "type": "boolean" - }, - "UserInteractionRequired": { - "type": "boolean" - } - }, - "type": "object" - }, - "ExtensionsV2": { - "additionalProperties": false, - "properties": { - "ApplicationPolicies": { - "$ref": "#/definitions/ApplicationPolicies" - }, - "KeyUsage": { - "$ref": "#/definitions/KeyUsage" - } - }, - "required": [ - "KeyUsage" - ], - "type": "object" - }, - "ExtensionsV3": { - "additionalProperties": false, - "properties": { - "ApplicationPolicies": { - "$ref": "#/definitions/ApplicationPolicies" - }, - "KeyUsage": { - "$ref": "#/definitions/KeyUsage" - } - }, - "required": [ - "KeyUsage" - ], - "type": "object" - }, - "ExtensionsV4": { - "additionalProperties": false, - "properties": { - "ApplicationPolicies": { - "$ref": "#/definitions/ApplicationPolicies" - }, - "KeyUsage": { - "$ref": "#/definitions/KeyUsage" - } - }, - "required": [ - "KeyUsage" - ], - "type": "object" - }, - "GeneralFlagsV2": { - "additionalProperties": false, - "properties": { - "AutoEnrollment": { - "type": "boolean" - }, - "MachineType": { - "type": "boolean" - } - }, - "type": "object" - }, - "GeneralFlagsV3": { - "additionalProperties": false, - "properties": { - "AutoEnrollment": { - "type": "boolean" - }, - "MachineType": { - "type": "boolean" - } - }, - "type": "object" - }, - "GeneralFlagsV4": { - "additionalProperties": false, - "properties": { - "AutoEnrollment": { - "type": "boolean" - }, - "MachineType": { - "type": "boolean" - } - }, - "type": "object" - }, - "HashAlgorithm": { - "enum": [ - "SHA256", - "SHA384", - "SHA512" - ], - "type": "string" - }, - "KeySpec": { - "enum": [ - "KEY_EXCHANGE", - "SIGNATURE" - ], - "type": "string" - }, - "KeyUsage": { - "additionalProperties": false, - "properties": { - "Critical": { - "type": "boolean" - }, - "UsageFlags": { - "$ref": "#/definitions/KeyUsageFlags" - } - }, - "required": [ - "UsageFlags" - ], - "type": "object" - }, - "KeyUsageFlags": { - "additionalProperties": false, - "properties": { - "DataEncipherment": { - "type": "boolean" - }, - "DigitalSignature": { - "type": "boolean" - }, - "KeyAgreement": { - "type": "boolean" - }, - "KeyEncipherment": { - "type": "boolean" - }, - "NonRepudiation": { - "type": "boolean" - } - }, - "type": "object" - }, - "KeyUsageProperty": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "PropertyType": { - "$ref": "#/definitions/KeyUsagePropertyType" - } - }, - "required": [ - "PropertyType" - ], - "title": "PropertyType", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "PropertyFlags": { - "$ref": "#/definitions/KeyUsagePropertyFlags" - } - }, - "required": [ - "PropertyFlags" - ], - "title": "PropertyFlags", - "type": "object" - } - ] - }, - "KeyUsagePropertyFlags": { - "additionalProperties": false, - "properties": { - "Decrypt": { - "type": "boolean" - }, - "KeyAgreement": { - "type": "boolean" - }, - "Sign": { - "type": "boolean" - } - }, - "type": "object" - }, - "KeyUsagePropertyType": { - "enum": [ - "ALL" - ], - "type": "string" - }, - "PrivateKeyAlgorithm": { - "enum": [ - "RSA", - "ECDH_P256", - "ECDH_P384", - "ECDH_P521" - ], - "type": "string" - }, - "PrivateKeyAttributesV2": { - "additionalProperties": false, - "properties": { - "CryptoProviders": { - "items": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "KeySpec": { - "$ref": "#/definitions/KeySpec" - }, - "MinimalKeyLength": { - "minimum": 1, - "type": "number" - } - }, - "required": [ - "KeySpec", - "MinimalKeyLength" - ], - "type": "object" - }, - "PrivateKeyAttributesV3": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "$ref": "#/definitions/PrivateKeyAlgorithm" - }, - "CryptoProviders": { - "items": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "KeySpec": { - "$ref": "#/definitions/KeySpec" - }, - "KeyUsageProperty": { - "$ref": "#/definitions/KeyUsageProperty" - }, - "MinimalKeyLength": { - "minimum": 1, - "type": "number" - } - }, - "required": [ - "Algorithm", - "KeySpec", - "KeyUsageProperty", - "MinimalKeyLength" - ], - "type": "object" - }, - "PrivateKeyAttributesV4": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "$ref": "#/definitions/PrivateKeyAlgorithm" - }, - "CryptoProviders": { - "items": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - }, - "KeySpec": { - "$ref": "#/definitions/KeySpec" - }, - "KeyUsageProperty": { - "$ref": "#/definitions/KeyUsageProperty" - }, - "MinimalKeyLength": { - "minimum": 1, - "type": "number" - } - }, - "required": [ - "KeySpec", - "MinimalKeyLength" - ], - "type": "object" - }, - "PrivateKeyFlagsV2": { - "additionalProperties": false, - "properties": { - "ClientVersion": { - "$ref": "#/definitions/ClientCompatibilityV2" - }, - "ExportableKey": { - "type": "boolean" - }, - "StrongKeyProtectionRequired": { - "type": "boolean" - } - }, - "required": [ - "ClientVersion" - ], - "type": "object" - }, - "PrivateKeyFlagsV3": { - "additionalProperties": false, - "properties": { - "ClientVersion": { - "$ref": "#/definitions/ClientCompatibilityV3" - }, - "ExportableKey": { - "type": "boolean" - }, - "RequireAlternateSignatureAlgorithm": { - "type": "boolean" - }, - "StrongKeyProtectionRequired": { - "type": "boolean" - } - }, - "required": [ - "ClientVersion" - ], - "type": "object" - }, - "PrivateKeyFlagsV4": { - "additionalProperties": false, - "properties": { - "ClientVersion": { - "$ref": "#/definitions/ClientCompatibilityV4" - }, - "ExportableKey": { - "type": "boolean" - }, - "RequireAlternateSignatureAlgorithm": { - "type": "boolean" - }, - "RequireSameKeyRenewal": { - "type": "boolean" - }, - "StrongKeyProtectionRequired": { - "type": "boolean" - }, - "UseLegacyProvider": { - "type": "boolean" - } - }, - "required": [ - "ClientVersion" - ], - "type": "object" - }, - "SubjectNameFlagsV2": { - "additionalProperties": false, - "properties": { - "RequireCommonName": { - "type": "boolean" - }, - "RequireDirectoryPath": { - "type": "boolean" - }, - "RequireDnsAsCn": { - "type": "boolean" - }, - "RequireEmail": { - "type": "boolean" - }, - "SanRequireDirectoryGuid": { - "type": "boolean" - }, - "SanRequireDns": { - "type": "boolean" - }, - "SanRequireDomainDns": { - "type": "boolean" - }, - "SanRequireEmail": { - "type": "boolean" - }, - "SanRequireSpn": { - "type": "boolean" - }, - "SanRequireUpn": { - "type": "boolean" - } - }, - "type": "object" - }, - "SubjectNameFlagsV3": { - "additionalProperties": false, - "properties": { - "RequireCommonName": { - "type": "boolean" - }, - "RequireDirectoryPath": { - "type": "boolean" - }, - "RequireDnsAsCn": { - "type": "boolean" - }, - "RequireEmail": { - "type": "boolean" - }, - "SanRequireDirectoryGuid": { - "type": "boolean" - }, - "SanRequireDns": { - "type": "boolean" - }, - "SanRequireDomainDns": { - "type": "boolean" - }, - "SanRequireEmail": { - "type": "boolean" - }, - "SanRequireSpn": { - "type": "boolean" - }, - "SanRequireUpn": { - "type": "boolean" - } - }, - "type": "object" - }, - "SubjectNameFlagsV4": { - "additionalProperties": false, - "properties": { - "RequireCommonName": { - "type": "boolean" - }, - "RequireDirectoryPath": { - "type": "boolean" - }, - "RequireDnsAsCn": { - "type": "boolean" - }, - "RequireEmail": { - "type": "boolean" - }, - "SanRequireDirectoryGuid": { - "type": "boolean" - }, - "SanRequireDns": { - "type": "boolean" - }, - "SanRequireDomainDns": { - "type": "boolean" - }, - "SanRequireEmail": { - "type": "boolean" - }, - "SanRequireSpn": { - "type": "boolean" - }, - "SanRequireUpn": { - "type": "boolean" - } - }, - "type": "object" - }, - "Tags": { - "additionalProperties": false, - "patternProperties": { - ".+": { - "type": "string" - } - }, - "type": "object" - }, - "TemplateDefinition": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "TemplateV2": { - "$ref": "#/definitions/TemplateV2" - } - }, - "required": [ - "TemplateV2" - ], - "title": "TemplateV2", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "TemplateV3": { - "$ref": "#/definitions/TemplateV3" - } - }, - "required": [ - "TemplateV3" - ], - "title": "TemplateV3", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "TemplateV4": { - "$ref": "#/definitions/TemplateV4" - } - }, - "required": [ - "TemplateV4" - ], - "title": "TemplateV4", - "type": "object" - } - ] - }, - "TemplateV2": { - "additionalProperties": false, - "properties": { - "CertificateValidity": { - "$ref": "#/definitions/CertificateValidity" - }, - "EnrollmentFlags": { - "$ref": "#/definitions/EnrollmentFlagsV2" - }, - "Extensions": { - "$ref": "#/definitions/ExtensionsV2" - }, - "GeneralFlags": { - "$ref": "#/definitions/GeneralFlagsV2" - }, - "PrivateKeyAttributes": { - "$ref": "#/definitions/PrivateKeyAttributesV2" - }, - "PrivateKeyFlags": { - "$ref": "#/definitions/PrivateKeyFlagsV2" - }, - "SubjectNameFlags": { - "$ref": "#/definitions/SubjectNameFlagsV2" - }, - "SupersededTemplates": { - "items": { - "maxLength": 64, - "minLength": 1, - "pattern": "^(?!^\\s+$)((?![\\x5c'\\x2b,;<=>#\\x22])([\\x20-\\x7E]))+$", - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "CertificateValidity", - "EnrollmentFlags", - "Extensions", - "GeneralFlags", - "PrivateKeyAttributes", - "PrivateKeyFlags", - "SubjectNameFlags" - ], - "type": "object" - }, - "TemplateV3": { - "additionalProperties": false, - "properties": { - "CertificateValidity": { - "$ref": "#/definitions/CertificateValidity" - }, - "EnrollmentFlags": { - "$ref": "#/definitions/EnrollmentFlagsV3" - }, - "Extensions": { - "$ref": "#/definitions/ExtensionsV3" - }, - "GeneralFlags": { - "$ref": "#/definitions/GeneralFlagsV3" - }, - "HashAlgorithm": { - "$ref": "#/definitions/HashAlgorithm" - }, - "PrivateKeyAttributes": { - "$ref": "#/definitions/PrivateKeyAttributesV3" - }, - "PrivateKeyFlags": { - "$ref": "#/definitions/PrivateKeyFlagsV3" - }, - "SubjectNameFlags": { - "$ref": "#/definitions/SubjectNameFlagsV3" - }, - "SupersededTemplates": { - "items": { - "maxLength": 64, - "minLength": 1, - "pattern": "^(?!^\\s+$)((?![\\x5c'\\x2b,;<=>#\\x22])([\\x20-\\x7E]))+$", - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "CertificateValidity", - "EnrollmentFlags", - "Extensions", - "GeneralFlags", - "HashAlgorithm", - "PrivateKeyAttributes", - "PrivateKeyFlags", - "SubjectNameFlags" - ], - "type": "object" - }, - "TemplateV4": { - "additionalProperties": false, - "properties": { - "CertificateValidity": { - "$ref": "#/definitions/CertificateValidity" - }, - "EnrollmentFlags": { - "$ref": "#/definitions/EnrollmentFlagsV4" - }, - "Extensions": { - "$ref": "#/definitions/ExtensionsV4" - }, - "GeneralFlags": { - "$ref": "#/definitions/GeneralFlagsV4" - }, - "HashAlgorithm": { - "$ref": "#/definitions/HashAlgorithm" - }, - "PrivateKeyAttributes": { - "$ref": "#/definitions/PrivateKeyAttributesV4" - }, - "PrivateKeyFlags": { - "$ref": "#/definitions/PrivateKeyFlagsV4" - }, - "SubjectNameFlags": { - "$ref": "#/definitions/SubjectNameFlagsV4" - }, - "SupersededTemplates": { - "items": { - "maxLength": 64, - "minLength": 1, - "pattern": "^(?!^\\s+$)((?![\\x5c'\\x2b,;<=>#\\x22])([\\x20-\\x7E]))+$", - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "type": "array", - "uniqueItems": true - } - }, - "required": [ - "CertificateValidity", - "EnrollmentFlags", - "Extensions", - "GeneralFlags", - "PrivateKeyAttributes", - "PrivateKeyFlags", - "SubjectNameFlags" - ], - "type": "object" - }, - "ValidityPeriod": { - "additionalProperties": false, - "properties": { - "Period": { - "maximum": 8766000, - "minimum": 1, - "type": "number" - }, - "PeriodType": { - "$ref": "#/definitions/ValidityPeriodType" - } - }, - "required": [ - "Period", - "PeriodType" - ], - "type": "object" - }, - "ValidityPeriodType": { - "enum": [ - "HOURS", - "DAYS", - "WEEKS", - "MONTHS", - "YEARS" - ], - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/TemplateArn" - ], - "properties": { - "ConnectorArn": { - "maxLength": 200, - "minLength": 5, - "pattern": "^arn:[\\w-]+:pca-connector-ad:[\\w-]+:[0-9]+:connector\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$", - "type": "string" - }, - "Definition": { - "$ref": "#/definitions/TemplateDefinition" - }, - "Name": { - "maxLength": 64, - "minLength": 1, - "pattern": "^(?!^\\s+$)((?![\\x5c'\\x2b,;<=>#\\x22])([\\x20-\\x7E]))+$", - "type": "string" - }, - "ReenrollAllCertificateHolders": { - "type": "boolean" - }, - "Tags": { - "$ref": "#/definitions/Tags" - }, - "TemplateArn": { - "maxLength": 200, - "minLength": 5, - "pattern": "^arn:[\\w-]+:pca-connector-ad:[\\w-]+:[0-9]+:connector\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}\\/template\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/TemplateArn" - ], - "required": [ - "ConnectorArn", - "Definition", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcaconnectorad", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::PCAConnectorAD::Template", - "writeOnlyProperties": [ - "/properties/ConnectorArn", - "/properties/Definition", - "/properties/Name", - "/properties/ReenrollAllCertificateHolders", - "/properties/Tags" - ] -} 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 new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-redshiftserverless-workgroup.json similarity index 92% rename from src/cfnlint/data/schemas/providers/eu_north_1/aws-redshiftserverless-workgroup.json rename to src/cfnlint/data/schemas/providers/ap_east_1/aws-redshiftserverless-workgroup.json index 607749193c..60a6356907 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/aws-redshiftserverless-workgroup.json +++ b/src/cfnlint/data/schemas/providers/ap_east_1/aws-redshiftserverless-workgroup.json @@ -59,27 +59,6 @@ }, "type": "object" }, - "PerformanceTarget": { - "additionalProperties": false, - "properties": { - "Level": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Status": { - "$ref": "#/definitions/PerformanceTargetStatus" - } - }, - "type": "object" - }, - "PerformanceTargetStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, "Tag": { "additionalProperties": false, "properties": { @@ -152,9 +131,6 @@ "pattern": "^[a-z0-9-]+$", "type": "string" }, - "PricePerformanceTarget": { - "$ref": "#/definitions/PerformanceTarget" - }, "PubliclyAccessible": { "type": "boolean" }, @@ -240,10 +216,6 @@ "Port": { "type": "integer" }, - "PricePerformanceTarget": { - "$ref": "#/definitions/PerformanceTarget", - "type": "object" - }, "PubliclyAccessible": { "default": false, "type": "boolean" 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 fa46ad6678..fa7b7c23cf 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/__init__.py @@ -671,6 +671,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -805,6 +806,7 @@ "AWS::LookoutMetrics::AnomalyDetector", "AWS::LookoutVision::Project", "AWS::M2::Application", + "AWS::M2::Deployment", "AWS::M2::Environment", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", @@ -866,6 +868,7 @@ "AWS::MediaTailor::VodSource", "AWS::MemoryDB::ACL", "AWS::MemoryDB::Cluster", + "AWS::MemoryDB::MultiRegionCluster", "AWS::MemoryDB::ParameterGroup", "AWS::MemoryDB::SubnetGroup", "AWS::MemoryDB::User", @@ -1226,10 +1229,13 @@ "AWS::VpcLattice::AccessLogSubscription", "AWS::VpcLattice::AuthPolicy", "AWS::VpcLattice::Listener", + "AWS::VpcLattice::ResourceConfiguration", + "AWS::VpcLattice::ResourceGateway", "AWS::VpcLattice::ResourcePolicy", "AWS::VpcLattice::Rule", "AWS::VpcLattice::Service", "AWS::VpcLattice::ServiceNetwork", + "AWS::VpcLattice::ServiceNetworkResourceAssociation", "AWS::VpcLattice::ServiceNetworkServiceAssociation", "AWS::VpcLattice::ServiceNetworkVpcAssociation", "AWS::VpcLattice::TargetGroup", @@ -1450,8 +1456,6 @@ "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", @@ -1479,7 +1483,6 @@ "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", @@ -1563,6 +1566,7 @@ "aws-connect-phonenumber.json", "aws-connect-predefinedattribute.json", "aws-connect-prompt.json", + "aws-connect-queue.json", "aws-connect-quickconnect.json", "aws-connect-routingprofile.json", "aws-connect-rule.json", @@ -1940,6 +1944,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -2012,6 +2017,7 @@ "aws-kafkaconnect-workerconfiguration.json", "aws-kendra-datasource.json", "aws-kendra-faq.json", + "aws-kendra-index.json", "aws-kendraranking-executionplan.json", "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", @@ -2077,17 +2083,13 @@ "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-lookoutmetrics-alert.json", "aws-lookoutmetrics-anomalydetector.json", "aws-lookoutvision-project.json", "aws-m2-application.json", - "aws-m2-environment.json", + "aws-m2-deployment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -2138,6 +2140,8 @@ "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", "aws-memorydb-user.json", @@ -2198,7 +2202,6 @@ "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", @@ -2414,7 +2417,6 @@ "aws-servicediscovery-privatednsnamespace.json", "aws-servicediscovery-publicdnsnamespace.json", "aws-servicediscovery-service.json", - "aws-ses-configurationset.json", "aws-ses-configurationseteventdestination.json", "aws-ses-contactlist.json", "aws-ses-dedicatedippool.json", @@ -2494,10 +2496,13 @@ "aws-vpclattice-accesslogsubscription.json", "aws-vpclattice-authpolicy.json", "aws-vpclattice-listener.json", + "aws-vpclattice-resourceconfiguration.json", + "aws-vpclattice-resourcegateway.json", "aws-vpclattice-resourcepolicy.json", "aws-vpclattice-rule.json", "aws-vpclattice-service.json", "aws-vpclattice-servicenetwork.json", + "aws-vpclattice-servicenetworkresourceassociation.json", "aws-vpclattice-servicenetworkserviceassociation.json", "aws-vpclattice-servicenetworkvpcassociation.json", "aws-vpclattice-targetgroup.json", @@ -2538,7 +2543,6 @@ "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-cleanrooms-configuredtable.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtable.json new file mode 100644 index 0000000000..2fb41ebe1b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtable.json @@ -0,0 +1,531 @@ +{ + "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 new file mode 100644 index 0000000000..978f86b643 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cleanrooms-configuredtableassociation.json @@ -0,0 +1,253 @@ +{ + "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 new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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-connect-queue.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-connect-queue.json deleted file mode 100644 index 0c823321dc..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-connect-queue.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "OutboundCallerConfig": { - "additionalProperties": false, - "properties": { - "OutboundCallerIdName": { - "$ref": "#/definitions/OutboundCallerIdName" - }, - "OutboundCallerIdNumberArn": { - "$ref": "#/definitions/OutboundCallerIdNumberArn" - }, - "OutboundFlowArn": { - "$ref": "#/definitions/OutboundFlowArn" - } - }, - "type": "object" - }, - "OutboundCallerIdName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "OutboundCallerIdNumberArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:phone-number/[-a-zA-Z0-9]*$", - "type": "string" - }, - "OutboundEmailAddressId": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/email-address/[-a-zA-Z0-9]*$", - "type": "string" - }, - "OutboundEmailConfig": { - "additionalProperties": false, - "properties": { - "OutboundEmailAddressId": { - "$ref": "#/definitions/OutboundEmailAddressId" - } - }, - "type": "object" - }, - "OutboundFlowArn": { - "maxLength": 500, - "minLength": 1, - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$", - "type": "string" - }, - "QuickConnectArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/transfer-destination/[-a-zA-Z0-9]*$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/Key" - }, - "Value": { - "$ref": "#/definitions/Value" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/QueueArn" - ], - "properties": { - "Description": { - "maxLength": 250, - "minLength": 1, - "type": "string" - }, - "HoursOfOperationArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/operating-hours/[-a-zA-Z0-9]*$", - "type": "string" - }, - "InstanceArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$", - "type": "string" - }, - "MaxContacts": { - "minimum": 0, - "type": "integer" - }, - "Name": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "OutboundCallerConfig": { - "$ref": "#/definitions/OutboundCallerConfig" - }, - "OutboundEmailConfig": { - "$ref": "#/definitions/OutboundEmailConfig" - }, - "QueueArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/queue/[-a-zA-Z0-9]*$", - "type": "string" - }, - "QuickConnectArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/QuickConnectArn" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "Status": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "Type": { - "enum": [ - "STANDARD", - "AGENT" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/QueueArn", - "/properties/Type" - ], - "required": [ - "InstanceArn", - "HoursOfOperationArn", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Connect::Queue" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-kendra-index.json deleted file mode 100644 index 1dfc2d6d88..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-kendra-index.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Edition", - "/properties/ServerSideEncryptionConfiguration" - ], - "definitions": { - "Arn": { - "maxLength": 1000, - "type": "string" - }, - "CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "$ref": "#/definitions/QueryCapacityUnits" - }, - "StorageCapacityUnits": { - "$ref": "#/definitions/StorageCapacityUnits" - } - }, - "required": [ - "StorageCapacityUnits", - "QueryCapacityUnits" - ], - "type": "object" - }, - "ClaimRegex": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Description": { - "maxLength": 1000, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "DocumentAttributeValueType": { - "enum": [ - "STRING_VALUE", - "STRING_LIST_VALUE", - "LONG_VALUE", - "DATE_VALUE" - ], - "type": "string" - }, - "DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "$ref": "#/definitions/DocumentMetadataConfigurationName" - }, - "Relevance": { - "$ref": "#/definitions/Relevance" - }, - "Search": { - "$ref": "#/definitions/Search" - }, - "Type": { - "$ref": "#/definitions/DocumentAttributeValueType" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "DocumentMetadataConfigurationList": { - "items": { - "$ref": "#/definitions/DocumentMetadataConfiguration" - }, - "maxItems": 500, - "type": "array" - }, - "DocumentMetadataConfigurationName": { - "maxLength": 30, - "minLength": 1, - "type": "string" - }, - "Duration": { - "maxLength": 10, - "minLength": 1, - "pattern": "[0-9]+[s]", - "type": "string" - }, - "Edition": { - "enum": [ - "DEVELOPER_EDITION", - "ENTERPRISE_EDITION" - ], - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "GroupAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Id": { - "maxLength": 36, - "minLength": 36, - "type": "string" - }, - "Importance": { - "maximum": 10, - "minimum": 1, - "type": "integer" - }, - "Issuer": { - "maxLength": 65, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "JsonTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "UserNameAttributeField", - "GroupAttributeField" - ], - "type": "object" - }, - "JwtTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "ClaimRegex": { - "$ref": "#/definitions/ClaimRegex" - }, - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "Issuer": { - "$ref": "#/definitions/Issuer" - }, - "KeyLocation": { - "$ref": "#/definitions/KeyLocation" - }, - "SecretManagerArn": { - "$ref": "#/definitions/RoleArn" - }, - "URL": { - "$ref": "#/definitions/Url" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "KeyLocation" - ], - "type": "object" - }, - "KeyLocation": { - "enum": [ - "URL", - "SECRET_MANAGER" - ], - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 1000, - "minLength": 1, - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", - "type": "string" - }, - "Order": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - }, - "QueryCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "$ref": "#/definitions/Duration" - }, - "Freshness": { - "$ref": "#/definitions/Freshness" - }, - "Importance": { - "$ref": "#/definitions/Importance" - }, - "RankOrder": { - "$ref": "#/definitions/Order" - }, - "ValueImportanceItems": { - "$ref": "#/definitions/ValueImportanceItems" - } - }, - "type": "object" - }, - "RoleArn": { - "maxLength": 1284, - "minLength": 1, - "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", - "type": "string" - }, - "Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "$ref": "#/definitions/KmsKeyId" - } - }, - "type": "object" - }, - "StorageCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "type": "array" - }, - "Url": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)", - "type": "string" - }, - "UserContextPolicy": { - "enum": [ - "ATTRIBUTE_FILTER", - "USER_TOKEN" - ], - "type": "string" - }, - "UserNameAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "UserTokenConfiguration": { - "additionalProperties": false, - "properties": { - "JsonTokenTypeConfiguration": { - "$ref": "#/definitions/JsonTokenTypeConfiguration" - }, - "JwtTokenTypeConfiguration": { - "$ref": "#/definitions/JwtTokenTypeConfiguration" - } - }, - "type": "object" - }, - "UserTokenConfigurationList": { - "items": { - "$ref": "#/definitions/UserTokenConfiguration" - }, - "maxItems": 1, - "type": "array" - }, - "ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/ValueImportanceItemKey" - }, - "Value": { - "$ref": "#/definitions/Importance" - } - }, - "type": "object" - }, - "ValueImportanceItemKey": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/ValueImportanceItem" - }, - "type": "array" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "CapacityUnits": { - "$ref": "#/definitions/CapacityUnitsConfiguration" - }, - "Description": { - "$ref": "#/definitions/Description" - }, - "DocumentMetadataConfigurations": { - "$ref": "#/definitions/DocumentMetadataConfigurationList" - }, - "Edition": { - "$ref": "#/definitions/Edition" - }, - "Id": { - "$ref": "#/definitions/Id" - }, - "Name": { - "$ref": "#/definitions/Name" - }, - "RoleArn": { - "$ref": "#/definitions/RoleArn" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/ServerSideEncryptionConfiguration" - }, - "Tags": { - "$ref": "#/definitions/TagList" - }, - "UserContextPolicy": { - "$ref": "#/definitions/UserContextPolicy" - }, - "UserTokenConfigurations": { - "$ref": "#/definitions/UserTokenConfigurationList" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name", - "RoleArn", - "Edition" - ], - "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html", - "typeName": "AWS::Kendra::Index" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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 new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-memorydb-cluster.json deleted file mode 100644 index cba3a3f129..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_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/ap_northeast_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-policy.json new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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-ses-configurationset.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-configurationset.json new file mode 100644 index 0000000000..575818695d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-ses-configurationset.json @@ -0,0 +1,142 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name" + ], + "definitions": { + "DashboardOptions": { + "additionalProperties": false, + "properties": { + "EngagementMetrics": { + "pattern": "ENABLED|DISABLED", + "type": "string" + } + }, + "required": [ + "EngagementMetrics" + ], + "type": "object" + }, + "DeliveryOptions": { + "additionalProperties": false, + "properties": { + "MaxDeliverySeconds": { + "maximum": 50400, + "minimum": 300, + "type": "number" + }, + "SendingPoolName": { + "type": "string" + }, + "TlsPolicy": { + "pattern": "REQUIRE|OPTIONAL", + "type": "string" + } + }, + "type": "object" + }, + "GuardianOptions": { + "additionalProperties": false, + "properties": { + "OptimizedSharedDelivery": { + "pattern": "ENABLED|DISABLED", + "type": "string" + } + }, + "required": [ + "OptimizedSharedDelivery" + ], + "type": "object" + }, + "ReputationOptions": { + "additionalProperties": false, + "properties": { + "ReputationMetricsEnabled": { + "pattern": "true|false", + "type": "boolean" + } + }, + "type": "object" + }, + "SendingOptions": { + "additionalProperties": false, + "properties": { + "SendingEnabled": { + "pattern": "true|false", + "type": "boolean" + } + }, + "type": "object" + }, + "SuppressionOptions": { + "additionalProperties": false, + "properties": { + "SuppressedReasons": { + "insertionOrder": false, + "items": { + "pattern": "BOUNCE|COMPLAINT", + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "TrackingOptions": { + "additionalProperties": false, + "properties": { + "CustomRedirectDomain": { + "type": "string" + }, + "HttpsPolicy": { + "pattern": "REQUIRE|REQUIRE_OPEN_ONLY|OPTIONAL", + "type": "string" + } + }, + "type": "object" + }, + "VdmOptions": { + "additionalProperties": false, + "properties": { + "DashboardOptions": { + "$ref": "#/definitions/DashboardOptions" + }, + "GuardianOptions": { + "$ref": "#/definitions/GuardianOptions" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Name" + ], + "properties": { + "DeliveryOptions": { + "$ref": "#/definitions/DeliveryOptions" + }, + "Name": { + "pattern": "^[a-zA-Z0-9_-]{1,64}$", + "type": "string" + }, + "ReputationOptions": { + "$ref": "#/definitions/ReputationOptions" + }, + "SendingOptions": { + "$ref": "#/definitions/SendingOptions" + }, + "SuppressionOptions": { + "$ref": "#/definitions/SuppressionOptions" + }, + "TrackingOptions": { + "$ref": "#/definitions/TrackingOptions" + }, + "VdmOptions": { + "$ref": "#/definitions/VdmOptions" + } + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git", + "taggable": false, + "typeName": "AWS::SES::ConfigurationSet" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspaces-workspacespool.json similarity index 96% rename from src/cfnlint/data/schemas/providers/eu_west_2/aws-workspaces-workspacespool.json rename to src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspaces-workspacespool.json index b035efdff4..19c638ca23 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-workspaces-workspacespool.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_1/aws-workspaces-workspacespool.json @@ -151,5 +151,8 @@ "tagUpdatable": false, "taggable": true }, - "typeName": "AWS::WorkSpaces::WorkspacesPool" + "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 b2df00ffb7..0ad0bc6f6c 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/__init__.py @@ -642,6 +642,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -748,6 +749,7 @@ "AWS::LookoutEquipment::InferenceScheduler", "AWS::LookoutVision::Project", "AWS::M2::Application", + "AWS::M2::Deployment", "AWS::M2::Environment", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", @@ -809,6 +811,7 @@ "AWS::MediaTailor::VodSource", "AWS::MemoryDB::ACL", "AWS::MemoryDB::Cluster", + "AWS::MemoryDB::MultiRegionCluster", "AWS::MemoryDB::ParameterGroup", "AWS::MemoryDB::SubnetGroup", "AWS::MemoryDB::User", @@ -1341,8 +1344,6 @@ "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", @@ -1369,7 +1370,6 @@ "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,7 +1532,6 @@ "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", @@ -1630,7 +1629,6 @@ "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", @@ -1672,7 +1670,6 @@ "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", @@ -1806,6 +1803,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1910,16 +1908,12 @@ "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-lookoutequipment-inferencescheduler.json", "aws-lookoutvision-project.json", "aws-m2-application.json", - "aws-m2-environment.json", + "aws-m2-deployment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -1970,6 +1964,7 @@ "aws-mediatailor-sourcelocation.json", "aws-mediatailor-vodsource.json", "aws-memorydb-acl.json", + "aws-memorydb-multiregioncluster.json", "aws-memorydb-parametergroup.json", "aws-memorydb-subnetgroup.json", "aws-memorydb-user.json", @@ -1977,7 +1972,6 @@ "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", - "aws-msk-replicator.json", "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", @@ -2020,7 +2014,6 @@ "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", @@ -2065,9 +2058,7 @@ "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", @@ -2093,7 +2084,6 @@ "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", @@ -2327,7 +2317,6 @@ "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-cleanrooms-configuredtable.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtable.json new file mode 100644 index 0000000000..2fb41ebe1b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtable.json @@ -0,0 +1,531 @@ +{ + "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 new file mode 100644 index 0000000000..978f86b643 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cleanrooms-configuredtableassociation.json @@ -0,0 +1,253 @@ +{ + "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 new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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_2/aws-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-taskdefinition.json similarity index 99% rename from src/cfnlint/data/schemas/providers/us_west_2/aws-ecs-taskdefinition.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-taskdefinition.json index 8b9f473363..35c2b1ed93 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-ecs-taskdefinition.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ecs-taskdefinition.json @@ -4,7 +4,6 @@ "/properties/Family", "/properties/ContainerDefinitions", "/properties/Cpu", - "/properties/EnableFaultInjection", "/properties/ExecutionRoleArn", "/properties/InferenceAccelerators", "/properties/Memory", @@ -934,9 +933,6 @@ "Cpu": { "type": "string" }, - "EnableFaultInjection": { - "type": "boolean" - }, "EphemeralStorage": { "$ref": "#/definitions/EphemeralStorage" }, 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 new file mode 100644 index 0000000000..1a44823941 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-emrserverless-application.json @@ -0,0 +1,539 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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_2/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-m2-environment.json new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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_2/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json new file mode 100644 index 0000000000..8ca994e218 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-msk-replicator.json @@ -0,0 +1,321 @@ +{ + "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 new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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 new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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-rds-customdbengineversion.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-customdbengineversion.json similarity index 93% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-customdbengineversion.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-customdbengineversion.json index e81df04548..ae6cc1e635 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-customdbengineversion.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-rds-customdbengineversion.json @@ -110,7 +110,7 @@ "propertyTransform": { "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$lowercase(EngineVersion)", - "/properties/KMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KMSKeyId])" + "/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" @@ -121,10 +121,6 @@ ], "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::CustomDBEngineVersion", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-redshiftserverless-workgroup.json similarity index 92% rename from src/cfnlint/data/schemas/providers/ap_southeast_3/aws-redshiftserverless-workgroup.json rename to src/cfnlint/data/schemas/providers/ap_northeast_2/aws-redshiftserverless-workgroup.json index 607749193c..60a6356907 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-redshiftserverless-workgroup.json +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-redshiftserverless-workgroup.json @@ -59,27 +59,6 @@ }, "type": "object" }, - "PerformanceTarget": { - "additionalProperties": false, - "properties": { - "Level": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Status": { - "$ref": "#/definitions/PerformanceTargetStatus" - } - }, - "type": "object" - }, - "PerformanceTargetStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, "Tag": { "additionalProperties": false, "properties": { @@ -152,9 +131,6 @@ "pattern": "^[a-z0-9-]+$", "type": "string" }, - "PricePerformanceTarget": { - "$ref": "#/definitions/PerformanceTarget" - }, "PubliclyAccessible": { "type": "boolean" }, @@ -240,10 +216,6 @@ "Port": { "type": "integer" }, - "PricePerformanceTarget": { - "$ref": "#/definitions/PerformanceTarget", - "type": "object" - }, "PubliclyAccessible": { "default": false, "type": "boolean" 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 new file mode 100644 index 0000000000..19c638ca23 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_2/aws-workspaces-workspacespool.json @@ -0,0 +1,158 @@ +{ + "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 ef858355f4..263d70e550 100644 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/__init__.py @@ -492,6 +492,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::M2::Application", "AWS::M2::Deployment", "AWS::M2::Environment", @@ -963,12 +964,12 @@ "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", @@ -1298,15 +1299,11 @@ "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", @@ -1395,7 +1392,6 @@ "aws-pcaconnectorscep-connector.json", "aws-pipes-pipe.json", "aws-ram-permission.json", - "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-customdbengineversion.json", "aws-rds-dbcluster.json", diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudformation-typeactivation.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ExecutionRoleArn", - "/properties/LoggingConfig", - "/properties/TypeNameAlias", - "/properties/TypeName", - "/properties/Type", - "/properties/PublisherId", - "/properties/PublicTypeArn" - ], - "definitions": { - "LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogRoleArn": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "oneOf": [ - { - "required": [ - "TypeName", - "PublisherId", - "Type" - ] - }, - { - "required": [ - "PublicTypeArn" - ] - } - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "AutoUpdate": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/LoggingConfig" - }, - "MajorVersion": { - "maxLength": 100000, - "minLength": 1, - "type": "string" - }, - "PublicTypeArn": { - "maxLength": 1024, - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "PublisherId": { - "maxLength": 40, - "minLength": 1, - "pattern": "[0-9a-zA-Z-]{40}", - "type": "string" - }, - "Type": { - "enum": [ - "RESOURCE", - "MODULE", - "HOOK" - ], - "type": "string" - }, - "TypeName": { - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "TypeNameAlias": { - "maxLength": 204, - "minLength": 10, - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "VersionBump": { - "enum": [ - "MAJOR", - "MINOR" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation", - "typeName": "AWS::CloudFormation::TypeActivation" -} diff --git a/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudfront-distribution.json new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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 new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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_3/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_northeast_3/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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_south_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py index b44e1b99ad..0223fd916a 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py @@ -615,6 +615,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -737,6 +738,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::M2::Application", "AWS::M2::Deployment", "AWS::M2::Environment", @@ -797,6 +799,7 @@ "AWS::MediaTailor::VodSource", "AWS::MemoryDB::ACL", "AWS::MemoryDB::Cluster", + "AWS::MemoryDB::MultiRegionCluster", "AWS::MemoryDB::ParameterGroup", "AWS::MemoryDB::SubnetGroup", "AWS::MemoryDB::User", @@ -1359,6 +1362,7 @@ "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", @@ -1741,6 +1745,7 @@ "aws-guardduty-master.json", "aws-guardduty-member.json", "aws-guardduty-threatintelset.json", + "aws-healthlake-fhirdatastore.json", "aws-iam-accesskey.json", "aws-iam-group.json", "aws-iam-grouppolicy.json", @@ -1781,6 +1786,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1818,9 +1824,12 @@ "aws-iotfleetwise-signalcatalog.json", "aws-iotfleetwise-statetemplate.json", "aws-iotfleetwise-vehicle.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", @@ -1905,9 +1914,9 @@ "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", @@ -1956,6 +1965,8 @@ "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", "aws-memorydb-user.json", @@ -2312,7 +2323,6 @@ "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-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_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/ap_south_1/aws-healthlake-fhirdatastore.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-healthlake-fhirdatastore.json deleted file mode 100644 index 1a8bc150fd..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-healthlake-fhirdatastore.json +++ /dev/null @@ -1,231 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DatastoreName", - "/properties/DatastoreTypeVersion", - "/properties/PreloadDataConfig", - "/properties/SseConfiguration", - "/properties/IdentityProviderConfiguration" - ], - "definitions": { - "CreatedAt": { - "additionalProperties": false, - "properties": { - "Nanos": { - "type": "integer" - }, - "Seconds": { - "type": "string" - } - }, - "required": [ - "Seconds", - "Nanos" - ], - "type": "object" - }, - "DatastoreArn": { - "pattern": "^arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:healthlake:[a-zA-Z0-9-]+:[0-9]{12}:datastore/.+?", - "type": "string" - }, - "DatastoreEndpoint": { - "maxLength": 10000, - "type": "string" - }, - "DatastoreId": { - "maxLength": 32, - "minLength": 1, - "type": "string" - }, - "DatastoreName": { - "maxLength": 256, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$", - "type": "string" - }, - "DatastoreStatus": { - "enum": [ - "CREATING", - "ACTIVE", - "DELETING", - "DELETED" - ], - "type": "string" - }, - "DatastoreTypeVersion": { - "enum": [ - "R4" - ], - "type": "string" - }, - "IdentityProviderConfiguration": { - "additionalProperties": false, - "default": { - "AuthorizationStrategy": "AWS_AUTH", - "FineGrainedAuthorizationEnabled": false - }, - "properties": { - "AuthorizationStrategy": { - "enum": [ - "SMART_ON_FHIR_V1", - "AWS_AUTH" - ], - "type": "string" - }, - "FineGrainedAuthorizationEnabled": { - "type": "boolean" - }, - "IdpLambdaArn": { - "maxLength": 256, - "minLength": 49, - "pattern": "arn:aws[-a-z]*:lambda:[a-z]{2}-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9\\-_\\.]+(:(\\$LATEST|[a-zA-Z0-9\\-_]+))?", - "type": "string" - }, - "Metadata": { - "type": "string" - } - }, - "required": [ - "AuthorizationStrategy" - ], - "type": "object" - }, - "KmsEncryptionConfig": { - "additionalProperties": false, - "properties": { - "CmkType": { - "enum": [ - "CUSTOMER_MANAGED_KMS_KEY", - "AWS_OWNED_KMS_KEY" - ], - "type": "string" - }, - "KmsKeyId": { - "maxLength": 400, - "minLength": 1, - "pattern": "(arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:kms:)?([a-z]{2}-[a-z]+(-[a-z]+)?-\\d:)?(\\d{12}:)?(((key/)?[a-zA-Z0-9-_]+)|(alias/[a-zA-Z0-9:/_-]+))", - "type": "string" - } - }, - "required": [ - "CmkType" - ], - "type": "object" - }, - "PreloadDataConfig": { - "additionalProperties": false, - "properties": { - "PreloadDataType": { - "enum": [ - "SYNTHEA" - ], - "type": "string" - } - }, - "required": [ - "PreloadDataType" - ], - "type": "object" - }, - "SseConfiguration": { - "additionalProperties": false, - "default": { - "KmsEncryptionConfig": { - "CmkType": "AWS_OWNED_KMS_KEY" - } - }, - "properties": { - "KmsEncryptionConfig": { - "$ref": "#/definitions/KmsEncryptionConfig" - } - }, - "required": [ - "KmsEncryptionConfig" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "documentationUrl": "https://docs.aws.amazon.com/healthlake/latest/devguide/working-with-FHIR-healthlake.html", - "primaryIdentifier": [ - "/properties/DatastoreId" - ], - "properties": { - "CreatedAt": { - "$ref": "#/definitions/CreatedAt" - }, - "DatastoreArn": { - "$ref": "#/definitions/DatastoreArn" - }, - "DatastoreEndpoint": { - "$ref": "#/definitions/DatastoreEndpoint" - }, - "DatastoreId": { - "$ref": "#/definitions/DatastoreId" - }, - "DatastoreName": { - "$ref": "#/definitions/DatastoreName" - }, - "DatastoreStatus": { - "$ref": "#/definitions/DatastoreStatus" - }, - "DatastoreTypeVersion": { - "$ref": "#/definitions/DatastoreTypeVersion" - }, - "IdentityProviderConfiguration": { - "$ref": "#/definitions/IdentityProviderConfiguration" - }, - "PreloadDataConfig": { - "$ref": "#/definitions/PreloadDataConfig" - }, - "SseConfiguration": { - "$ref": "#/definitions/SseConfiguration" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/CreatedAt", - "/properties/DatastoreArn", - "/properties/DatastoreEndpoint", - "/properties/DatastoreId", - "/properties/DatastoreStatus" - ], - "required": [ - "DatastoreTypeVersion" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::HealthLake::FHIRDatastore" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-accesspolicy.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-accesspolicy.json deleted file mode 100644 index e91d24809d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_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_south_1/aws-iotsitewise-dashboard.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-dashboard.json deleted file mode 100644 index 01c4c449d0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/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_south_1/aws-iotsitewise-project.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-iotsitewise-project.json deleted file mode 100644 index 7bf5e1f469..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/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_south_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-m2-environment.json new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-memorydb-cluster.json deleted file mode 100644 index cba3a3f129..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_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/ap_south_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-workspaces-workspacespool.json new file mode 100644 index 0000000000..19c638ca23 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-workspaces-workspacespool.json @@ -0,0 +1,158 @@ +{ + "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 44c39cf021..53d2f55f4d 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_2/__init__.py @@ -793,7 +793,6 @@ "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", @@ -875,7 +874,6 @@ "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", @@ -1080,12 +1078,8 @@ "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-mediaconnect-flow.json", "aws-mediaconnect-flowentitlement.json", "aws-mediaconnect-flowoutput.json", @@ -1139,7 +1133,6 @@ "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", @@ -1147,7 +1140,6 @@ "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", 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 new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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 new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_2/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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_southeast_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py index 504b106454..5108f8b92d 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/__init__.py @@ -661,6 +661,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -776,6 +777,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::LookoutMetrics::Alert", "AWS::LookoutMetrics::AnomalyDetector", "AWS::M2::Application", @@ -840,6 +842,7 @@ "AWS::MediaTailor::VodSource", "AWS::MemoryDB::ACL", "AWS::MemoryDB::Cluster", + "AWS::MemoryDB::MultiRegionCluster", "AWS::MemoryDB::ParameterGroup", "AWS::MemoryDB::SubnetGroup", "AWS::MemoryDB::User", @@ -861,6 +864,7 @@ "AWS::NetworkManager::CoreNetwork", "AWS::NetworkManager::CustomerGatewayAssociation", "AWS::NetworkManager::Device", + "AWS::NetworkManager::DirectConnectGatewayAttachment", "AWS::NetworkManager::GlobalNetwork", "AWS::NetworkManager::Link", "AWS::NetworkManager::LinkAssociation", @@ -1037,6 +1041,8 @@ "AWS::S3::MultiRegionAccessPointPolicy", "AWS::S3::StorageLens", "AWS::S3::StorageLensGroup", + "AWS::S3Express::BucketPolicy", + "AWS::S3Express::DirectoryBucket", "AWS::S3ObjectLambda::AccessPoint", "AWS::S3ObjectLambda::AccessPointPolicy", "AWS::S3Outposts::AccessPoint", @@ -1532,6 +1538,7 @@ "aws-connect-phonenumber.json", "aws-connect-predefinedattribute.json", "aws-connect-prompt.json", + "aws-connect-queue.json", "aws-connect-quickconnect.json", "aws-connect-routingprofile.json", "aws-connect-rule.json", @@ -1744,6 +1751,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", @@ -1909,6 +1917,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1935,9 +1944,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", @@ -1948,6 +1960,7 @@ "aws-kafkaconnect-workerconfiguration.json", "aws-kendra-datasource.json", "aws-kendra-faq.json", + "aws-kendra-index.json", "aws-kendraranking-executionplan.json", "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", @@ -2019,6 +2032,7 @@ "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", @@ -2043,7 +2057,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", @@ -2073,6 +2086,8 @@ "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", "aws-memorydb-user.json", @@ -2099,6 +2114,7 @@ "aws-networkmanager-corenetwork.json", "aws-networkmanager-customergatewayassociation.json", "aws-networkmanager-device.json", + "aws-networkmanager-directconnectgatewayattachment.json", "aws-networkmanager-globalnetwork.json", "aws-networkmanager-link.json", "aws-networkmanager-linkassociation.json", @@ -2270,6 +2286,8 @@ "aws-s3-multiregionaccesspointpolicy.json", "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", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-connect-queue.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-connect-queue.json deleted file mode 100644 index 0c823321dc..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-connect-queue.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "OutboundCallerConfig": { - "additionalProperties": false, - "properties": { - "OutboundCallerIdName": { - "$ref": "#/definitions/OutboundCallerIdName" - }, - "OutboundCallerIdNumberArn": { - "$ref": "#/definitions/OutboundCallerIdNumberArn" - }, - "OutboundFlowArn": { - "$ref": "#/definitions/OutboundFlowArn" - } - }, - "type": "object" - }, - "OutboundCallerIdName": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "OutboundCallerIdNumberArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:phone-number/[-a-zA-Z0-9]*$", - "type": "string" - }, - "OutboundEmailAddressId": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/email-address/[-a-zA-Z0-9]*$", - "type": "string" - }, - "OutboundEmailConfig": { - "additionalProperties": false, - "properties": { - "OutboundEmailAddressId": { - "$ref": "#/definitions/OutboundEmailAddressId" - } - }, - "type": "object" - }, - "OutboundFlowArn": { - "maxLength": 500, - "minLength": 1, - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$", - "type": "string" - }, - "QuickConnectArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/transfer-destination/[-a-zA-Z0-9]*$", - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/Key" - }, - "Value": { - "$ref": "#/definitions/Value" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/QueueArn" - ], - "properties": { - "Description": { - "maxLength": 250, - "minLength": 1, - "type": "string" - }, - "HoursOfOperationArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/operating-hours/[-a-zA-Z0-9]*$", - "type": "string" - }, - "InstanceArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$", - "type": "string" - }, - "MaxContacts": { - "minimum": 0, - "type": "integer" - }, - "Name": { - "maxLength": 127, - "minLength": 1, - "type": "string" - }, - "OutboundCallerConfig": { - "$ref": "#/definitions/OutboundCallerConfig" - }, - "OutboundEmailConfig": { - "$ref": "#/definitions/OutboundEmailConfig" - }, - "QueueArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/queue/[-a-zA-Z0-9]*$", - "type": "string" - }, - "QuickConnectArns": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/QuickConnectArn" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - }, - "Status": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - }, - "Type": { - "enum": [ - "STANDARD", - "AGENT" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/QueueArn", - "/properties/Type" - ], - "required": [ - "InstanceArn", - "HoursOfOperationArn", - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Connect::Queue" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-elasticache-serverlesscache.json deleted file mode 100644 index 3b7cde6c66..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_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/ap_southeast_1/aws-iotsitewise-accesspolicy.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-accesspolicy.json deleted file mode 100644 index e91d24809d..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_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_southeast_1/aws-iotsitewise-dashboard.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-dashboard.json deleted file mode 100644 index 01c4c449d0..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/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_southeast_1/aws-iotsitewise-project.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-iotsitewise-project.json deleted file mode 100644 index 7bf5e1f469..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/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_southeast_1/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-kendra-index.json deleted file mode 100644 index 1dfc2d6d88..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-kendra-index.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Edition", - "/properties/ServerSideEncryptionConfiguration" - ], - "definitions": { - "Arn": { - "maxLength": 1000, - "type": "string" - }, - "CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "$ref": "#/definitions/QueryCapacityUnits" - }, - "StorageCapacityUnits": { - "$ref": "#/definitions/StorageCapacityUnits" - } - }, - "required": [ - "StorageCapacityUnits", - "QueryCapacityUnits" - ], - "type": "object" - }, - "ClaimRegex": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Description": { - "maxLength": 1000, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "DocumentAttributeValueType": { - "enum": [ - "STRING_VALUE", - "STRING_LIST_VALUE", - "LONG_VALUE", - "DATE_VALUE" - ], - "type": "string" - }, - "DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "$ref": "#/definitions/DocumentMetadataConfigurationName" - }, - "Relevance": { - "$ref": "#/definitions/Relevance" - }, - "Search": { - "$ref": "#/definitions/Search" - }, - "Type": { - "$ref": "#/definitions/DocumentAttributeValueType" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "DocumentMetadataConfigurationList": { - "items": { - "$ref": "#/definitions/DocumentMetadataConfiguration" - }, - "maxItems": 500, - "type": "array" - }, - "DocumentMetadataConfigurationName": { - "maxLength": 30, - "minLength": 1, - "type": "string" - }, - "Duration": { - "maxLength": 10, - "minLength": 1, - "pattern": "[0-9]+[s]", - "type": "string" - }, - "Edition": { - "enum": [ - "DEVELOPER_EDITION", - "ENTERPRISE_EDITION" - ], - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "GroupAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Id": { - "maxLength": 36, - "minLength": 36, - "type": "string" - }, - "Importance": { - "maximum": 10, - "minimum": 1, - "type": "integer" - }, - "Issuer": { - "maxLength": 65, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "JsonTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "UserNameAttributeField", - "GroupAttributeField" - ], - "type": "object" - }, - "JwtTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "ClaimRegex": { - "$ref": "#/definitions/ClaimRegex" - }, - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "Issuer": { - "$ref": "#/definitions/Issuer" - }, - "KeyLocation": { - "$ref": "#/definitions/KeyLocation" - }, - "SecretManagerArn": { - "$ref": "#/definitions/RoleArn" - }, - "URL": { - "$ref": "#/definitions/Url" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "KeyLocation" - ], - "type": "object" - }, - "KeyLocation": { - "enum": [ - "URL", - "SECRET_MANAGER" - ], - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 1000, - "minLength": 1, - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", - "type": "string" - }, - "Order": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - }, - "QueryCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "$ref": "#/definitions/Duration" - }, - "Freshness": { - "$ref": "#/definitions/Freshness" - }, - "Importance": { - "$ref": "#/definitions/Importance" - }, - "RankOrder": { - "$ref": "#/definitions/Order" - }, - "ValueImportanceItems": { - "$ref": "#/definitions/ValueImportanceItems" - } - }, - "type": "object" - }, - "RoleArn": { - "maxLength": 1284, - "minLength": 1, - "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", - "type": "string" - }, - "Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "$ref": "#/definitions/KmsKeyId" - } - }, - "type": "object" - }, - "StorageCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "type": "array" - }, - "Url": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)", - "type": "string" - }, - "UserContextPolicy": { - "enum": [ - "ATTRIBUTE_FILTER", - "USER_TOKEN" - ], - "type": "string" - }, - "UserNameAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "UserTokenConfiguration": { - "additionalProperties": false, - "properties": { - "JsonTokenTypeConfiguration": { - "$ref": "#/definitions/JsonTokenTypeConfiguration" - }, - "JwtTokenTypeConfiguration": { - "$ref": "#/definitions/JwtTokenTypeConfiguration" - } - }, - "type": "object" - }, - "UserTokenConfigurationList": { - "items": { - "$ref": "#/definitions/UserTokenConfiguration" - }, - "maxItems": 1, - "type": "array" - }, - "ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/ValueImportanceItemKey" - }, - "Value": { - "$ref": "#/definitions/Importance" - } - }, - "type": "object" - }, - "ValueImportanceItemKey": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/ValueImportanceItem" - }, - "type": "array" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "CapacityUnits": { - "$ref": "#/definitions/CapacityUnitsConfiguration" - }, - "Description": { - "$ref": "#/definitions/Description" - }, - "DocumentMetadataConfigurations": { - "$ref": "#/definitions/DocumentMetadataConfigurationList" - }, - "Edition": { - "$ref": "#/definitions/Edition" - }, - "Id": { - "$ref": "#/definitions/Id" - }, - "Name": { - "$ref": "#/definitions/Name" - }, - "RoleArn": { - "$ref": "#/definitions/RoleArn" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/ServerSideEncryptionConfiguration" - }, - "Tags": { - "$ref": "#/definitions/TagList" - }, - "UserContextPolicy": { - "$ref": "#/definitions/UserContextPolicy" - }, - "UserTokenConfigurations": { - "$ref": "#/definitions/UserTokenConfigurationList" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name", - "RoleArn", - "Edition" - ], - "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html", - "typeName": "AWS::Kendra::Index" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-medialive-channelplacementgroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-medialive-channelplacementgroup.json new file mode 100644 index 0000000000..bfa12294fa --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-medialive-channelplacementgroup.json @@ -0,0 +1,88 @@ +{ + "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-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_1/aws-memorydb-cluster.json deleted file mode 100644 index cba3a3f129..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_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/ap_southeast_2/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py index 1dce9d3c22..9b07f89c67 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/__init__.py @@ -670,6 +670,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -799,6 +800,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::LookoutMetrics::Alert", "AWS::LookoutMetrics::AnomalyDetector", "AWS::M2::Application", @@ -861,6 +863,7 @@ "AWS::MediaTailor::VodSource", "AWS::MemoryDB::ACL", "AWS::MemoryDB::Cluster", + "AWS::MemoryDB::MultiRegionCluster", "AWS::MemoryDB::ParameterGroup", "AWS::MemoryDB::SubnetGroup", "AWS::MemoryDB::User", @@ -880,6 +883,7 @@ "AWS::NetworkManager::CoreNetwork", "AWS::NetworkManager::CustomerGatewayAssociation", "AWS::NetworkManager::Device", + "AWS::NetworkManager::DirectConnectGatewayAttachment", "AWS::NetworkManager::GlobalNetwork", "AWS::NetworkManager::Link", "AWS::NetworkManager::LinkAssociation", @@ -1310,6 +1314,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", @@ -1468,6 +1473,7 @@ "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", @@ -1947,6 +1953,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -2004,6 +2011,7 @@ "aws-kafkaconnect-workerconfiguration.json", "aws-kendra-datasource.json", "aws-kendra-faq.json", + "aws-kendra-index.json", "aws-kendraranking-executionplan.json", "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", @@ -2074,11 +2082,11 @@ "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", "aws-m2-deployment.json", - "aws-m2-environment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -2127,6 +2135,8 @@ "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", "aws-memorydb-user.json", @@ -2151,6 +2161,7 @@ "aws-networkmanager-corenetwork.json", "aws-networkmanager-customergatewayassociation.json", "aws-networkmanager-device.json", + "aws-networkmanager-directconnectgatewayattachment.json", "aws-networkmanager-globalnetwork.json", "aws-networkmanager-link.json", "aws-networkmanager-linkassociation.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_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_southeast_2/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-kendra-index.json deleted file mode 100644 index 1dfc2d6d88..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-kendra-index.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Edition", - "/properties/ServerSideEncryptionConfiguration" - ], - "definitions": { - "Arn": { - "maxLength": 1000, - "type": "string" - }, - "CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "$ref": "#/definitions/QueryCapacityUnits" - }, - "StorageCapacityUnits": { - "$ref": "#/definitions/StorageCapacityUnits" - } - }, - "required": [ - "StorageCapacityUnits", - "QueryCapacityUnits" - ], - "type": "object" - }, - "ClaimRegex": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Description": { - "maxLength": 1000, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "DocumentAttributeValueType": { - "enum": [ - "STRING_VALUE", - "STRING_LIST_VALUE", - "LONG_VALUE", - "DATE_VALUE" - ], - "type": "string" - }, - "DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "$ref": "#/definitions/DocumentMetadataConfigurationName" - }, - "Relevance": { - "$ref": "#/definitions/Relevance" - }, - "Search": { - "$ref": "#/definitions/Search" - }, - "Type": { - "$ref": "#/definitions/DocumentAttributeValueType" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "DocumentMetadataConfigurationList": { - "items": { - "$ref": "#/definitions/DocumentMetadataConfiguration" - }, - "maxItems": 500, - "type": "array" - }, - "DocumentMetadataConfigurationName": { - "maxLength": 30, - "minLength": 1, - "type": "string" - }, - "Duration": { - "maxLength": 10, - "minLength": 1, - "pattern": "[0-9]+[s]", - "type": "string" - }, - "Edition": { - "enum": [ - "DEVELOPER_EDITION", - "ENTERPRISE_EDITION" - ], - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "GroupAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Id": { - "maxLength": 36, - "minLength": 36, - "type": "string" - }, - "Importance": { - "maximum": 10, - "minimum": 1, - "type": "integer" - }, - "Issuer": { - "maxLength": 65, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "JsonTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "UserNameAttributeField", - "GroupAttributeField" - ], - "type": "object" - }, - "JwtTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "ClaimRegex": { - "$ref": "#/definitions/ClaimRegex" - }, - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "Issuer": { - "$ref": "#/definitions/Issuer" - }, - "KeyLocation": { - "$ref": "#/definitions/KeyLocation" - }, - "SecretManagerArn": { - "$ref": "#/definitions/RoleArn" - }, - "URL": { - "$ref": "#/definitions/Url" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "KeyLocation" - ], - "type": "object" - }, - "KeyLocation": { - "enum": [ - "URL", - "SECRET_MANAGER" - ], - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 1000, - "minLength": 1, - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", - "type": "string" - }, - "Order": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - }, - "QueryCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "$ref": "#/definitions/Duration" - }, - "Freshness": { - "$ref": "#/definitions/Freshness" - }, - "Importance": { - "$ref": "#/definitions/Importance" - }, - "RankOrder": { - "$ref": "#/definitions/Order" - }, - "ValueImportanceItems": { - "$ref": "#/definitions/ValueImportanceItems" - } - }, - "type": "object" - }, - "RoleArn": { - "maxLength": 1284, - "minLength": 1, - "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", - "type": "string" - }, - "Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "$ref": "#/definitions/KmsKeyId" - } - }, - "type": "object" - }, - "StorageCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "type": "array" - }, - "Url": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)", - "type": "string" - }, - "UserContextPolicy": { - "enum": [ - "ATTRIBUTE_FILTER", - "USER_TOKEN" - ], - "type": "string" - }, - "UserNameAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "UserTokenConfiguration": { - "additionalProperties": false, - "properties": { - "JsonTokenTypeConfiguration": { - "$ref": "#/definitions/JsonTokenTypeConfiguration" - }, - "JwtTokenTypeConfiguration": { - "$ref": "#/definitions/JwtTokenTypeConfiguration" - } - }, - "type": "object" - }, - "UserTokenConfigurationList": { - "items": { - "$ref": "#/definitions/UserTokenConfiguration" - }, - "maxItems": 1, - "type": "array" - }, - "ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/ValueImportanceItemKey" - }, - "Value": { - "$ref": "#/definitions/Importance" - } - }, - "type": "object" - }, - "ValueImportanceItemKey": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/ValueImportanceItem" - }, - "type": "array" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "CapacityUnits": { - "$ref": "#/definitions/CapacityUnitsConfiguration" - }, - "Description": { - "$ref": "#/definitions/Description" - }, - "DocumentMetadataConfigurations": { - "$ref": "#/definitions/DocumentMetadataConfigurationList" - }, - "Edition": { - "$ref": "#/definitions/Edition" - }, - "Id": { - "$ref": "#/definitions/Id" - }, - "Name": { - "$ref": "#/definitions/Name" - }, - "RoleArn": { - "$ref": "#/definitions/RoleArn" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/ServerSideEncryptionConfiguration" - }, - "Tags": { - "$ref": "#/definitions/TagList" - }, - "UserContextPolicy": { - "$ref": "#/definitions/UserContextPolicy" - }, - "UserTokenConfigurations": { - "$ref": "#/definitions/UserTokenConfigurationList" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name", - "RoleArn", - "Edition" - ], - "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html", - "typeName": "AWS::Kendra::Index" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-m2-environment.json new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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_southeast_2/aws-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/ap_southeast_2/aws-memorydb-cluster.json deleted file mode 100644 index cba3a3f129..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_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_southeast_3/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py index 5303686a39..85a1875547 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/__init__.py @@ -707,6 +707,7 @@ "AWS::StepFunctions::StateMachineVersion", "AWS::Synthetics::Canary", "AWS::SystemsManagerSAP::Application", + "AWS::Timestream::InfluxDBInstance", "AWS::Transfer::Agreement", "AWS::Transfer::Certificate", "AWS::Transfer::Connector", @@ -865,7 +866,6 @@ "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,7 +945,6 @@ "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", @@ -1180,12 +1179,8 @@ "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-msk-batchscramsecret.json", "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", @@ -1223,7 +1218,6 @@ "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", @@ -1240,7 +1234,6 @@ "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", @@ -1267,6 +1260,7 @@ "aws-redshift-integration.json", "aws-redshift-scheduledaction.json", "aws-redshiftserverless-namespace.json", + "aws-redshiftserverless-workgroup.json", "aws-resourceexplorer2-defaultviewassociation.json", "aws-resourceexplorer2-index.json", "aws-resourceexplorer2-view.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 new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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 new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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_southeast_3/aws-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-timestream-influxdbinstance.json new file mode 100644 index 0000000000..3cd225dc53 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_3/aws-timestream-influxdbinstance.json @@ -0,0 +1,236 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket", + "/properties/VpcSubnetIds", + "/properties/VpcSecurityGroupIds", + "/properties/PubliclyAccessible", + "/properties/DbStorageType", + "/properties/AllocatedStorage" + ], + "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/Id" + ], + "properties": { + "AllocatedStorage": { + "maximum": 16384, + "minimum": 20, + "type": "integer" + }, + "Arn": { + "maxLength": 1011, + "minLength": 1, + "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$", + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Bucket": { + "maxLength": 64, + "minLength": 2, + "pattern": "^[^_][^\"]*$", + "type": "string" + }, + "DbInstanceType": { + "enum": [ + "db.influx.medium", + "db.influx.large", + "db.influx.xlarge", + "db.influx.2xlarge", + "db.influx.4xlarge", + "db.influx.8xlarge", + "db.influx.12xlarge", + "db.influx.16xlarge" + ], + "type": "string" + }, + "DbParameterGroupIdentifier": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "DbStorageType": { + "enum": [ + "InfluxIOIncludedT1", + "InfluxIOIncludedT2", + "InfluxIOIncludedT3" + ], + "type": "string" + }, + "DeploymentType": { + "enum": [ + "SINGLE_AZ", + "WITH_MULTIAZ_STANDBY" + ], + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "InfluxAuthParametersSecretArn": { + "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*", + "type": "string" + }, + "LogDeliveryConfiguration": { + "additionalProperties": false, + "properties": { + "S3Configuration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$", + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled", + "BucketName" + ], + "type": "object" + } + }, + "required": [ + "S3Configuration" + ], + "type": "object" + }, + "Name": { + "maxLength": 40, + "minLength": 3, + "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$", + "type": "string" + }, + "Organization": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "Password": { + "maxLength": 64, + "minLength": 8, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "Port": { + "maximum": 65535, + "minimum": 1024, + "type": "integer" + }, + "PubliclyAccessible": { + "default": false, + "type": "boolean" + }, + "SecondaryAvailabilityZone": { + "type": "string" + }, + "Status": { + "enum": [ + "CREATING", + "AVAILABLE", + "DELETING", + "MODIFYING", + "UPDATING", + "UPDATING_DEPLOYMENT_TYPE", + "UPDATING_INSTANCE_TYPE", + "DELETED", + "FAILED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Username": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "VpcSubnetIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Status", + "/properties/Arn", + "/properties/Id", + "/properties/AvailabilityZone", + "/properties/Endpoint", + "/properties/SecondaryAvailabilityZone", + "/properties/InfluxAuthParametersSecretArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Timestream::InfluxDBInstance", + "writeOnlyProperties": [ + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket" + ] +} 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 940e3058d6..2548777199 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/__init__.py @@ -590,6 +590,7 @@ "AWS::SSO::Instance", "AWS::SSO::InstanceAccessControlAttributeConfiguration", "AWS::SSO::PermissionSet", + "AWS::SageMaker::Cluster", "AWS::SageMaker::MlflowTrackingServer", "AWS::SageMaker::ModelCard", "AWS::Scheduler::Schedule", @@ -786,7 +787,6 @@ "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,7 +864,6 @@ "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", @@ -961,7 +960,7 @@ "aws-elasticache-replicationgroup.json", "aws-elasticache-securitygroup.json", "aws-elasticache-securitygroupingress.json", - "aws-elasticache-usergroup.json", + "aws-elasticache-user.json", "aws-elasticloadbalancing-loadbalancer.json", "aws-elasticloadbalancingv2-listener.json", "aws-elasticloadbalancingv2-listenercertificate.json", @@ -1066,12 +1065,8 @@ "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-mediaconnect-flow.json", "aws-mediaconnect-flowentitlement.json", "aws-mediaconnect-flowoutput.json", @@ -1129,14 +1124,12 @@ "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", "aws-pcaconnectorscep-challenge.json", "aws-pcaconnectorscep-connector.json", "aws-ram-permission.json", - "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", @@ -1197,6 +1190,7 @@ "aws-s3-bucketpolicy.json", "aws-s3objectlambda-accesspoint.json", "aws-s3objectlambda-accesspointpolicy.json", + "aws-sagemaker-cluster.json", "aws-sagemaker-mlflowtrackingserver.json", "aws-sagemaker-modelcard.json", "aws-scheduler-schedule.json", 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 new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-elasticache-user.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-usergroup.json similarity index 55% rename from src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-user.json rename to src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-usergroup.json index a4c607e235..bb45c6266f 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-user.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-elasticache-usergroup.json @@ -1,9 +1,7 @@ { "additionalProperties": false, "createOnlyProperties": [ - "/properties/UserId", - "/properties/UserName", - "/properties/Engine" + "/properties/UserGroupId" ], "definitions": { "Tag": { @@ -29,60 +27,19 @@ } }, "primaryIdentifier": [ - "/properties/UserId" + "/properties/UserGroupId" ], "properties": { - "AccessString": { - "pattern": ".*\\S.*", - "type": "string" - }, "Arn": { "type": "string" }, - "AuthenticationMode": { - "additionalProperties": false, - "properties": { - "Passwords": { - "$comment": "List of passwords.", - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Type": { - "enum": [ - "password", - "no-password-required", - "iam" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "Engine": { "enum": [ - "redis" + "redis", + "valkey" ], "type": "string" }, - "NoPasswordRequired": { - "type": "boolean" - }, - "Passwords": { - "$comment": "List of passwords.", - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, "Status": { "type": "string" }, @@ -95,12 +52,19 @@ "type": "array", "uniqueItems": true }, - "UserId": { + "UserGroupId": { "pattern": "[a-z][a-z0-9\\\\-]*", "type": "string" }, - "UserName": { - "type": "string" + "UserIds": { + "$comment": "List of users.", + "insertionOrder": false, + "items": { + "pattern": "[a-zA-Z][a-zA-Z0-9\\-]*", + "type": "string" + }, + "type": "array", + "uniqueItems": true } }, "readOnlyProperties": [ @@ -108,9 +72,9 @@ "/properties/Arn" ], "required": [ - "UserId", - "UserName", - "Engine" + "UserGroupId", + "Engine", + "UserIds" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticache", "tagging": { @@ -120,11 +84,5 @@ "tagUpdatable": true, "taggable": true }, - "typeName": "AWS::ElastiCache::User", - "writeOnlyProperties": [ - "/properties/Passwords", - "/properties/NoPasswordRequired", - "/properties/AccessString", - "/properties/AuthenticationMode" - ] + "typeName": "AWS::ElastiCache::UserGroup" } 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 new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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 new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_4/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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_southeast_5/__init__.py b/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py index f8e6917a1e..719c3fcd11 100644 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/__init__.py @@ -303,6 +303,11 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::MSK::BatchScramSecret", + "AWS::MSK::Cluster", + "AWS::MSK::ClusterPolicy", + "AWS::MSK::Configuration", + "AWS::MSK::VpcConnection", "AWS::Oam::Link", "AWS::Oam::Sink", "AWS::OpenSearchService::Domain", @@ -423,6 +428,22 @@ "aws-acmpca-certificateauthority.json", "aws-acmpca-certificateauthorityactivation.json", "aws-acmpca-permission.json", + "aws-apigateway-account.json", + "aws-apigateway-apikey.json", + "aws-apigateway-authorizer.json", + "aws-apigateway-basepathmapping.json", + "aws-apigateway-clientcertificate.json", + "aws-apigateway-deployment.json", + "aws-apigateway-documentationpart.json", + "aws-apigateway-documentationversion.json", + "aws-apigateway-gatewayresponse.json", + "aws-apigateway-method.json", + "aws-apigateway-model.json", + "aws-apigateway-requestvalidator.json", + "aws-apigateway-resource.json", + "aws-apigateway-stage.json", + "aws-apigateway-usageplan.json", + "aws-apigateway-usageplankey.json", "aws-appconfig-application.json", "aws-appconfig-configurationprofile.json", "aws-appconfig-deployment.json", @@ -454,7 +475,6 @@ "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", @@ -490,7 +510,6 @@ "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", @@ -561,7 +580,6 @@ "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", @@ -640,12 +658,13 @@ "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", + "aws-msk-configuration.json", + "aws-msk-vpcconnection.json", "aws-oam-link.json", "aws-oam-sink.json", "aws-opsworks-app.json", @@ -655,10 +674,8 @@ "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-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-account.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-account.json deleted file mode 100644 index e732339968..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-account.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "CloudWatchRoleArn": { - "type": "string" - }, - "Id": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "typeName": "AWS::ApiGateway::Account" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-authorizer.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-authorizer.json deleted file mode 100644 index 00c9ef18d2..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-authorizer.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/RestApiId" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AuthType": { - "type": "string" - }, - "AuthorizerCredentials": { - "type": "string" - }, - "AuthorizerResultTtlInSeconds": { - "maximum": 3600, - "minimum": 0, - "type": "integer" - }, - "AuthorizerUri": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "IdentitySource": { - "type": "string" - }, - "IdentityValidationExpression": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProviderARNs": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "RestApiId": { - "type": "string" - }, - "Type": { - "enum": [ - "COGNITO_USER_POOLS", - "REQUEST", - "TOKEN" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Type", - "RestApiId" - ], - "typeName": "AWS::ApiGateway::Authorizer" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-basepathmapping.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-basepathmapping.json deleted file mode 100644 index 666e165a19..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-basepathmapping.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/BasePath", - "/properties/DomainName" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "BasePath": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "Stage": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "DomainName" - ], - "typeName": "AWS::ApiGateway::BasePathMapping" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-clientcertificate.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-clientcertificate.json deleted file mode 100644 index b25e87f3ca..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-clientcertificate.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "additionalProperties": false, - "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" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "typeName": "AWS::ApiGateway::ClientCertificate" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-deployment.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-deployment.json deleted file mode 100644 index b5914105d7..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-deployment.json +++ /dev/null @@ -1,219 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DeploymentCanarySettings", - "/properties/RestApiId" - ], - "definitions": { - "AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "CanarySetting": { - "additionalProperties": false, - "properties": { - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "DeploymentCanarySettings": { - "additionalProperties": false, - "properties": { - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "MethodSetting": { - "additionalProperties": false, - "properties": { - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "integer" - }, - "CachingEnabled": { - "type": "boolean" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "HttpMethod": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "ResourcePath": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "integer" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "StageDescription": { - "additionalProperties": false, - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AccessLogSetting" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "integer" - }, - "CachingEnabled": { - "type": "boolean" - }, - "CanarySetting": { - "$ref": "#/definitions/CanarySetting" - }, - "ClientCertificateId": { - "type": "string" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/MethodSetting" - }, - "type": "array", - "uniqueItems": true - }, - "MetricsEnabled": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "ThrottlingBurstLimit": { - "type": "integer" - }, - "ThrottlingRateLimit": { - "type": "number" - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "DeploymentCanarySettings": { - "$ref": "#/definitions/DeploymentCanarySettings" - }, - "Description": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "StageDescription": { - "$ref": "#/definitions/StageDescription" - }, - "StageName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "RestApiId" - ], - "typeName": "AWS::ApiGateway::Deployment" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationpart.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationpart.json deleted file mode 100644 index bba1617735..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationpart.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Location", - "/properties/RestApiId" - ], - "definitions": { - "Location": { - "additionalProperties": false, - "properties": { - "Method": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "StatusCode": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Id": { - "type": "string" - }, - "Location": { - "$ref": "#/definitions/Location" - }, - "Properties": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "RestApiId", - "Properties", - "Location" - ], - "typeName": "AWS::ApiGateway::DocumentationPart" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationversion.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationversion.json deleted file mode 100644 index d804c67001..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-documentationversion.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DocumentationVersion", - "/properties/RestApiId" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "DocumentationVersion", - "RestApiId" - ], - "typeName": "AWS::ApiGateway::DocumentationVersion" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-gatewayresponse.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-gatewayresponse.json deleted file mode 100644 index bbef4e34b6..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-gatewayresponse.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ResponseType", - "/properties/RestApiId" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Id": { - "type": "string" - }, - "ResponseParameters": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseTemplates": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseType": { - "enum": [ - "ACCESS_DENIED", - "API_CONFIGURATION_ERROR", - "AUTHORIZER_CONFIGURATION_ERROR", - "AUTHORIZER_FAILURE", - "BAD_REQUEST_BODY", - "BAD_REQUEST_PARAMETERS", - "DEFAULT_4XX", - "DEFAULT_5XX", - "EXPIRED_TOKEN", - "INTEGRATION_FAILURE", - "INTEGRATION_TIMEOUT", - "INVALID_API_KEY", - "INVALID_SIGNATURE", - "MISSING_AUTHENTICATION_TOKEN", - "QUOTA_EXCEEDED", - "REQUEST_TOO_LARGE", - "RESOURCE_NOT_FOUND", - "THROTTLED", - "UNAUTHORIZED", - "UNSUPPORTED_MEDIA_TYPE", - "WAF_FILTERED" - ], - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "RestApiId", - "ResponseType" - ], - "typeName": "AWS::ApiGateway::GatewayResponse" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-method.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-method.json deleted file mode 100644 index 8ba3c83b57..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-method.json +++ /dev/null @@ -1,207 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "Integration": { - "additionalProperties": false, - "properties": { - "CacheKeyParameters": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "CacheNamespace": { - "type": "string" - }, - "ConnectionId": { - "type": "string" - }, - "ConnectionType": { - "type": "string" - }, - "ContentHandling": { - "type": "string" - }, - "Credentials": { - "type": "string" - }, - "IntegrationHttpMethod": { - "type": "string" - }, - "IntegrationResponses": { - "items": { - "$ref": "#/definitions/IntegrationResponse" - }, - "type": "array", - "uniqueItems": true - }, - "PassthroughBehavior": { - "type": "string" - }, - "RequestParameters": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "RequestTemplates": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "TimeoutInMillis": { - "type": "integer" - }, - "Type": { - "type": "string" - }, - "Uri": { - "type": "string" - } - }, - "type": "object" - }, - "IntegrationResponse": { - "additionalProperties": false, - "properties": { - "ContentHandling": { - "type": "string" - }, - "ResponseParameters": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseTemplates": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "SelectionPattern": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "MethodResponse": { - "additionalProperties": false, - "properties": { - "ResponseModels": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseParameters": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "boolean" - } - }, - "type": "object" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "HttpMethod": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Integration": { - "$ref": "#/definitions/Integration" - }, - "MethodResponses": { - "items": { - "$ref": "#/definitions/MethodResponse" - }, - "type": "array", - "uniqueItems": true - }, - "OperationName": { - "type": "string" - }, - "RequestModels": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "RequestParameters": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "boolean" - } - }, - "type": "object" - }, - "RequestValidatorId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "ResourceId", - "RestApiId", - "HttpMethod" - ], - "typeName": "AWS::ApiGateway::Method" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-model.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-model.json deleted file mode 100644 index 9504a897a5..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-model.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/ContentType", - "/properties/RestApiId" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "Schema": { - "format": "json", - "type": [ - "object", - "string" - ] - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "RestApiId" - ], - "typeName": "AWS::ApiGateway::Model" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-requestvalidator.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-requestvalidator.json deleted file mode 100644 index 72238424ed..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-requestvalidator.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name", - "/properties/RestApiId" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "ValidateRequestBody": { - "type": "boolean" - }, - "ValidateRequestParameters": { - "type": "boolean" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "RestApiId" - ], - "typeName": "AWS::ApiGateway::RequestValidator" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-resource.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-resource.json deleted file mode 100644 index 60bfa2b925..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-resource.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PathPart", - "/properties/ParentId", - "/properties/RestApiId" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Id": { - "type": "string" - }, - "ParentId": { - "type": "string" - }, - "PathPart": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "ParentId", - "PathPart", - "RestApiId" - ], - "typeName": "AWS::ApiGateway::Resource" -} 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 index d08152f085..54905e2c8b 100644 --- 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 @@ -50,14 +50,14 @@ } }, "required": [ - "Value", - "Key" + "Key", + "Value" ], "type": "object" } }, "primaryIdentifier": [ - "/properties/Id" + "/properties/RestApiId" ], "properties": { "ApiKeySourceType": { @@ -75,7 +75,6 @@ "uniqueItems": true }, "Body": { - "format": "json", "type": [ "object", "string" @@ -99,9 +98,6 @@ "FailOnWarnings": { "type": "boolean" }, - "Id": { - "type": "string" - }, "MinimumCompressionSize": { "type": "integer" }, @@ -112,20 +108,26 @@ "type": "string" }, "Parameters": { + "additionalProperties": false, "patternProperties": { "[a-zA-Z0-9]+": { "type": "string" } }, - "type": "object" + "type": [ + "object", + "string" + ] }, "Policy": { - "format": "json", "type": [ "object", "string" ] }, + "RestApiId": { + "type": "string" + }, "RootResourceId": { "type": "string" }, @@ -138,8 +140,24 @@ } }, "readOnlyProperties": [ - "/properties/Id", + "/properties/RestApiId", "/properties/RootResourceId" ], - "typeName": "AWS::ApiGateway::RestApi" + "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-apigateway-stage.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-stage.json deleted file mode 100644 index 3e0d7efcb3..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-stage.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/StageName", - "/properties/RestApiId" - ], - "definitions": { - "AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "CanarySetting": { - "additionalProperties": false, - "properties": { - "DeploymentId": { - "type": "string" - }, - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "MethodSetting": { - "additionalProperties": false, - "properties": { - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "integer" - }, - "CachingEnabled": { - "type": "boolean" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "HttpMethod": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "ResourcePath": { - "pattern": "^/.*$", - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "integer" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AccessLogSetting" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CanarySetting": { - "$ref": "#/definitions/CanarySetting" - }, - "ClientCertificateId": { - "type": "string" - }, - "DeploymentId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/MethodSetting" - }, - "type": "array", - "uniqueItems": true - }, - "RestApiId": { - "type": "string" - }, - "StageName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "RestApiId" - ], - "typeName": "AWS::ApiGateway::Stage" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplan.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplan.json deleted file mode 100644 index 8f7200b105..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplan.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "ApiStage": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Stage": { - "type": "string" - }, - "Throttle": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "$ref": "#/definitions/ThrottleSettings" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "QuotaSettings": { - "additionalProperties": false, - "properties": { - "Limit": { - "type": "integer" - }, - "Offset": { - "type": "integer" - }, - "Period": { - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "ThrottleSettings": { - "additionalProperties": false, - "properties": { - "BurstLimit": { - "type": "integer" - }, - "RateLimit": { - "type": "number" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "ApiStages": { - "items": { - "$ref": "#/definitions/ApiStage" - }, - "type": "array", - "uniqueItems": true - }, - "Description": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Quota": { - "$ref": "#/definitions/QuotaSettings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "Throttle": { - "$ref": "#/definitions/ThrottleSettings" - }, - "UsagePlanName": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "typeName": "AWS::ApiGateway::UsagePlan" -} diff --git a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplankey.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplankey.json deleted file mode 100644 index 832cdf2cd8..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-apigateway-usageplankey.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/KeyType", - "/properties/UsagePlanId", - "/properties/KeyId" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Id": { - "type": "string" - }, - "KeyId": { - "type": "string" - }, - "KeyType": { - "enum": [ - "API_KEY" - ], - "type": "string" - }, - "UsagePlanId": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "KeyType", - "UsagePlanId", - "KeyId" - ], - "typeName": "AWS::ApiGateway::UsagePlanKey" -} 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 new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-taskdefinition.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-taskdefinition.json similarity index 99% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-taskdefinition.json rename to src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-taskdefinition.json index 8b9f473363..35c2b1ed93 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-taskdefinition.json +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ecs-taskdefinition.json @@ -4,7 +4,6 @@ "/properties/Family", "/properties/ContainerDefinitions", "/properties/Cpu", - "/properties/EnableFaultInjection", "/properties/ExecutionRoleArn", "/properties/InferenceAccelerators", "/properties/Memory", @@ -934,9 +933,6 @@ "Cpu": { "type": "string" }, - "EnableFaultInjection": { - "type": "boolean" - }, "EphemeralStorage": { "$ref": "#/definitions/EphemeralStorage" }, 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 new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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 new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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_5/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_southeast_5/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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/__init__.py b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py index 8921a6aae7..c1b5bf827b 100644 --- a/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_central_1/__init__.py @@ -587,6 +587,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -1061,6 +1062,7 @@ "AWS::Synthetics::Canary", "AWS::Synthetics::Group", "AWS::SystemsManagerSAP::Application", + "AWS::Timestream::InfluxDBInstance", "AWS::Transfer::Agreement", "AWS::Transfer::Certificate", "AWS::Transfer::Connector", @@ -1076,10 +1078,13 @@ "AWS::VpcLattice::AccessLogSubscription", "AWS::VpcLattice::AuthPolicy", "AWS::VpcLattice::Listener", + "AWS::VpcLattice::ResourceConfiguration", + "AWS::VpcLattice::ResourceGateway", "AWS::VpcLattice::ResourcePolicy", "AWS::VpcLattice::Rule", "AWS::VpcLattice::Service", "AWS::VpcLattice::ServiceNetwork", + "AWS::VpcLattice::ServiceNetworkResourceAssociation", "AWS::VpcLattice::ServiceNetworkServiceAssociation", "AWS::VpcLattice::ServiceNetworkVpcAssociation", "AWS::VpcLattice::TargetGroup", @@ -1303,12 +1308,12 @@ "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", @@ -1472,7 +1477,6 @@ "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", @@ -1613,7 +1617,6 @@ "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", @@ -1714,6 +1717,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1750,6 +1754,7 @@ "aws-kafkaconnect-workerconfiguration.json", "aws-kendra-datasource.json", "aws-kendra-faq.json", + "aws-kendra-index.json", "aws-kendraranking-executionplan.json", "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", @@ -1810,15 +1815,10 @@ "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-m2-application.json", "aws-m2-deployment.json", - "aws-m2-environment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -1861,7 +1861,6 @@ "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", - "aws-msk-replicator.json", "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", @@ -1914,7 +1913,6 @@ "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", @@ -1962,7 +1960,6 @@ "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", @@ -1990,7 +1987,6 @@ "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", @@ -2186,10 +2182,13 @@ "aws-vpclattice-accesslogsubscription.json", "aws-vpclattice-authpolicy.json", "aws-vpclattice-listener.json", + "aws-vpclattice-resourceconfiguration.json", + "aws-vpclattice-resourcegateway.json", "aws-vpclattice-resourcepolicy.json", "aws-vpclattice-rule.json", "aws-vpclattice-service.json", "aws-vpclattice-servicenetwork.json", + "aws-vpclattice-servicenetworkresourceassociation.json", "aws-vpclattice-servicenetworkserviceassociation.json", "aws-vpclattice-servicenetworkvpcassociation.json", "aws-vpclattice-targetgroup.json", @@ -2224,7 +2223,6 @@ "aws-wisdom-messagetemplateversion.json", "aws-workspaces-connectionalias.json", "aws-workspaces-workspace.json", - "aws-workspaces-workspacespool.json", "aws-workspacesthinclient-environment.json", "aws-workspacesweb-browsersettings.json", "aws-workspacesweb-dataprotectionsettings.json", diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudformation-typeactivation.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ExecutionRoleArn", - "/properties/LoggingConfig", - "/properties/TypeNameAlias", - "/properties/TypeName", - "/properties/Type", - "/properties/PublisherId", - "/properties/PublicTypeArn" - ], - "definitions": { - "LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogRoleArn": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "oneOf": [ - { - "required": [ - "TypeName", - "PublisherId", - "Type" - ] - }, - { - "required": [ - "PublicTypeArn" - ] - } - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "AutoUpdate": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/LoggingConfig" - }, - "MajorVersion": { - "maxLength": 100000, - "minLength": 1, - "type": "string" - }, - "PublicTypeArn": { - "maxLength": 1024, - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "PublisherId": { - "maxLength": 40, - "minLength": 1, - "pattern": "[0-9a-zA-Z-]{40}", - "type": "string" - }, - "Type": { - "enum": [ - "RESOURCE", - "MODULE", - "HOOK" - ], - "type": "string" - }, - "TypeName": { - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "TypeNameAlias": { - "maxLength": 204, - "minLength": 10, - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "VersionBump": { - "enum": [ - "MAJOR", - "MINOR" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation", - "typeName": "AWS::CloudFormation::TypeActivation" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudfront-distribution.json new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-emrserverless-application.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-emrserverless-application.json new file mode 100644 index 0000000000..1a44823941 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-emrserverless-application.json @@ -0,0 +1,539 @@ +{ + "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-kendra-index.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-kendra-index.json deleted file mode 100644 index 1dfc2d6d88..0000000000 --- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-kendra-index.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Edition", - "/properties/ServerSideEncryptionConfiguration" - ], - "definitions": { - "Arn": { - "maxLength": 1000, - "type": "string" - }, - "CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "$ref": "#/definitions/QueryCapacityUnits" - }, - "StorageCapacityUnits": { - "$ref": "#/definitions/StorageCapacityUnits" - } - }, - "required": [ - "StorageCapacityUnits", - "QueryCapacityUnits" - ], - "type": "object" - }, - "ClaimRegex": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Description": { - "maxLength": 1000, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "DocumentAttributeValueType": { - "enum": [ - "STRING_VALUE", - "STRING_LIST_VALUE", - "LONG_VALUE", - "DATE_VALUE" - ], - "type": "string" - }, - "DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "$ref": "#/definitions/DocumentMetadataConfigurationName" - }, - "Relevance": { - "$ref": "#/definitions/Relevance" - }, - "Search": { - "$ref": "#/definitions/Search" - }, - "Type": { - "$ref": "#/definitions/DocumentAttributeValueType" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "DocumentMetadataConfigurationList": { - "items": { - "$ref": "#/definitions/DocumentMetadataConfiguration" - }, - "maxItems": 500, - "type": "array" - }, - "DocumentMetadataConfigurationName": { - "maxLength": 30, - "minLength": 1, - "type": "string" - }, - "Duration": { - "maxLength": 10, - "minLength": 1, - "pattern": "[0-9]+[s]", - "type": "string" - }, - "Edition": { - "enum": [ - "DEVELOPER_EDITION", - "ENTERPRISE_EDITION" - ], - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "GroupAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Id": { - "maxLength": 36, - "minLength": 36, - "type": "string" - }, - "Importance": { - "maximum": 10, - "minimum": 1, - "type": "integer" - }, - "Issuer": { - "maxLength": 65, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "JsonTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "UserNameAttributeField", - "GroupAttributeField" - ], - "type": "object" - }, - "JwtTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "ClaimRegex": { - "$ref": "#/definitions/ClaimRegex" - }, - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "Issuer": { - "$ref": "#/definitions/Issuer" - }, - "KeyLocation": { - "$ref": "#/definitions/KeyLocation" - }, - "SecretManagerArn": { - "$ref": "#/definitions/RoleArn" - }, - "URL": { - "$ref": "#/definitions/Url" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "KeyLocation" - ], - "type": "object" - }, - "KeyLocation": { - "enum": [ - "URL", - "SECRET_MANAGER" - ], - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 1000, - "minLength": 1, - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", - "type": "string" - }, - "Order": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - }, - "QueryCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "$ref": "#/definitions/Duration" - }, - "Freshness": { - "$ref": "#/definitions/Freshness" - }, - "Importance": { - "$ref": "#/definitions/Importance" - }, - "RankOrder": { - "$ref": "#/definitions/Order" - }, - "ValueImportanceItems": { - "$ref": "#/definitions/ValueImportanceItems" - } - }, - "type": "object" - }, - "RoleArn": { - "maxLength": 1284, - "minLength": 1, - "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", - "type": "string" - }, - "Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "$ref": "#/definitions/KmsKeyId" - } - }, - "type": "object" - }, - "StorageCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "type": "array" - }, - "Url": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)", - "type": "string" - }, - "UserContextPolicy": { - "enum": [ - "ATTRIBUTE_FILTER", - "USER_TOKEN" - ], - "type": "string" - }, - "UserNameAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "UserTokenConfiguration": { - "additionalProperties": false, - "properties": { - "JsonTokenTypeConfiguration": { - "$ref": "#/definitions/JsonTokenTypeConfiguration" - }, - "JwtTokenTypeConfiguration": { - "$ref": "#/definitions/JwtTokenTypeConfiguration" - } - }, - "type": "object" - }, - "UserTokenConfigurationList": { - "items": { - "$ref": "#/definitions/UserTokenConfiguration" - }, - "maxItems": 1, - "type": "array" - }, - "ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/ValueImportanceItemKey" - }, - "Value": { - "$ref": "#/definitions/Importance" - } - }, - "type": "object" - }, - "ValueImportanceItemKey": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/ValueImportanceItem" - }, - "type": "array" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "CapacityUnits": { - "$ref": "#/definitions/CapacityUnitsConfiguration" - }, - "Description": { - "$ref": "#/definitions/Description" - }, - "DocumentMetadataConfigurations": { - "$ref": "#/definitions/DocumentMetadataConfigurationList" - }, - "Edition": { - "$ref": "#/definitions/Edition" - }, - "Id": { - "$ref": "#/definitions/Id" - }, - "Name": { - "$ref": "#/definitions/Name" - }, - "RoleArn": { - "$ref": "#/definitions/RoleArn" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/ServerSideEncryptionConfiguration" - }, - "Tags": { - "$ref": "#/definitions/TagList" - }, - "UserContextPolicy": { - "$ref": "#/definitions/UserContextPolicy" - }, - "UserTokenConfigurations": { - "$ref": "#/definitions/UserTokenConfigurationList" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name", - "RoleArn", - "Edition" - ], - "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html", - "typeName": "AWS::Kendra::Index" -} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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 new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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 new file mode 100644 index 0000000000..8ca994e218 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-msk-replicator.json @@ -0,0 +1,321 @@ +{ + "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 new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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 new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-redshiftserverless-workgroup.json similarity index 92% rename from src/cfnlint/data/schemas/providers/eu_central_1/aws-redshiftserverless-workgroup.json rename to src/cfnlint/data/schemas/providers/ca_central_1/aws-redshiftserverless-workgroup.json index 607749193c..60a6356907 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-redshiftserverless-workgroup.json +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-redshiftserverless-workgroup.json @@ -59,27 +59,6 @@ }, "type": "object" }, - "PerformanceTarget": { - "additionalProperties": false, - "properties": { - "Level": { - "maximum": 100, - "minimum": 1, - "type": "integer" - }, - "Status": { - "$ref": "#/definitions/PerformanceTargetStatus" - } - }, - "type": "object" - }, - "PerformanceTargetStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, "Tag": { "additionalProperties": false, "properties": { @@ -152,9 +131,6 @@ "pattern": "^[a-z0-9-]+$", "type": "string" }, - "PricePerformanceTarget": { - "$ref": "#/definitions/PerformanceTarget" - }, "PubliclyAccessible": { "type": "boolean" }, @@ -240,10 +216,6 @@ "Port": { "type": "integer" }, - "PricePerformanceTarget": { - "$ref": "#/definitions/PerformanceTarget", - "type": "object" - }, "PubliclyAccessible": { "default": false, "type": "boolean" diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-timestream-influxdbinstance.json new file mode 100644 index 0000000000..3cd225dc53 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-timestream-influxdbinstance.json @@ -0,0 +1,236 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket", + "/properties/VpcSubnetIds", + "/properties/VpcSecurityGroupIds", + "/properties/PubliclyAccessible", + "/properties/DbStorageType", + "/properties/AllocatedStorage" + ], + "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/Id" + ], + "properties": { + "AllocatedStorage": { + "maximum": 16384, + "minimum": 20, + "type": "integer" + }, + "Arn": { + "maxLength": 1011, + "minLength": 1, + "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$", + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Bucket": { + "maxLength": 64, + "minLength": 2, + "pattern": "^[^_][^\"]*$", + "type": "string" + }, + "DbInstanceType": { + "enum": [ + "db.influx.medium", + "db.influx.large", + "db.influx.xlarge", + "db.influx.2xlarge", + "db.influx.4xlarge", + "db.influx.8xlarge", + "db.influx.12xlarge", + "db.influx.16xlarge" + ], + "type": "string" + }, + "DbParameterGroupIdentifier": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "DbStorageType": { + "enum": [ + "InfluxIOIncludedT1", + "InfluxIOIncludedT2", + "InfluxIOIncludedT3" + ], + "type": "string" + }, + "DeploymentType": { + "enum": [ + "SINGLE_AZ", + "WITH_MULTIAZ_STANDBY" + ], + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "InfluxAuthParametersSecretArn": { + "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*", + "type": "string" + }, + "LogDeliveryConfiguration": { + "additionalProperties": false, + "properties": { + "S3Configuration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$", + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled", + "BucketName" + ], + "type": "object" + } + }, + "required": [ + "S3Configuration" + ], + "type": "object" + }, + "Name": { + "maxLength": 40, + "minLength": 3, + "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$", + "type": "string" + }, + "Organization": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "Password": { + "maxLength": 64, + "minLength": 8, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "Port": { + "maximum": 65535, + "minimum": 1024, + "type": "integer" + }, + "PubliclyAccessible": { + "default": false, + "type": "boolean" + }, + "SecondaryAvailabilityZone": { + "type": "string" + }, + "Status": { + "enum": [ + "CREATING", + "AVAILABLE", + "DELETING", + "MODIFYING", + "UPDATING", + "UPDATING_DEPLOYMENT_TYPE", + "UPDATING_INSTANCE_TYPE", + "DELETED", + "FAILED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Username": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "VpcSubnetIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Status", + "/properties/Arn", + "/properties/Id", + "/properties/AvailabilityZone", + "/properties/Endpoint", + "/properties/SecondaryAvailabilityZone", + "/properties/InfluxAuthParametersSecretArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Timestream::InfluxDBInstance", + "writeOnlyProperties": [ + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json new file mode 100644 index 0000000000..19c638ca23 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_central_1/aws-workspaces-workspacespool.json @@ -0,0 +1,158 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PoolName" + ], + "definitions": { + "ApplicationSettings": { + "additionalProperties": false, + "properties": { + "SettingsGroup": { + "maxLength": 100, + "pattern": "^[A-Za-z0-9_./()!*'-]+$", + "type": "string" + }, + "Status": { + "$ref": "#/definitions/ApplicationSettingsStatus" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "ApplicationSettingsStatus": { + "enum": [ + "DISABLED", + "ENABLED" + ], + "type": "string" + }, + "Capacity": { + "additionalProperties": false, + "properties": { + "DesiredUserSessions": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "DesiredUserSessions" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "TimeoutSettings": { + "additionalProperties": false, + "properties": { + "DisconnectTimeoutInSeconds": { + "maximum": 36000, + "minimum": 60, + "type": "integer" + }, + "IdleDisconnectTimeoutInSeconds": { + "maximum": 36000, + "minimum": 0, + "type": "integer" + }, + "MaxUserDurationInSeconds": { + "maximum": 432000, + "minimum": 600, + "type": "integer" + } + }, + "required": [], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/PoolId" + ], + "properties": { + "ApplicationSettings": { + "$ref": "#/definitions/ApplicationSettings" + }, + "BundleId": { + "pattern": "^wsb-[0-9a-z]{8,63}$", + "type": "string" + }, + "Capacity": { + "$ref": "#/definitions/Capacity" + }, + "CreatedAt": { + "type": "string" + }, + "Description": { + "maxLength": 255, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_./() -]+$", + "type": "string" + }, + "DirectoryId": { + "maxLength": 65, + "minLength": 10, + "pattern": "^wsd-[0-9a-z]{8,63}$", + "type": "string" + }, + "PoolArn": { + "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$", + "type": "string" + }, + "PoolId": { + "pattern": "^wspool-[0-9a-z]{9}$", + "type": "string" + }, + "PoolName": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TimeoutSettings": { + "$ref": "#/definitions/TimeoutSettings" + } + }, + "readOnlyProperties": [ + "/properties/PoolId", + "/properties/PoolArn", + "/properties/CreatedAt" + ], + "required": [ + "PoolName", + "BundleId", + "DirectoryId", + "Capacity" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::WorkSpaces::WorkspacesPool", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py index 6a9cb673f5..b34ab2d0b5 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ca_west_1/__init__.py @@ -415,6 +415,7 @@ "AWS::NetworkManager::CoreNetwork", "AWS::NetworkManager::CustomerGatewayAssociation", "AWS::NetworkManager::Device", + "AWS::NetworkManager::DirectConnectGatewayAttachment", "AWS::NetworkManager::GlobalNetwork", "AWS::NetworkManager::Link", "AWS::NetworkManager::LinkAssociation", @@ -685,7 +686,6 @@ "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", @@ -749,10 +749,8 @@ "aws-dms-instanceprofile.json", "aws-dms-migrationproject.json", "aws-dms-replicationconfig.json", - "aws-dynamodb-globaltable.json", "aws-ec2-capacityreservation.json", "aws-ec2-capacityreservationfleet.json", - "aws-ec2-customergateway.json", "aws-ec2-dhcpoptions.json", "aws-ec2-ec2fleet.json", "aws-ec2-egressonlyinternetgateway.json", @@ -943,12 +941,8 @@ "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", @@ -965,6 +959,7 @@ "aws-networkmanager-corenetwork.json", "aws-networkmanager-customergatewayassociation.json", "aws-networkmanager-device.json", + "aws-networkmanager-directconnectgatewayattachment.json", "aws-networkmanager-globalnetwork.json", "aws-networkmanager-link.json", "aws-networkmanager-linkassociation.json", @@ -983,12 +978,10 @@ "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", "aws-ram-permission.json", - "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudfront-distribution.json new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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-dynamodb-globaltable.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-dynamodb-globaltable.json new file mode 100644 index 0000000000..7e68a07b47 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-dynamodb-globaltable.json @@ -0,0 +1,622 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/Arn" + ], + [ + "/properties/StreamArn" + ] + ], + "additionalProperties": false, + "allOf": [ + { + "if": { + "required": [ + "LocalSecondaryIndexes" + ], + "type": "object" + }, + "then": { + "properties": { + "AttributeDefinitions": { + "minItems": 2 + }, + "KeySchema": { + "minItems": 2 + } + }, + "type": "object" + } + } + ], + "createOnlyProperties": [ + "/properties/LocalSecondaryIndexes", + "/properties/TableName", + "/properties/KeySchema" + ], + "definitions": { + "AttributeDefinition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "AttributeType": { + "enum": [ + "B", + "N", + "S" + ], + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeType" + ], + "type": "object" + }, + "CapacityAutoScalingSettings": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "minimum": 1, + "type": "integer" + }, + "MinCapacity": { + "minimum": 1, + "type": "integer" + }, + "SeedCapacity": { + "minimum": 1, + "type": "integer" + }, + "TargetTrackingScalingPolicyConfiguration": { + "$ref": "#/definitions/TargetTrackingScalingPolicyConfiguration" + } + }, + "required": [ + "MinCapacity", + "MaxCapacity", + "TargetTrackingScalingPolicyConfiguration" + ], + "type": "object" + }, + "ContributorInsightsSpecification": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "GlobalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "maxLength": 255, + "minLength": 3, + "type": "string" + }, + "KeySchema": { + "$ref": "#/definitions/KeySchema", + "maxItems": 2, + "minItems": 1 + }, + "Projection": { + "$ref": "#/definitions/Projection" + }, + "WriteOnDemandThroughputSettings": { + "$ref": "#/definitions/WriteOnDemandThroughputSettings" + }, + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/WriteProvisionedThroughputSettings" + } + }, + "required": [ + "IndexName", + "Projection", + "KeySchema" + ], + "type": "object" + }, + "KeySchema": { + "items": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "KeyType": { + "enum": [ + "HASH", + "RANGE" + ], + "type": "string" + } + }, + "required": [ + "KeyType", + "AttributeName" + ], + "type": "object" + }, + "prefixItems": [ + { + "properties": { + "KeyType": { + "const": "HASH", + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, + { + "properties": { + "KeyType": { + "const": "RANGE", + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + } + ], + "type": "array", + "uniqueItems": true, + "uniqueKeys": [ + "AttributeName" + ] + }, + "KinesisStreamSpecification": { + "additionalProperties": false, + "properties": { + "ApproximateCreationDateTimePrecision": { + "enum": [ + "MICROSECOND", + "MILLISECOND" + ], + "type": "string" + }, + "StreamArn": { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::Kinesis::Stream" + }, + "type": "string" + } + }, + "required": [ + "StreamArn" + ], + "type": "object" + }, + "LocalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "maxLength": 255, + "minLength": 3, + "type": "string" + }, + "KeySchema": { + "$ref": "#/definitions/KeySchema", + "maxItems": 2, + "minItems": 2 + }, + "Projection": { + "$ref": "#/definitions/Projection" + } + }, + "required": [ + "IndexName", + "Projection", + "KeySchema" + ], + "type": "object" + }, + "PointInTimeRecoverySpecification": { + "additionalProperties": false, + "properties": { + "PointInTimeRecoveryEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 20, + "type": "array", + "uniqueItems": true + }, + "ProjectionType": { + "type": "string" + } + }, + "type": "object" + }, + "ReadOnDemandThroughputSettings": { + "additionalProperties": false, + "properties": { + "MaxReadRequestUnits": { + "minimum": 1, + "type": "integer" + } + }, + "type": "object" + }, + "ReadProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "ReadCapacityAutoScalingSettings": { + "$ref": "#/definitions/CapacityAutoScalingSettings" + }, + "ReadCapacityUnits": { + "minimum": 1, + "type": "integer" + } + }, + "type": "object" + }, + "ReplicaGlobalSecondaryIndexSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/ContributorInsightsSpecification" + }, + "IndexName": { + "maxLength": 255, + "minLength": 3, + "type": "string" + }, + "ReadOnDemandThroughputSettings": { + "$ref": "#/definitions/ReadOnDemandThroughputSettings" + }, + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/ReadProvisionedThroughputSettings" + } + }, + "required": [ + "IndexName" + ], + "type": "object" + }, + "ReplicaSSESpecification": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyId": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/Arn", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/KeyId", + "typeName": "AWS::KMS::Key" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/AliasName", + "typeName": "AWS::KMS::Alias" + } + } + ], + "type": "string" + } + }, + "required": [ + "KMSMasterKeyId" + ], + "type": "object" + }, + "ReplicaSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/ContributorInsightsSpecification" + }, + "DeletionProtectionEnabled": { + "type": "boolean" + }, + "GlobalSecondaryIndexes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ReplicaGlobalSecondaryIndexSpecification" + }, + "type": "array", + "uniqueItems": true + }, + "KinesisStreamSpecification": { + "$ref": "#/definitions/KinesisStreamSpecification" + }, + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/PointInTimeRecoverySpecification" + }, + "ReadOnDemandThroughputSettings": { + "$ref": "#/definitions/ReadOnDemandThroughputSettings" + }, + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/ReadProvisionedThroughputSettings" + }, + "Region": { + "type": "string" + }, + "ReplicaStreamSpecification": { + "$ref": "#/definitions/ReplicaStreamSpecification" + }, + "ResourcePolicy": { + "$ref": "#/definitions/ResourcePolicy" + }, + "SSESpecification": { + "$ref": "#/definitions/ReplicaSSESpecification" + }, + "TableClass": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "ReplicaStreamSpecification": { + "additionalProperties": false, + "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/ResourcePolicy" + } + }, + "required": [ + "ResourcePolicy" + ], + "type": "object" + }, + "ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "format": "json", + "type": [ + "object", + "string" + ] + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "SSESpecification": { + "additionalProperties": false, + "properties": { + "SSEEnabled": { + "type": "boolean" + }, + "SSEType": { + "enum": [ + "AES256", + "KMS" + ], + "type": "string" + } + }, + "required": [ + "SSEEnabled" + ], + "type": "object" + }, + "StreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamViewType": { + "type": "string" + } + }, + "required": [ + "StreamViewType" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "TargetTrackingScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "DisableScaleIn": { + "type": "boolean" + }, + "ScaleInCooldown": { + "minimum": 0, + "type": "integer" + }, + "ScaleOutCooldown": { + "minimum": 0, + "type": "integer" + }, + "TargetValue": { + "format": "double", + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "TimeToLiveSpecification": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "WriteOnDemandThroughputSettings": { + "additionalProperties": false, + "properties": { + "MaxWriteRequestUnits": { + "minimum": 1, + "type": "integer" + } + }, + "type": "object" + }, + "WriteProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "WriteCapacityAutoScalingSettings": { + "$ref": "#/definitions/CapacityAutoScalingSettings" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/TableName" + ], + "properties": { + "Arn": { + "type": "string" + }, + "AttributeDefinitions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AttributeDefinition" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true, + "uniqueKeys": [ + "AttributeName" + ] + }, + "BillingMode": { + "type": "string" + }, + "GlobalSecondaryIndexes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/GlobalSecondaryIndex" + }, + "type": "array", + "uniqueItems": true + }, + "KeySchema": { + "$ref": "#/definitions/KeySchema", + "maxItems": 2, + "minItems": 1 + }, + "LocalSecondaryIndexes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LocalSecondaryIndex" + }, + "type": "array", + "uniqueItems": true + }, + "Replicas": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ReplicaSpecification" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "SSESpecification": { + "$ref": "#/definitions/SSESpecification" + }, + "StreamArn": { + "type": "string" + }, + "StreamSpecification": { + "$ref": "#/definitions/StreamSpecification" + }, + "TableId": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/TimeToLiveSpecification" + }, + "WriteOnDemandThroughputSettings": { + "$ref": "#/definitions/WriteOnDemandThroughputSettings" + }, + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/WriteProvisionedThroughputSettings" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/StreamArn", + "/properties/TableId" + ], + "required": [ + "KeySchema", + "AttributeDefinitions", + "Replicas" + ], + "typeName": "AWS::DynamoDB::GlobalTable", + "writeOnlyProperties": [ + "/properties/Replicas/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity", + "/properties/Replicas/*/GlobalSecondaryIndexes/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity", + "/properties/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity", + "/properties/GlobalSecondaryIndexes/*/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity" + ] +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-dynamodb-table.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-dynamodb-table.json index 76224c63e2..9e1125534b 100644 --- a/src/cfnlint/data/schemas/providers/ca_west_1/aws-dynamodb-table.json +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-dynamodb-table.json @@ -131,9 +131,6 @@ }, "ProvisionedThroughput": { "$ref": "#/definitions/ProvisionedThroughput" - }, - "WarmThroughput": { - "$ref": "#/definitions/WarmThroughput" } }, "required": [ @@ -452,32 +449,6 @@ "Enabled" ], "type": "object" - }, - "WarmThroughput": { - "additionalProperties": false, - "anyOf": [ - { - "required": [ - "ReadUnitsPerSecond" - ] - }, - { - "required": [ - "WriteUnitsPerSecond" - ] - } - ], - "properties": { - "ReadUnitsPerSecond": { - "minimum": 1, - "type": "integer" - }, - "WriteUnitsPerSecond": { - "minimum": 1, - "type": "integer" - } - }, - "type": "object" } }, "primaryIdentifier": [ @@ -578,9 +549,6 @@ }, "TimeToLiveSpecification": { "$ref": "#/definitions/TimeToLiveSpecification" - }, - "WarmThroughput": { - "$ref": "#/definitions/WarmThroughput" } }, "propertyTransform": { diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/CertificateArn", + "/properties/BgpAsn", + "/properties/BgpAsnExtended", + "/properties/Type", + "/properties/IpAddress", + "/properties/DeviceName" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/CustomerGatewayId" + ], + "properties": { + "BgpAsn": { + "default": 65000, + "type": "integer" + }, + "BgpAsnExtended": { + "maximum": 4294967294, + "minimum": 2147483648, + "multipleOf": 1, + "type": "number" + }, + "CertificateArn": { + "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$", + "type": "string" + }, + "CustomerGatewayId": { + "type": "string" + }, + "DeviceName": { + "type": "string" + }, + "IpAddress": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "Type": { + "enum": [ + "ipsec.1" + ], + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CustomerGatewayId" + ], + "required": [ + "IpAddress", + "Type" + ], + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::EC2::CustomerGateway" +} diff --git a/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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 new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ca_west_1/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Sources": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "required": [ + "Name" + ], + "typeName": "AWS::RAM::ResourceShare" +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py index 935aee295f..afa7258553 100644 --- a/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_north_1/__init__.py @@ -414,6 +414,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -559,6 +560,7 @@ "AWS::RDS::GlobalCluster", "AWS::RDS::Integration", "AWS::RDS::OptionGroup", + "AWS::Rbin::Rule", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", @@ -804,7 +806,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", @@ -830,7 +831,6 @@ "aws-cloudformation-waitcondition.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", - "aws-cloudfront-distribution.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-publickey.json", "aws-cloudfront-responseheaderspolicy.json", @@ -1024,7 +1024,9 @@ "aws-fsx-snapshot.json", "aws-fsx-storagevirtualmachine.json", "aws-fsx-volume.json", + "aws-gamelift-alias.json", "aws-gamelift-build.json", + "aws-gamelift-fleet.json", "aws-gamelift-gameservergroup.json", "aws-gamelift-gamesessionqueue.json", "aws-gamelift-matchmakingconfiguration.json", @@ -1103,6 +1105,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1171,12 +1174,8 @@ "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", @@ -1221,7 +1220,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", "aws-rds-dbinstance.json", diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..c62e41456c --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-batch-jobdefinition.json @@ -0,0 +1,771 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Tags", + "/properties/JobDefinitionName" + ], + "definitions": { + "AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "Iam": { + "type": "string" + } + }, + "type": "object" + }, + "ContainerProperties": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Environment": { + "items": { + "$ref": "#/definitions/Environment" + }, + "type": "array", + "uniqueItems": false + }, + "EphemeralStorage": { + "$ref": "#/definitions/EphemeralStorage" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "FargatePlatformConfiguration": { + "$ref": "#/definitions/FargatePlatformConfiguration" + }, + "Image": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobRoleArn": { + "type": "string" + }, + "LinuxParameters": { + "$ref": "#/definitions/LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/LogConfiguration" + }, + "Memory": { + "type": "integer" + }, + "MountPoints": { + "items": { + "$ref": "#/definitions/MountPoints" + }, + "type": "array", + "uniqueItems": false + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "Privileged": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "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" + }, + "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": { + "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" + }, + "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" + }, + "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" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + }, + "ServiceAccountName": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/EksVolume" + }, + "type": "array", + "uniqueItems": false + } + }, + "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" + }, + "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" + }, + "EksProperties": { + "$ref": "#/definitions/EksProperties" + }, + "Id": { + "type": "string" + }, + "JobDefinitionName": { + "type": "string" + }, + "NodeProperties": { + "$ref": "#/definitions/NodeProperties" + }, + "Parameters": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "PlatformCapabilities": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PropagateTags": { + "type": "boolean" + }, + "RetryStrategy": { + "$ref": "#/definitions/RetryStrategy" + }, + "SchedulingPriority": { + "type": "integer" + }, + "Tags": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Timeout": { + "$ref": "#/definitions/Timeout" + }, + "Type": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "Type" + ], + "typeName": "AWS::Batch::JobDefinition" +} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-cloudfront-distribution.json new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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/cn_north_1/aws-gamelift-alias.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-gamelift-alias.json deleted file mode 100644 index 8fc0c45024..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-gamelift-alias.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "RoutingStrategy": { - "additionalProperties": false, - "anyOf": [ - { - "required": [ - "FleetId" - ] - }, - { - "required": [ - "Message" - ] - } - ], - "properties": { - "FleetId": { - "pattern": "^fleet-\\S+", - "type": "string" - }, - "Message": { - "type": "string" - }, - "Type": { - "enum": [ - "SIMPLE", - "TERMINAL" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/AliasId" - ], - "properties": { - "AliasId": { - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "RoutingStrategy": { - "$ref": "#/definitions/RoutingStrategy" - } - }, - "readOnlyProperties": [ - "/properties/AliasId" - ], - "required": [ - "Name", - "RoutingStrategy" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", - "taggable": true, - "typeName": "AWS::GameLift::Alias" -} diff --git a/src/cfnlint/data/schemas/providers/cn_north_1/aws-gamelift-fleet.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-gamelift-fleet.json deleted file mode 100644 index c9f996a779..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_north_1/aws-gamelift-fleet.json +++ /dev/null @@ -1,540 +0,0 @@ -{ - "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplyCapacity", - "/properties/BuildId", - "/properties/CertificateConfiguration", - "/properties/ContainerGroupsConfiguration", - "/properties/EC2InstanceType", - "/properties/FleetType", - "/properties/InstanceRoleARN", - "/properties/InstanceRoleCredentialsProvider", - "/properties/LogPaths", - "/properties/PeerVpcAwsAccountId", - "/properties/PeerVpcId", - "/properties/ScriptId", - "/properties/ServerLaunchParameters", - "/properties/ServerLaunchPath", - "/properties/ComputeType" - ], - "definitions": { - "AnywhereConfiguration": { - "additionalProperties": false, - "properties": { - "Cost": { - "maxLength": 11, - "minLength": 1, - "pattern": "^\\d{1,5}(?:\\.\\d{1,5})?$", - "type": "string" - } - }, - "required": [ - "Cost" - ] - }, - "CertificateConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateType": { - "enum": [ - "DISABLED", - "GENERATED" - ], - "type": "string" - } - }, - "required": [ - "CertificateType" - ], - "type": "object" - }, - "ConnectionPortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "maximum": 60000, - "minimum": 1, - "type": "integer" - }, - "ToPort": { - "maximum": 60000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "ContainerGroupsConfiguration": { - "additionalProperties": false, - "properties": { - "ConnectionPortRange": { - "$ref": "#/definitions/ConnectionPortRange" - }, - "ContainerGroupDefinitionNames": { - "insertionOrder": false, - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-]+$", - "type": "string" - }, - "maxItems": 2, - "minItems": 1, - "type": "array" - }, - "ContainerGroupsPerInstance": { - "$ref": "#/definitions/ContainerGroupsPerInstance" - } - }, - "required": [ - "ContainerGroupDefinitionNames", - "ConnectionPortRange" - ], - "type": "object" - }, - "ContainerGroupsPerInstance": { - "additionalProperties": false, - "properties": { - "DesiredReplicaContainerGroupsPerInstance": { - "maximum": 5000, - "minimum": 1, - "type": "integer" - }, - "MaxReplicaContainerGroupsPerInstance": { - "maximum": 5000, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "IpPermission": { - "additionalProperties": false, - "properties": { - "FromPort": { - "maximum": 60000, - "minimum": 1, - "type": "integer" - }, - "IpRange": { - "pattern": "(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/([0-9]|[1-2][0-9]|3[0-2]))$)", - "type": "string" - }, - "Protocol": { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - "ToPort": { - "maximum": 60000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "FromPort", - "IpRange", - "Protocol", - "ToPort" - ], - "type": "object" - }, - "Location": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9\\-]+", - "type": "string" - }, - "LocationCapacity": { - "additionalProperties": false, - "properties": { - "DesiredEC2Instances": { - "minimum": 0, - "type": "integer" - }, - "MaxSize": { - "minimum": 0, - "type": "integer" - }, - "MinSize": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "DesiredEC2Instances", - "MinSize", - "MaxSize" - ], - "type": "object" - }, - "LocationConfiguration": { - "additionalProperties": false, - "properties": { - "Location": { - "$ref": "#/definitions/Location" - }, - "LocationCapacity": { - "$ref": "#/definitions/LocationCapacity" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "ResourceCreationLimitPolicy": { - "additionalProperties": false, - "properties": { - "NewGameSessionsPerCreator": { - "minimum": 0, - "type": "integer" - }, - "PolicyPeriodInMinutes": { - "minimum": 0, - "type": "integer" - } - }, - "type": "object" - }, - "RuntimeConfiguration": { - "additionalProperties": false, - "properties": { - "GameSessionActivationTimeoutSeconds": { - "maximum": 600, - "minimum": 1, - "type": "integer" - }, - "MaxConcurrentGameSessionActivations": { - "maximum": 2147483647, - "minimum": 1, - "type": "integer" - }, - "ServerProcesses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ServerProcess" - }, - "maxItems": 50, - "type": "array" - } - }, - "type": "object" - }, - "ScalingPolicy": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "enum": [ - "GreaterThanOrEqualToThreshold", - "GreaterThanThreshold", - "LessThanThreshold", - "LessThanOrEqualToThreshold" - ], - "type": "string" - }, - "EvaluationPeriods": { - "minimum": 1, - "type": "integer" - }, - "Location": { - "$ref": "#/definitions/Location" - }, - "MetricName": { - "enum": [ - "ActivatingGameSessions", - "ActiveGameSessions", - "ActiveInstances", - "AvailableGameSessions", - "AvailablePlayerSessions", - "CurrentPlayerSessions", - "IdleInstances", - "PercentAvailableGameSessions", - "PercentIdleInstances", - "QueueDepth", - "WaitTime", - "ConcurrentActivatableGameSessions" - ], - "type": "string" - }, - "Name": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "PolicyType": { - "enum": [ - "RuleBased", - "TargetBased" - ], - "type": "string" - }, - "ScalingAdjustment": { - "type": "integer" - }, - "ScalingAdjustmentType": { - "enum": [ - "ChangeInCapacity", - "ExactCapacity", - "PercentChangeInCapacity" - ], - "type": "string" - }, - "Status": { - "enum": [ - "ACTIVE", - "UPDATE_REQUESTED", - "UPDATING", - "DELETE_REQUESTED", - "DELETING", - "DELETED", - "ERROR" - ], - "type": "string" - }, - "TargetConfiguration": { - "$ref": "#/definitions/TargetConfiguration" - }, - "Threshold": { - "type": "number" - }, - "UpdateStatus": { - "enum": [ - "PENDING_UPDATE" - ], - "type": "string" - } - }, - "required": [ - "MetricName", - "Name" - ], - "type": "object" - }, - "ServerProcess": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutions": { - "minimum": 1, - "type": "integer" - }, - "LaunchPath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([Cc]:\\\\game\\S+|/local/game/\\S+)", - "type": "string" - }, - "Parameters": { - "maxLength": 1024, - "minLength": 1, - "pattern": "[A-Za-z0-9_:.+\\/\\\\\\- =@;{},?'\\[\\]\"]+", - "type": "string" - } - }, - "required": [ - "ConcurrentExecutions", - "LaunchPath" - ], - "type": "object" - }, - "TargetConfiguration": { - "additionalProperties": false, - "properties": { - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/LogPaths", - "/properties/ServerLaunchParameters", - "/properties/ServerLaunchPath" - ], - "primaryIdentifier": [ - "/properties/FleetId" - ], - "properties": { - "AnywhereConfiguration": { - "$ref": "#/definitions/AnywhereConfiguration" - }, - "ApplyCapacity": { - "enum": [ - "ON_UPDATE", - "ON_CREATE_AND_UPDATE" - ], - "type": "string" - }, - "BuildId": { - "pattern": "^build-\\S+|^arn:.*:build/build-\\S+", - "type": "string" - }, - "CertificateConfiguration": { - "$ref": "#/definitions/CertificateConfiguration" - }, - "ComputeType": { - "enum": [ - "EC2", - "ANYWHERE", - "CONTAINER" - ], - "type": "string" - }, - "ContainerGroupsConfiguration": { - "$ref": "#/definitions/ContainerGroupsConfiguration" - }, - "Description": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "DesiredEC2Instances": { - "minimum": 0, - "type": "integer" - }, - "EC2InboundPermissions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/IpPermission" - }, - "maxItems": 50, - "type": "array" - }, - "EC2InstanceType": { - "pattern": "^.*..*$", - "type": "string" - }, - "FleetId": { - "pattern": "^fleet-\\S+", - "type": "string" - }, - "FleetType": { - "enum": [ - "ON_DEMAND", - "SPOT" - ], - "type": "string" - }, - "InstanceRoleARN": { - "minLength": 1, - "pattern": "^arn:aws(-.*)?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", - "type": "string" - }, - "InstanceRoleCredentialsProvider": { - "enum": [ - "SHARED_CREDENTIAL_FILE" - ], - "type": "string" - }, - "Locations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LocationConfiguration" - }, - "maxItems": 100, - "minItems": 1, - "type": "array" - }, - "LogPaths": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSize": { - "minimum": 0, - "type": "integer" - }, - "MetricGroups": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 1, - "type": "array" - }, - "MinSize": { - "minimum": 0, - "type": "integer" - }, - "Name": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "NewGameSessionProtectionPolicy": { - "enum": [ - "FullProtection", - "NoProtection" - ], - "type": "string" - }, - "PeerVpcAwsAccountId": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[0-9]{12}$", - "type": "string" - }, - "PeerVpcId": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^vpc-\\S+", - "type": "string" - }, - "ResourceCreationLimitPolicy": { - "$ref": "#/definitions/ResourceCreationLimitPolicy" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/RuntimeConfiguration" - }, - "ScalingPolicies": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ScalingPolicy" - }, - "maxItems": 50, - "type": "array" - }, - "ScriptId": { - "pattern": "^script-\\S+|^arn:.*:script/script-\\S+", - "type": "string" - }, - "ServerLaunchParameters": { - "maxLength": 1024, - "minLength": 1, - "pattern": "[A-Za-z0-9_:.+\\/\\\\\\- =@;{},?'\\[\\]\"]+", - "type": "string" - }, - "ServerLaunchPath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "[A-Za-z0-9_:.+\\/\\\\\\- ]+", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/ContainerGroupsConfiguration/ContainerGroupsPerInstance/MaxReplicaContainerGroupsPerInstance", - "/properties/FleetId" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", - "taggable": true, - "typeName": "AWS::GameLift::Fleet", - "writeOnlyProperties": [ - "/properties/ApplyCapacity" - ] -} 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 new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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_north_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_north_1/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Sources": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "required": [ + "Name" + ], + "typeName": "AWS::RAM::ResourceShare" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py index 3120fdc649..09954d61af 100644 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/__init__.py @@ -403,6 +403,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -516,6 +517,7 @@ "AWS::RDS::GlobalCluster", "AWS::RDS::Integration", "AWS::RDS::OptionGroup", + "AWS::Rbin::Rule", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", @@ -788,7 +790,6 @@ "aws-cloudformation-waitcondition.json", "aws-cloudformation-waitconditionhandle.json", "aws-cloudfront-cloudfrontoriginaccessidentity.json", - "aws-cloudfront-distribution.json", "aws-cloudfront-keygroup.json", "aws-cloudfront-publickey.json", "aws-cloudfront-responseheaderspolicy.json", @@ -926,7 +927,6 @@ "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", @@ -963,7 +963,6 @@ "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", @@ -978,7 +977,9 @@ "aws-fsx-snapshot.json", "aws-fsx-storagevirtualmachine.json", "aws-fsx-volume.json", + "aws-gamelift-alias.json", "aws-gamelift-build.json", + "aws-gamelift-fleet.json", "aws-gamelift-gameservergroup.json", "aws-gamelift-gamesessionqueue.json", "aws-gamelift-matchmakingconfiguration.json", @@ -1039,6 +1040,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1087,12 +1089,8 @@ "aws-logs-deliverydestination.json", "aws-logs-deliverysource.json", "aws-logs-destination.json", - "aws-logs-loggroup.json", "aws-logs-logstream.json", - "aws-logs-metricfilter.json", - "aws-logs-querydefinition.json", "aws-logs-resourcepolicy.json", - "aws-logs-subscriptionfilter.json", "aws-mediaconvert-jobtemplate.json", "aws-mediaconvert-preset.json", "aws-mediaconvert-queue.json", @@ -1121,11 +1119,10 @@ "aws-organizations-account.json", "aws-organizations-organization.json", "aws-organizations-organizationalunit.json", - "aws-organizations-policy.json", "aws-organizations-resourcepolicy.json", "aws-pipes-pipe.json", "aws-ram-permission.json", - "aws-ram-resourceshare.json", + "aws-rbin-rule.json", "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", @@ -1151,7 +1148,6 @@ "aws-redshift-integration.json", "aws-redshift-scheduledaction.json", "aws-redshiftserverless-namespace.json", - "aws-redshiftserverless-workgroup.json", "aws-resourcegroups-group.json", "aws-rolesanywhere-crl.json", "aws-rolesanywhere-profile.json", diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudfront-distribution.json new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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/cn_northwest_1/aws-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-taskdefinition.json new file mode 100644 index 0000000000..35c2b1ed93 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ecs-taskdefinition.json @@ -0,0 +1,1044 @@ +{ + "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-emrserverless-application.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-emrserverless-application.json new file mode 100644 index 0000000000..1a44823941 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-emrserverless-application.json @@ -0,0 +1,539 @@ +{ + "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/cn_northwest_1/aws-gamelift-alias.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-gamelift-alias.json deleted file mode 100644 index 8fc0c45024..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-gamelift-alias.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "RoutingStrategy": { - "additionalProperties": false, - "anyOf": [ - { - "required": [ - "FleetId" - ] - }, - { - "required": [ - "Message" - ] - } - ], - "properties": { - "FleetId": { - "pattern": "^fleet-\\S+", - "type": "string" - }, - "Message": { - "type": "string" - }, - "Type": { - "enum": [ - "SIMPLE", - "TERMINAL" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/AliasId" - ], - "properties": { - "AliasId": { - "type": "string" - }, - "Description": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 1024, - "minLength": 1, - "pattern": ".*\\S.*", - "type": "string" - }, - "RoutingStrategy": { - "$ref": "#/definitions/RoutingStrategy" - } - }, - "readOnlyProperties": [ - "/properties/AliasId" - ], - "required": [ - "Name", - "RoutingStrategy" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", - "taggable": true, - "typeName": "AWS::GameLift::Alias" -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-gamelift-fleet.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-gamelift-fleet.json deleted file mode 100644 index c9f996a779..0000000000 --- a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-gamelift-fleet.json +++ /dev/null @@ -1,540 +0,0 @@ -{ - "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ApplyCapacity", - "/properties/BuildId", - "/properties/CertificateConfiguration", - "/properties/ContainerGroupsConfiguration", - "/properties/EC2InstanceType", - "/properties/FleetType", - "/properties/InstanceRoleARN", - "/properties/InstanceRoleCredentialsProvider", - "/properties/LogPaths", - "/properties/PeerVpcAwsAccountId", - "/properties/PeerVpcId", - "/properties/ScriptId", - "/properties/ServerLaunchParameters", - "/properties/ServerLaunchPath", - "/properties/ComputeType" - ], - "definitions": { - "AnywhereConfiguration": { - "additionalProperties": false, - "properties": { - "Cost": { - "maxLength": 11, - "minLength": 1, - "pattern": "^\\d{1,5}(?:\\.\\d{1,5})?$", - "type": "string" - } - }, - "required": [ - "Cost" - ] - }, - "CertificateConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateType": { - "enum": [ - "DISABLED", - "GENERATED" - ], - "type": "string" - } - }, - "required": [ - "CertificateType" - ], - "type": "object" - }, - "ConnectionPortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "maximum": 60000, - "minimum": 1, - "type": "integer" - }, - "ToPort": { - "maximum": 60000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "ContainerGroupsConfiguration": { - "additionalProperties": false, - "properties": { - "ConnectionPortRange": { - "$ref": "#/definitions/ConnectionPortRange" - }, - "ContainerGroupDefinitionNames": { - "insertionOrder": false, - "items": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9\\-]+$", - "type": "string" - }, - "maxItems": 2, - "minItems": 1, - "type": "array" - }, - "ContainerGroupsPerInstance": { - "$ref": "#/definitions/ContainerGroupsPerInstance" - } - }, - "required": [ - "ContainerGroupDefinitionNames", - "ConnectionPortRange" - ], - "type": "object" - }, - "ContainerGroupsPerInstance": { - "additionalProperties": false, - "properties": { - "DesiredReplicaContainerGroupsPerInstance": { - "maximum": 5000, - "minimum": 1, - "type": "integer" - }, - "MaxReplicaContainerGroupsPerInstance": { - "maximum": 5000, - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - }, - "IpPermission": { - "additionalProperties": false, - "properties": { - "FromPort": { - "maximum": 60000, - "minimum": 1, - "type": "integer" - }, - "IpRange": { - "pattern": "(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/([0-9]|[1-2][0-9]|3[0-2]))$)", - "type": "string" - }, - "Protocol": { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - "ToPort": { - "maximum": 60000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "FromPort", - "IpRange", - "Protocol", - "ToPort" - ], - "type": "object" - }, - "Location": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9\\-]+", - "type": "string" - }, - "LocationCapacity": { - "additionalProperties": false, - "properties": { - "DesiredEC2Instances": { - "minimum": 0, - "type": "integer" - }, - "MaxSize": { - "minimum": 0, - "type": "integer" - }, - "MinSize": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "DesiredEC2Instances", - "MinSize", - "MaxSize" - ], - "type": "object" - }, - "LocationConfiguration": { - "additionalProperties": false, - "properties": { - "Location": { - "$ref": "#/definitions/Location" - }, - "LocationCapacity": { - "$ref": "#/definitions/LocationCapacity" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "ResourceCreationLimitPolicy": { - "additionalProperties": false, - "properties": { - "NewGameSessionsPerCreator": { - "minimum": 0, - "type": "integer" - }, - "PolicyPeriodInMinutes": { - "minimum": 0, - "type": "integer" - } - }, - "type": "object" - }, - "RuntimeConfiguration": { - "additionalProperties": false, - "properties": { - "GameSessionActivationTimeoutSeconds": { - "maximum": 600, - "minimum": 1, - "type": "integer" - }, - "MaxConcurrentGameSessionActivations": { - "maximum": 2147483647, - "minimum": 1, - "type": "integer" - }, - "ServerProcesses": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ServerProcess" - }, - "maxItems": 50, - "type": "array" - } - }, - "type": "object" - }, - "ScalingPolicy": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "enum": [ - "GreaterThanOrEqualToThreshold", - "GreaterThanThreshold", - "LessThanThreshold", - "LessThanOrEqualToThreshold" - ], - "type": "string" - }, - "EvaluationPeriods": { - "minimum": 1, - "type": "integer" - }, - "Location": { - "$ref": "#/definitions/Location" - }, - "MetricName": { - "enum": [ - "ActivatingGameSessions", - "ActiveGameSessions", - "ActiveInstances", - "AvailableGameSessions", - "AvailablePlayerSessions", - "CurrentPlayerSessions", - "IdleInstances", - "PercentAvailableGameSessions", - "PercentIdleInstances", - "QueueDepth", - "WaitTime", - "ConcurrentActivatableGameSessions" - ], - "type": "string" - }, - "Name": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "PolicyType": { - "enum": [ - "RuleBased", - "TargetBased" - ], - "type": "string" - }, - "ScalingAdjustment": { - "type": "integer" - }, - "ScalingAdjustmentType": { - "enum": [ - "ChangeInCapacity", - "ExactCapacity", - "PercentChangeInCapacity" - ], - "type": "string" - }, - "Status": { - "enum": [ - "ACTIVE", - "UPDATE_REQUESTED", - "UPDATING", - "DELETE_REQUESTED", - "DELETING", - "DELETED", - "ERROR" - ], - "type": "string" - }, - "TargetConfiguration": { - "$ref": "#/definitions/TargetConfiguration" - }, - "Threshold": { - "type": "number" - }, - "UpdateStatus": { - "enum": [ - "PENDING_UPDATE" - ], - "type": "string" - } - }, - "required": [ - "MetricName", - "Name" - ], - "type": "object" - }, - "ServerProcess": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutions": { - "minimum": 1, - "type": "integer" - }, - "LaunchPath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^([Cc]:\\\\game\\S+|/local/game/\\S+)", - "type": "string" - }, - "Parameters": { - "maxLength": 1024, - "minLength": 1, - "pattern": "[A-Za-z0-9_:.+\\/\\\\\\- =@;{},?'\\[\\]\"]+", - "type": "string" - } - }, - "required": [ - "ConcurrentExecutions", - "LaunchPath" - ], - "type": "object" - }, - "TargetConfiguration": { - "additionalProperties": false, - "properties": { - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - } - }, - "deprecatedProperties": [ - "/properties/LogPaths", - "/properties/ServerLaunchParameters", - "/properties/ServerLaunchPath" - ], - "primaryIdentifier": [ - "/properties/FleetId" - ], - "properties": { - "AnywhereConfiguration": { - "$ref": "#/definitions/AnywhereConfiguration" - }, - "ApplyCapacity": { - "enum": [ - "ON_UPDATE", - "ON_CREATE_AND_UPDATE" - ], - "type": "string" - }, - "BuildId": { - "pattern": "^build-\\S+|^arn:.*:build/build-\\S+", - "type": "string" - }, - "CertificateConfiguration": { - "$ref": "#/definitions/CertificateConfiguration" - }, - "ComputeType": { - "enum": [ - "EC2", - "ANYWHERE", - "CONTAINER" - ], - "type": "string" - }, - "ContainerGroupsConfiguration": { - "$ref": "#/definitions/ContainerGroupsConfiguration" - }, - "Description": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "DesiredEC2Instances": { - "minimum": 0, - "type": "integer" - }, - "EC2InboundPermissions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/IpPermission" - }, - "maxItems": 50, - "type": "array" - }, - "EC2InstanceType": { - "pattern": "^.*..*$", - "type": "string" - }, - "FleetId": { - "pattern": "^fleet-\\S+", - "type": "string" - }, - "FleetType": { - "enum": [ - "ON_DEMAND", - "SPOT" - ], - "type": "string" - }, - "InstanceRoleARN": { - "minLength": 1, - "pattern": "^arn:aws(-.*)?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", - "type": "string" - }, - "InstanceRoleCredentialsProvider": { - "enum": [ - "SHARED_CREDENTIAL_FILE" - ], - "type": "string" - }, - "Locations": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LocationConfiguration" - }, - "maxItems": 100, - "minItems": 1, - "type": "array" - }, - "LogPaths": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSize": { - "minimum": 0, - "type": "integer" - }, - "MetricGroups": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "maxItems": 1, - "type": "array" - }, - "MinSize": { - "minimum": 0, - "type": "integer" - }, - "Name": { - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "NewGameSessionProtectionPolicy": { - "enum": [ - "FullProtection", - "NoProtection" - ], - "type": "string" - }, - "PeerVpcAwsAccountId": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[0-9]{12}$", - "type": "string" - }, - "PeerVpcId": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^vpc-\\S+", - "type": "string" - }, - "ResourceCreationLimitPolicy": { - "$ref": "#/definitions/ResourceCreationLimitPolicy" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/RuntimeConfiguration" - }, - "ScalingPolicies": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ScalingPolicy" - }, - "maxItems": 50, - "type": "array" - }, - "ScriptId": { - "pattern": "^script-\\S+|^arn:.*:script/script-\\S+", - "type": "string" - }, - "ServerLaunchParameters": { - "maxLength": 1024, - "minLength": 1, - "pattern": "[A-Za-z0-9_:.+\\/\\\\\\- =@;{},?'\\[\\]\"]+", - "type": "string" - }, - "ServerLaunchPath": { - "maxLength": 1024, - "minLength": 1, - "pattern": "[A-Za-z0-9_:.+\\/\\\\\\- ]+", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/ContainerGroupsConfiguration/ContainerGroupsPerInstance/MaxReplicaContainerGroupsPerInstance", - "/properties/FleetId" - ], - "required": [ - "Name" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", - "taggable": true, - "typeName": "AWS::GameLift::Fleet", - "writeOnlyProperties": [ - "/properties/ApplyCapacity" - ] -} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LogGroupName" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LogGroupName" + ], + "properties": { + "Arn": { + "type": "string" + }, + "DataProtectionPolicy": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "KmsKeyId": { + "maxLength": 256, + "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z", + "type": "string" + }, + "LogGroupClass": { + "default": "STANDARD", + "enum": [ + "STANDARD", + "INFREQUENT_ACCESS" + ], + "type": "string" + }, + "LogGroupName": { + "maxLength": 512, + "minLength": 1, + "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}\\Z", + "type": "string" + }, + "RetentionInDays": { + "enum": [ + 1, + 3, + 5, + 7, + 14, + 30, + 60, + 90, + 120, + 150, + 180, + 365, + 400, + 545, + 731, + 1096, + 1827, + 2192, + 2557, + 2922, + 3288, + 3653 + ], + "type": "integer" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Logs::LogGroup" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FilterName", + "/properties/LogGroupName" + ], + "definitions": { + "Dimension": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "Value": { + "maxLength": 255, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "MetricTransformation": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "number" + }, + "Dimensions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Dimension" + }, + "maxItems": 3, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "MetricName": { + "maxLength": 255, + "minLength": 1, + "pattern": "^((?![:*$])[\\x00-\\x7F]){1,255}", + "type": "string" + }, + "MetricNamespace": { + "$comment": "Namespaces can be up to 256 characters long; valid characters include 0-9A-Za-z.-_/#", + "maxLength": 256, + "minLength": 1, + "pattern": "^[0-9a-zA-Z\\.\\-_\\/#]{1,256}", + "type": "string" + }, + "MetricValue": { + "maxLength": 100, + "minLength": 1, + "pattern": "^(([0-9]*)|(\\$.*))$", + "type": "string" + }, + "Unit": { + "enum": [ + "Seconds", + "Microseconds", + "Milliseconds", + "Bytes", + "Kilobytes", + "Megabytes", + "Gigabytes", + "Terabytes", + "Bits", + "Kilobits", + "Megabits", + "Gigabits", + "Terabits", + "Percent", + "Count", + "Bytes/Second", + "Kilobytes/Second", + "Megabytes/Second", + "Gigabytes/Second", + "Terabytes/Second", + "Bits/Second", + "Kilobits/Second", + "Megabits/Second", + "Gigabits/Second", + "Terabits/Second", + "Count/Second", + "None" + ], + "type": "string" + } + }, + "required": [ + "MetricName", + "MetricNamespace", + "MetricValue" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/LogGroupName", + "/properties/FilterName" + ], + "properties": { + "FilterName": { + "maxLength": 512, + "minLength": 1, + "pattern": "^[^:*]{1,512}", + "type": "string" + }, + "FilterPattern": { + "maxLength": 1024, + "type": "string" + }, + "LogGroupName": { + "maxLength": 512, + "minLength": 1, + "pattern": "^[.\\-_/#A-Za-z0-9]{1,512}", + "type": "string" + }, + "MetricTransformations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MetricTransformation" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "replacementStrategy": "delete_then_create", + "required": [ + "FilterPattern", + "LogGroupName", + "MetricTransformations" + ], + "resourceLink": { + "mappings": { + "LogGroupName": "/LogGroupName", + "MetricName": "/MetricName" + }, + "templateUri": "/cloudwatch/home?region=${awsRegion}#logsV2:log-groups/log-group/${LogGroupName}/edit-metric-filter/${MetricName}" + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::Logs::MetricFilter" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "additionalProperties": false, + "definitions": { + "LogGroup": { + "maxLength": 512, + "minLength": 1, + "pattern": "[\\.\\-_/#A-Za-z0-9]+", + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/QueryDefinitionId" + ], + "properties": { + "LogGroupNames": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LogGroup" + }, + "type": "array" + }, + "Name": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "QueryDefinitionId": { + "maxLength": 256, + "minLength": 0, + "type": "string" + }, + "QueryString": { + "maxLength": 10000, + "minLength": 1, + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/QueryDefinitionId" + ], + "required": [ + "Name", + "QueryString" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", + "tagging": { + "taggable": false + }, + "typeName": "AWS::Logs::QueryDefinition" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/src/rpdk/core/data/schema/provider.definition.schema.v1.json", + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/FilterName", + "/properties/LogGroupName" + ], + "primaryIdentifier": [ + "/properties/FilterName", + "/properties/LogGroupName" + ], + "properties": { + "DestinationArn": { + "type": "string" + }, + "Distribution": { + "enum": [ + "Random", + "ByLogStream" + ], + "type": "string" + }, + "FilterName": { + "pattern": "[^:*]*", + "type": "string" + }, + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "pattern": "[\\.\\-_/#A-Za-z0-9]+", + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "replacementStrategy": "delete_then_create", + "required": [ + "DestinationArn", + "FilterPattern", + "LogGroupName" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::Logs::SubscriptionFilter" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Type" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\s\\S]*", + "type": "string" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "pattern": "[\\s\\S]*", + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Arn": { + "pattern": "^arn:aws.*:organizations::[0-9]{12}:policy/o-[a-z0-9]{10}/(service_control|tag|backup|aiservices_opt_out)_policy/p-[a-z0-9]{8}", + "type": "string" + }, + "AwsManaged": { + "type": "boolean" + }, + "Content": { + "maxLength": 1000000, + "minLength": 1, + "pattern": "[\\s\\S]*", + "type": [ + "object", + "string" + ] + }, + "Description": { + "maxLength": 512, + "pattern": "[\\s\\S]*", + "type": "string" + }, + "Id": { + "maxLength": 130, + "pattern": "^p-[0-9a-zA-Z_]{8,128}$", + "type": "string" + }, + "Name": { + "maxLength": 128, + "minLength": 1, + "pattern": "[\\s\\S]*", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "TargetIds": { + "insertionOrder": false, + "items": { + "pattern": "^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Type": { + "enum": [ + "SERVICE_CONTROL_POLICY", + "AISERVICES_OPT_OUT_POLICY", + "BACKUP_POLICY", + "TAG_POLICY", + "CHATBOT_POLICY", + "RESOURCE_CONTROL_POLICY" + ], + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/AwsManaged" + ], + "required": [ + "Name", + "Type", + "Content" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-organizations", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Organizations::Policy" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Sources": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "required": [ + "Name" + ], + "typeName": "AWS::RAM::ResourceShare" +} diff --git a/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-redshiftserverless-workgroup.json new file mode 100644 index 0000000000..60a6356907 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/cn_northwest_1/aws-redshiftserverless-workgroup.json @@ -0,0 +1,312 @@ +{ + "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_central_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py index 751316f163..aff1c0947d 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_1/__init__.py @@ -677,6 +677,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -808,6 +809,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::LookoutMetrics::Alert", "AWS::LookoutMetrics::AnomalyDetector", "AWS::LookoutVision::Project", @@ -895,6 +897,7 @@ "AWS::NetworkManager::CoreNetwork", "AWS::NetworkManager::CustomerGatewayAssociation", "AWS::NetworkManager::Device", + "AWS::NetworkManager::DirectConnectGatewayAttachment", "AWS::NetworkManager::GlobalNetwork", "AWS::NetworkManager::Link", "AWS::NetworkManager::LinkAssociation", @@ -1240,10 +1243,13 @@ "AWS::VpcLattice::AccessLogSubscription", "AWS::VpcLattice::AuthPolicy", "AWS::VpcLattice::Listener", + "AWS::VpcLattice::ResourceConfiguration", + "AWS::VpcLattice::ResourceGateway", "AWS::VpcLattice::ResourcePolicy", "AWS::VpcLattice::Rule", "AWS::VpcLattice::Service", "AWS::VpcLattice::ServiceNetwork", + "AWS::VpcLattice::ServiceNetworkResourceAssociation", "AWS::VpcLattice::ServiceNetworkServiceAssociation", "AWS::VpcLattice::ServiceNetworkVpcAssociation", "AWS::VpcLattice::TargetGroup", @@ -1331,6 +1337,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", @@ -1583,6 +1590,7 @@ "aws-connect-rule.json", "aws-connect-securitykey.json", "aws-connect-securityprofile.json", + "aws-connect-tasktemplate.json", "aws-connect-trafficdistributiongroup.json", "aws-connect-user.json", "aws-connect-userhierarchygroup.json", @@ -1677,6 +1685,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", @@ -1755,7 +1764,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", @@ -1774,7 +1782,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", @@ -1956,6 +1964,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1971,7 +1980,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", @@ -2098,6 +2106,7 @@ "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", @@ -2182,6 +2191,7 @@ "aws-networkmanager-corenetwork.json", "aws-networkmanager-customergatewayassociation.json", "aws-networkmanager-device.json", + "aws-networkmanager-directconnectgatewayattachment.json", "aws-networkmanager-globalnetwork.json", "aws-networkmanager-link.json", "aws-networkmanager-linkassociation.json", @@ -2218,6 +2228,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", @@ -2264,7 +2275,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", @@ -2275,7 +2285,7 @@ "aws-ram-permission.json", "aws-ram-resourceshare.json", "aws-rbin-rule.json", - "aws-rds-dbcluster.json", + "aws-rds-customdbengineversion.json", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbparametergroup.json", "aws-rds-dbproxy.json", @@ -2300,6 +2310,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", @@ -2509,7 +2520,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", @@ -2520,10 +2530,13 @@ "aws-vpclattice-accesslogsubscription.json", "aws-vpclattice-authpolicy.json", "aws-vpclattice-listener.json", + "aws-vpclattice-resourceconfiguration.json", + "aws-vpclattice-resourcegateway.json", "aws-vpclattice-resourcepolicy.json", "aws-vpclattice-rule.json", "aws-vpclattice-service.json", "aws-vpclattice-servicenetwork.json", + "aws-vpclattice-servicenetworkresourceassociation.json", "aws-vpclattice-servicenetworkserviceassociation.json", "aws-vpclattice-servicenetworkvpcassociation.json", "aws-vpclattice-targetgroup.json", @@ -2564,7 +2577,6 @@ "aws-wisdom-messagetemplateversion.json", "aws-workspaces-connectionalias.json", "aws-workspaces-workspace.json", - "aws-workspaces-workspacespool.json", "aws-workspacesthinclient-environment.json", "aws-workspacesweb-browsersettings.json", "aws-workspacesweb-dataprotectionsettings.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_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/eu_central_1/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-batch-jobdefinition.json index c62e41456c..2444dac742 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-batch-jobdefinition.json +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-batch-jobdefinition.json @@ -1,26 +1,14 @@ { "additionalProperties": false, "createOnlyProperties": [ - "/properties/Tags", "/properties/JobDefinitionName" ], "definitions": { - "AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, "ContainerProperties": { "additionalProperties": false, "properties": { "Command": { + "insertionOrder": true, "items": { "type": "string" }, @@ -28,6 +16,7 @@ "uniqueItems": false }, "Environment": { + "insertionOrder": true, "items": { "$ref": "#/definitions/Environment" }, @@ -41,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" }, @@ -62,8 +54,9 @@ "type": "integer" }, "MountPoints": { + "insertionOrder": false, "items": { - "$ref": "#/definitions/MountPoints" + "$ref": "#/definitions/MountPoint" }, "type": "array", "uniqueItems": false @@ -77,7 +70,11 @@ "ReadonlyRootFilesystem": { "type": "boolean" }, + "RepositoryCredentials": { + "$ref": "#/definitions/RepositoryCredentials" + }, "ResourceRequirements": { + "insertionOrder": false, "items": { "$ref": "#/definitions/ResourceRequirement" }, @@ -88,6 +85,7 @@ "$ref": "#/definitions/RuntimePlatform" }, "Secrets": { + "insertionOrder": false, "items": { "$ref": "#/definitions/Secret" }, @@ -95,6 +93,7 @@ "uniqueItems": false }, "Ulimits": { + "insertionOrder": false, "items": { "$ref": "#/definitions/Ulimit" }, @@ -108,8 +107,9 @@ "type": "integer" }, "Volumes": { + "insertionOrder": false, "items": { - "$ref": "#/definitions/Volumes" + "$ref": "#/definitions/Volume" }, "type": "array", "uniqueItems": false @@ -130,6 +130,7 @@ "type": "string" }, "Permissions": { + "insertionOrder": false, "items": { "type": "string" }, @@ -139,11 +140,23 @@ }, "type": "object" }, - "EfsVolumeConfiguration": { + "EFSAuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "Iam": { + "type": "string" + } + }, + "type": "object" + }, + "EFSVolumeConfiguration": { "additionalProperties": false, "properties": { "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" + "$ref": "#/definitions/EFSAuthorizationConfig" }, "FileSystemId": { "type": "string" @@ -163,10 +176,74 @@ ], "type": "object" }, + "EcsProperties": { + "additionalProperties": false, + "properties": { + "TaskProperties": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/EcsTaskProperties" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "TaskProperties" + ], + "type": "object" + }, + "EcsTaskProperties": { + "additionalProperties": false, + "properties": { + "Containers": { + "insertionOrder": false, + "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": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Volume" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, "EksContainer": { "additionalProperties": false, "properties": { "Args": { + "insertionOrder": true, "items": { "type": "string" }, @@ -174,6 +251,7 @@ "uniqueItems": false }, "Command": { + "insertionOrder": true, "items": { "type": "string" }, @@ -181,6 +259,7 @@ "uniqueItems": false }, "Env": { + "insertionOrder": false, "items": { "$ref": "#/definitions/EksContainerEnvironmentVariable" }, @@ -203,6 +282,7 @@ "$ref": "#/definitions/EksContainerSecurityContext" }, "VolumeMounts": { + "insertionOrder": false, "items": { "$ref": "#/definitions/EksContainerVolumeMount" }, @@ -234,18 +314,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" @@ -253,6 +337,9 @@ "EksContainerSecurityContext": { "additionalProperties": false, "properties": { + "AllowPrivilegeEscalation": { + "type": "boolean" + }, "Privileged": { "type": "boolean" }, @@ -307,11 +394,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" @@ -397,19 +552,38 @@ ], "type": "object" }, - "FargatePlatformConfiguration": { + "Host": { "additionalProperties": false, "properties": { - "PlatformVersion": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "ImagePullSecret": { + "additionalProperties": false, + "properties": { + "Name": { "type": "string" } }, "type": "object" }, + "JobTimeout": { + "additionalProperties": false, + "properties": { + "AttemptDurationSeconds": { + "type": "integer" + } + }, + "type": "object" + }, "LinuxParameters": { "additionalProperties": false, "properties": { "Devices": { + "insertionOrder": false, "items": { "$ref": "#/definitions/Device" }, @@ -429,6 +603,7 @@ "type": "integer" }, "Tmpfs": { + "insertionOrder": false, "items": { "$ref": "#/definitions/Tmpfs" }, @@ -445,13 +620,16 @@ "type": "string" }, "Options": { - "format": "json", - "type": [ - "object", - "string" - ] + "additionalProperties": false, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" }, "SecretOptions": { + "insertionOrder": false, "items": { "$ref": "#/definitions/Secret" }, @@ -464,30 +642,175 @@ ], "type": "object" }, - "Metadata": { + "MountPoint": { "additionalProperties": false, "properties": { - "Labels": { - "format": "json", - "type": [ - "object", - "string" - ] + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" } }, "type": "object" }, - "MountPoints": { + "MultiNodeContainerProperties": { "additionalProperties": false, "properties": { - "ContainerPath": { + "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" }, - "ReadOnly": { + "Image": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobRoleArn": { + "type": "string" + }, + "LinuxParameters": { + "$ref": "#/definitions/LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/LogConfiguration" + }, + "Memory": { + "type": "integer" + }, + "MountPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MountPoint" + }, + "type": "array", + "uniqueItems": false + }, + "Privileged": { "type": "boolean" }, - "SourceVolume": { + "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": [ + "Image" + ], + "type": "object" + }, + "MultiNodeEcsProperties": { + "additionalProperties": false, + "properties": { + "TaskProperties": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MultiNodeEcsTaskProperties" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "TaskProperties" + ], + "type": "object" + }, + "MultiNodeEcsTaskProperties": { + "additionalProperties": false, + "properties": { + "Containers": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TaskContainerProperties" + }, + "type": "array", + "uniqueItems": false + }, + "ExecutionRoleArn": { + "type": "string" + }, + "IpcMode": { + "type": "string" + }, + "PidMode": { + "type": "string" + }, + "TaskRoleArn": { "type": "string" + }, + "Volumes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Volume" + }, + "type": "array", + "uniqueItems": false } }, "type": "object" @@ -508,6 +831,7 @@ "type": "integer" }, "NodeRangeProperties": { + "insertionOrder": false, "items": { "$ref": "#/definitions/NodeRangeProperty" }, @@ -519,9 +843,9 @@ } }, "required": [ + "NumNodes", "MainNode", - "NodeRangeProperties", - "NumNodes" + "NodeRangeProperties" ], "type": "object" }, @@ -529,7 +853,21 @@ "additionalProperties": false, "properties": { "Container": { - "$ref": "#/definitions/ContainerProperties" + "$ref": "#/definitions/MultiNodeContainerProperties" + }, + "EcsProperties": { + "$ref": "#/definitions/MultiNodeEcsProperties" + }, + "EksProperties": { + "$ref": "#/definitions/EksProperties" + }, + "InstanceTypes": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false }, "TargetNodes": { "type": "string" @@ -540,36 +878,16 @@ ], "type": "object" }, - "PodProperties": { + "RepositoryCredentials": { "additionalProperties": false, "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/EksContainer" - }, - "type": "array", - "uniqueItems": false - }, - "DnsPolicy": { - "type": "string" - }, - "HostNetwork": { - "type": "boolean" - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { + "CredentialsParameter": { "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/EksVolume" - }, - "type": "array", - "uniqueItems": false } }, + "required": [ + "CredentialsParameter" + ], "type": "object" }, "ResourceRequirement": { @@ -591,6 +909,7 @@ "type": "integer" }, "EvaluateOnExit": { + "insertionOrder": false, "items": { "$ref": "#/definitions/EvaluateOnExit" }, @@ -623,18 +942,117 @@ } }, "required": [ - "ValueFrom", - "Name" + "Name", + "ValueFrom" ], "type": "object" }, - "Timeout": { + "TaskContainerDependency": { "additionalProperties": false, "properties": { - "AttemptDurationSeconds": { - "type": "integer" + "Condition": { + "type": "string" + }, + "ContainerName": { + "type": "string" } }, + "required": [ + "ContainerName", + "Condition" + ], + "type": "object" + }, + "TaskContainerProperties": { + "additionalProperties": false, + "properties": { + "Command": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DependsOn": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TaskContainerDependency" + }, + "type": "array", + "uniqueItems": false + }, + "Environment": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Environment" + }, + "type": "array", + "uniqueItems": false + }, + "Essential": { + "type": "boolean" + }, + "Image": { + "type": "string" + }, + "LinuxParameters": { + "$ref": "#/definitions/LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/LogConfiguration" + }, + "MountPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MountPoint" + }, + "type": "array", + "uniqueItems": false + }, + "Name": { + "type": "string" + }, + "Privileged": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "RepositoryCredentials": { + "$ref": "#/definitions/RepositoryCredentials" + }, + "ResourceRequirements": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ResourceRequirement" + }, + "type": "array", + "uniqueItems": false + }, + "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" + } + }, + "required": [ + "Image" + ], "type": "object" }, "Tmpfs": { @@ -644,6 +1062,7 @@ "type": "string" }, "MountOptions": { + "insertionOrder": false, "items": { "type": "string" }, @@ -655,8 +1074,8 @@ } }, "required": [ - "Size", - "ContainerPath" + "ContainerPath", + "Size" ], "type": "object" }, @@ -674,64 +1093,59 @@ } }, "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": { "$ref": "#/definitions/ContainerProperties" }, + "EcsProperties": { + "$ref": "#/definitions/EcsProperties" + }, "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": { "type": "string" }, @@ -748,24 +1162,31 @@ "type": "integer" }, "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] + "additionalProperties": false, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" }, "Timeout": { - "$ref": "#/definitions/Timeout" + "$ref": "#/definitions/JobTimeout" }, "Type": { "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/eu_central_1/aws-connect-tasktemplate.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-connect-tasktemplate.json deleted file mode 100644 index 97d8288921..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_1/aws-connect-tasktemplate.json +++ /dev/null @@ -1,271 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "ClientToken": { - "pattern": "^$|[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$", - "type": "string" - }, - "DefaultFieldValue": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "$ref": "#/definitions/FieldValue" - }, - "Id": { - "$ref": "#/definitions/FieldIdentifier" - } - }, - "required": [ - "Id", - "DefaultValue" - ], - "type": "object" - }, - "Field": { - "additionalProperties": false, - "properties": { - "Description": { - "maxLength": 255, - "minLength": 0, - "type": "string" - }, - "Id": { - "$ref": "#/definitions/FieldIdentifier" - }, - "SingleSelectOptions": { - "items": { - "$ref": "#/definitions/FieldOption" - }, - "maxItems": 50, - "type": "array" - }, - "Type": { - "$ref": "#/definitions/FieldType" - } - }, - "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "FieldIdentifier": { - "additionalProperties": false, - "properties": { - "Name": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "FieldOption": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9_.,\\s-]*[A-Za-z0-9_.,-])?$", - "type": "string" - }, - "FieldType": { - "enum": [ - "NAME", - "DESCRIPTION", - "SCHEDULED_TIME", - "QUICK_CONNECT", - "URL", - "NUMBER", - "TEXT", - "TEXT_AREA", - "DATE_TIME", - "BOOLEAN", - "SINGLE_SELECT", - "EMAIL", - "EXPIRY_DURATION", - "SELF_ASSIGN" - ], - "type": "string" - }, - "FieldValue": { - "maxLength": 4096, - "minLength": 1, - "type": "string" - }, - "InvisibleFieldInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "$ref": "#/definitions/FieldIdentifier" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "InvisibleTaskTemplateFields": { - "items": { - "$ref": "#/definitions/InvisibleFieldInfo" - }, - "maxItems": 50, - "type": "array" - }, - "ReadOnlyFieldInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "$ref": "#/definitions/FieldIdentifier" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "ReadOnlyTaskTemplateFields": { - "items": { - "$ref": "#/definitions/ReadOnlyFieldInfo" - }, - "maxItems": 50, - "type": "array" - }, - "RequiredFieldInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "$ref": "#/definitions/FieldIdentifier" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "RequiredTaskTemplateFields": { - "items": { - "$ref": "#/definitions/RequiredFieldInfo" - }, - "maxItems": 50, - "type": "array" - }, - "Status": { - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/task-template/[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$", - "type": "string" - }, - "ClientToken": { - "$ref": "#/definitions/ClientToken" - }, - "Constraints": { - "additionalProperties": false, - "properties": { - "InvisibleFields": { - "$ref": "#/definitions/InvisibleTaskTemplateFields" - }, - "ReadOnlyFields": { - "$ref": "#/definitions/ReadOnlyTaskTemplateFields" - }, - "RequiredFields": { - "$ref": "#/definitions/RequiredTaskTemplateFields" - } - }, - "type": "object" - }, - "ContactFlowArn": { - "pattern": "^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$", - "type": "string" - }, - "Defaults": { - "items": { - "$ref": "#/definitions/DefaultFieldValue" - }, - "maxItems": 50, - "type": "array" - }, - "Description": { - "maxLength": 255, - "minLength": 0, - "type": "string" - }, - "Fields": { - "items": { - "$ref": "#/definitions/Field" - }, - "maxItems": 50, - "type": "array" - }, - "InstanceArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$", - "type": "string" - }, - "Name": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "SelfAssignContactFlowArn": { - "pattern": "^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$", - "type": "string" - }, - "Status": { - "$ref": "#/definitions/Status" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "required": [ - "InstanceArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": false, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Connect::TaskTemplate" -} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpcendpoint.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpcendpoint.json new file mode 100644 index 0000000000..069e16e3c5 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ec2-vpcendpoint.json @@ -0,0 +1,177 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ServiceName", + "/properties/VpcEndpointType", + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" + ], + "definitions": { + "DnsOptionsSpecification": { + "additionalProperties": false, + "properties": { + "DnsRecordIpType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "type": "string" + }, + "PrivateDnsOnlyForInboundResolverEndpoint": { + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "CreationTimestamp": { + "type": "string" + }, + "DnsEntries": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DnsOptions": { + "$ref": "#/definitions/DnsOptionsSpecification" + }, + "Id": { + "type": "string" + }, + "IpAddressType": { + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" + ], + "type": "string" + }, + "NetworkInterfaceIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PolicyDocument": { + "type": [ + "string", + "object" + ] + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "ResourceConfigurationArn": { + "type": "string" + }, + "RouteTableIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/RouteTableId", + "typeName": "AWS::EC2::RouteTable" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "anyOf": [ + { + "relationshipRef": { + "propertyPath": "/properties/GroupId", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/Id", + "typeName": "AWS::EC2::SecurityGroup" + } + }, + { + "relationshipRef": { + "propertyPath": "/properties/DefaultSecurityGroup", + "typeName": "AWS::EC2::VPC" + } + } + ], + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ServiceName": { + "type": "string" + }, + "ServiceNetworkArn": { + "type": "string" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "relationshipRef": { + "propertyPath": "/properties/SubnetId", + "typeName": "AWS::EC2::Subnet" + }, + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "VpcEndpointType": { + "enum": [ + "Interface", + "Gateway", + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" + ], + "type": "string" + }, + "VpcId": { + "format": "AWS::EC2::VPC.Id", + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/NetworkInterfaceIds", + "/properties/CreationTimestamp", + "/properties/DnsEntries", + "/properties/Id" + ], + "required": [ + "VpcId" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::EC2::VPCEndpoint" +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-service.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-service.json new file mode 100644 index 0000000000..2160921812 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-ecs-service.json @@ -0,0 +1,646 @@ +{ + "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])", + "/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", + "/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_1/aws-iot-softwarepackageversion.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-iot-softwarepackageversion.json new file mode 100644 index 0000000000..48ddfbd4c0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-iot-softwarepackageversion.json @@ -0,0 +1,111 @@ +{ + "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/eu_central_1/aws-quicksight-dataset.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-quicksight-dataset.json new file mode 100644 index 0000000000..ba48a3b834 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/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" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-rds-dbcluster.json new file mode 100644 index 0000000000..8372362d6b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_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_central_1/aws-transfer-server.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-transfer-server.json new file mode 100644 index 0000000000..8fcb89e247 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-transfer-server.json @@ -0,0 +1,403 @@ +{ + "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" + }, + "State": { + "enum": [ + "OFFLINE", + "ONLINE", + "STARTING", + "STOPPING", + "START_FAILED", + "STOP_FAILED" + ], + "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" + }, + "State": { + "$ref": "#/definitions/State" + }, + "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", + "/properties/State" + ], + "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/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/eu_central_1/aws-workspaces-workspacespool.json new file mode 100644 index 0000000000..19c638ca23 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_1/aws-workspaces-workspacespool.json @@ -0,0 +1,158 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PoolName" + ], + "definitions": { + "ApplicationSettings": { + "additionalProperties": false, + "properties": { + "SettingsGroup": { + "maxLength": 100, + "pattern": "^[A-Za-z0-9_./()!*'-]+$", + "type": "string" + }, + "Status": { + "$ref": "#/definitions/ApplicationSettingsStatus" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "ApplicationSettingsStatus": { + "enum": [ + "DISABLED", + "ENABLED" + ], + "type": "string" + }, + "Capacity": { + "additionalProperties": false, + "properties": { + "DesiredUserSessions": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "DesiredUserSessions" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "TimeoutSettings": { + "additionalProperties": false, + "properties": { + "DisconnectTimeoutInSeconds": { + "maximum": 36000, + "minimum": 60, + "type": "integer" + }, + "IdleDisconnectTimeoutInSeconds": { + "maximum": 36000, + "minimum": 0, + "type": "integer" + }, + "MaxUserDurationInSeconds": { + "maximum": 432000, + "minimum": 600, + "type": "integer" + } + }, + "required": [], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/PoolId" + ], + "properties": { + "ApplicationSettings": { + "$ref": "#/definitions/ApplicationSettings" + }, + "BundleId": { + "pattern": "^wsb-[0-9a-z]{8,63}$", + "type": "string" + }, + "Capacity": { + "$ref": "#/definitions/Capacity" + }, + "CreatedAt": { + "type": "string" + }, + "Description": { + "maxLength": 255, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_./() -]+$", + "type": "string" + }, + "DirectoryId": { + "maxLength": 65, + "minLength": 10, + "pattern": "^wsd-[0-9a-z]{8,63}$", + "type": "string" + }, + "PoolArn": { + "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$", + "type": "string" + }, + "PoolId": { + "pattern": "^wspool-[0-9a-z]{9}$", + "type": "string" + }, + "PoolName": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TimeoutSettings": { + "$ref": "#/definitions/TimeoutSettings" + } + }, + "readOnlyProperties": [ + "/properties/PoolId", + "/properties/PoolArn", + "/properties/CreatedAt" + ], + "required": [ + "PoolName", + "BundleId", + "DirectoryId", + "Capacity" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::WorkSpaces::WorkspacesPool", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py index 3e74ac39b4..b8864feffc 100644 --- a/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_central_2/__init__.py @@ -756,6 +756,7 @@ "aws-appconfig-extensionassociation.json", "aws-appconfig-hostedconfigurationversion.json", "aws-applicationautoscaling-scalabletarget.json", + "aws-applicationautoscaling-scalingpolicy.json", "aws-applicationinsights-application.json", "aws-applicationsignals-servicelevelobjective.json", "aws-appmesh-gatewayroute.json", @@ -827,7 +828,6 @@ "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,7 +906,6 @@ "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", @@ -974,6 +973,7 @@ "aws-ec2-vpcendpointservicepermissions.json", "aws-ec2-vpcgatewayattachment.json", "aws-ec2-vpcpeeringconnection.json", + "aws-ec2-vpnconnection.json", "aws-ec2-vpnconnectionroute.json", "aws-ec2-vpngateway.json", "aws-ecr-pullthroughcacherule.json", @@ -986,7 +986,6 @@ "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", @@ -1121,12 +1120,8 @@ "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-msk-batchscramsecret.json", "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", @@ -1166,7 +1161,6 @@ "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", @@ -1183,7 +1177,6 @@ "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", @@ -1210,7 +1203,6 @@ "aws-redshift-integration.json", "aws-redshift-scheduledaction.json", "aws-redshiftserverless-namespace.json", - "aws-redshiftserverless-workgroup.json", "aws-resourceexplorer2-defaultviewassociation.json", "aws-resourceexplorer2-index.json", "aws-resourceexplorer2-view.json", diff --git a/src/cfnlint/data/schemas/providers/eu_central_2/aws-applicationautoscaling-scalingpolicy.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-applicationautoscaling-scalingpolicy.json deleted file mode 100644 index 9d56587785..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-applicationautoscaling-scalingpolicy.json +++ /dev/null @@ -1,372 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/PolicyName", - "/properties/ServiceNamespace", - "/properties/ResourceId", - "/properties/ScalableDimension", - "/properties/ScalingTargetId" - ], - "definitions": { - "CustomizedMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MetricDimension" - }, - "type": "array", - "uniqueItems": false - }, - "MetricName": { - "type": "string" - }, - "Metrics": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TargetTrackingMetricDataQuery" - }, - "type": "array", - "uniqueItems": false - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "enum": [ - "Average", - "Maximum", - "Minimum", - "SampleCount", - "Sum" - ], - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "type": "object" - }, - "MetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Name" - ], - "type": "object" - }, - "PredefinedMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedMetricType": { - "enum": [ - "ALBRequestCountPerTarget", - "AppStreamAverageCapacityUtilization", - "CassandraReadCapacityUtilization", - "CassandraWriteCapacityUtilization", - "ComprehendInferenceUtilization", - "DynamoDBReadCapacityUtilization", - "DynamoDBWriteCapacityUtilization", - "EC2SpotFleetRequestAverageCPUUtilization", - "EC2SpotFleetRequestAverageNetworkIn", - "EC2SpotFleetRequestAverageNetworkOut", - "ECSServiceAverageCPUUtilization", - "ECSServiceAverageMemoryUtilization", - "ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage", - "ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage", - "ElastiCachePrimaryEngineCPUUtilization", - "ElastiCacheReplicaEngineCPUUtilization", - "KafkaBrokerStorageUtilization", - "LambdaProvisionedConcurrencyUtilization", - "NeptuneReaderAverageCPUUtilization", - "RDSReaderAverageCPUUtilization", - "RDSReaderAverageDatabaseConnections", - "SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution", - "SageMakerInferenceComponentInvocationsPerCopy", - "SageMakerVariantConcurrentRequestsPerModelHighResolution", - "SageMakerVariantInvocationsPerInstance", - "SageMakerVariantProvisionedConcurrencyUtilization", - "WorkSpacesAverageUserSessionsCapacityUtilization" - ], - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedMetricType" - ], - "type": "object" - }, - "StepAdjustment": { - "additionalProperties": false, - "properties": { - "MetricIntervalLowerBound": { - "type": "number" - }, - "MetricIntervalUpperBound": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "integer" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "StepScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "enum": [ - "ChangeInCapacity", - "ExactCapacity", - "PercentChangeInCapacity" - ], - "type": "string" - }, - "Cooldown": { - "type": "integer" - }, - "MetricAggregationType": { - "enum": [ - "Average", - "Maximum", - "Minimum" - ], - "type": "string" - }, - "MinAdjustmentMagnitude": { - "type": "integer" - }, - "StepAdjustments": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/StepAdjustment" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "TargetTrackingMetric": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TargetTrackingMetricDimension" - }, - "type": "array", - "uniqueItems": false - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - } - }, - "type": "object" - }, - "TargetTrackingMetricDataQuery": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Label": { - "type": "string" - }, - "MetricStat": { - "$ref": "#/definitions/TargetTrackingMetricStat" - }, - "ReturnData": { - "type": "boolean" - } - }, - "type": "object" - }, - "TargetTrackingMetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "TargetTrackingMetricStat": { - "additionalProperties": false, - "properties": { - "Metric": { - "$ref": "#/definitions/TargetTrackingMetric" - }, - "Stat": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "type": "object" - }, - "TargetTrackingScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "CustomizedMetricSpecification": { - "$ref": "#/definitions/CustomizedMetricSpecification" - }, - "DisableScaleIn": { - "type": "boolean" - }, - "PredefinedMetricSpecification": { - "$ref": "#/definitions/PredefinedMetricSpecification" - }, - "ScaleInCooldown": { - "type": "integer" - }, - "ScaleOutCooldown": { - "type": "integer" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - } - }, - "dependentRequired": { - "ResourceId": [ - "ScalableDimension", - "ServiceNamespace" - ] - }, - "primaryIdentifier": [ - "/properties/Arn", - "/properties/ScalableDimension" - ], - "properties": { - "Arn": { - "type": "string" - }, - "PolicyName": { - "pattern": "\\p{Print}+", - "type": "string" - }, - "PolicyType": { - "enum": [ - "PredictiveScaling", - "StepScaling", - "TargetTrackingScaling" - ], - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "ScalableDimension": { - "enum": [ - "appstream:fleet:DesiredCapacity", - "cassandra:table:ReadCapacityUnits", - "cassandra:table:WriteCapacityUnits", - "comprehend:document-classifier-endpoint:DesiredInferenceUnits", - "comprehend:entity-recognizer-endpoint:DesiredInferenceUnits", - "custom-resource:ResourceType:Property", - "dynamodb:index:ReadCapacityUnits", - "dynamodb:index:WriteCapacityUnits", - "dynamodb:table:ReadCapacityUnits", - "dynamodb:table:WriteCapacityUnits", - "ec2:spot-fleet-request:TargetCapacity", - "ecs:service:DesiredCount", - "elasticache:replication-group:NodeGroups", - "elasticache:replication-group:Replicas", - "elasticmapreduce:instancegroup:InstanceCount", - "kafka:broker-storage:VolumeSize", - "lambda:function:ProvisionedConcurrency", - "neptune:cluster:ReadReplicaCount", - "rds:cluster:ReadReplicaCount", - "sagemaker:inference-component:DesiredCopyCount", - "sagemaker:variant:DesiredInstanceCount", - "sagemaker:variant:DesiredProvisionedConcurrency", - "workspaces:workspacespool:DesiredUserSessions" - ], - "type": "string" - }, - "ScalingTargetId": { - "type": "string" - }, - "ServiceNamespace": { - "enum": [ - "appstream", - "cassandra", - "comprehend", - "custom-resource", - "dynamodb", - "ec2", - "ecs", - "elasticache", - "elasticmapreduce", - "kafka", - "lambda", - "neptune", - "rds", - "sagemaker", - "workspaces" - ], - "type": "string" - }, - "StepScalingPolicyConfiguration": { - "$ref": "#/definitions/StepScalingPolicyConfiguration" - }, - "TargetTrackingScalingPolicyConfiguration": { - "$ref": "#/definitions/TargetTrackingScalingPolicyConfiguration" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "required": [ - "PolicyName", - "PolicyType" - ], - "requiredXor": [ - "ScalingTargetId", - "ResourceId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::ApplicationAutoScaling::ScalingPolicy", - "writeOnlyProperties": [ - "/properties/TargetTrackingScalingPolicyConfiguration/PredefinedMetricSpecification/ResourceLabel", - "/properties/ScalingTargetId" - ] -} 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 new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-ec2-vpnconnection.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-vpnconnection.json deleted file mode 100644 index a9d5be394d..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_central_2/aws-ec2-vpnconnection.json +++ /dev/null @@ -1,383 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Type", - "/properties/CustomerGatewayId", - "/properties/VpnGatewayId", - "/properties/TransitGatewayId", - "/properties/EnableAcceleration", - "/properties/LocalIpv4NetworkCidr", - "/properties/LocalIpv6NetworkCidr", - "/properties/OutsideIpAddressType", - "/properties/RemoteIpv4NetworkCidr", - "/properties/RemoteIpv6NetworkCidr", - "/properties/StaticRoutesOnly", - "/properties/TransportTransitGatewayAttachmentId", - "/properties/TunnelInsideIpVersion", - "/properties/VpnTunnelOptionsSpecifications" - ], - "definitions": { - "CloudwatchLogOptionsSpecification": { - "additionalProperties": false, - "properties": { - "LogEnabled": { - "type": "boolean" - }, - "LogGroupArn": { - "type": "string" - }, - "LogOutputFormat": { - "enum": [ - "json", - "text" - ], - "type": "string" - } - }, - "type": "object" - }, - "IKEVersionsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "ikev1", - "ikev2" - ], - "type": "string" - } - }, - "type": "object" - }, - "Phase1DHGroupNumbersRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - 2, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "type": "integer" - } - }, - "type": "object" - }, - "Phase1EncryptionAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "AES128", - "AES256", - "AES128-GCM-16", - "AES256-GCM-16" - ], - "type": "string" - } - }, - "type": "object" - }, - "Phase1IntegrityAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "SHA1", - "SHA2-256", - "SHA2-384", - "SHA2-512" - ], - "type": "string" - } - }, - "type": "object" - }, - "Phase2DHGroupNumbersRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - 2, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "type": "integer" - } - }, - "type": "object" - }, - "Phase2EncryptionAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "AES128", - "AES256", - "AES128-GCM-16", - "AES256-GCM-16" - ], - "type": "string" - } - }, - "type": "object" - }, - "Phase2IntegrityAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "SHA1", - "SHA2-256", - "SHA2-384", - "SHA2-512" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "VpnTunnelLogOptionsSpecification": { - "additionalProperties": false, - "properties": { - "CloudwatchLogOptions": { - "$ref": "#/definitions/CloudwatchLogOptionsSpecification" - } - }, - "type": "object" - }, - "VpnTunnelOptionsSpecification": { - "additionalProperties": false, - "properties": { - "DPDTimeoutAction": { - "enum": [ - "clear", - "none", - "restart" - ], - "type": "string" - }, - "DPDTimeoutSeconds": { - "minimum": 30, - "type": "integer" - }, - "EnableTunnelLifecycleControl": { - "type": "boolean" - }, - "IKEVersions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/IKEVersionsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "LogOptions": { - "$ref": "#/definitions/VpnTunnelLogOptionsSpecification" - }, - "Phase1DHGroupNumbers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase1DHGroupNumbersRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase1EncryptionAlgorithms": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase1EncryptionAlgorithmsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase1IntegrityAlgorithms": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase1IntegrityAlgorithmsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase1LifetimeSeconds": { - "maximum": 28800, - "minimum": 900, - "type": "integer" - }, - "Phase2DHGroupNumbers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase2DHGroupNumbersRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase2EncryptionAlgorithms": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase2EncryptionAlgorithmsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase2IntegrityAlgorithms": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase2IntegrityAlgorithmsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase2LifetimeSeconds": { - "maximum": 3600, - "minimum": 900, - "type": "integer" - }, - "PreSharedKey": { - "type": "string" - }, - "RekeyFuzzPercentage": { - "maximum": 100, - "minimum": 0, - "type": "integer" - }, - "RekeyMarginTimeSeconds": { - "minimum": 60, - "type": "integer" - }, - "ReplayWindowSize": { - "maximum": 2048, - "minimum": 64, - "type": "integer" - }, - "StartupAction": { - "enum": [ - "add", - "start" - ], - "type": "string" - }, - "TunnelInsideCidr": { - "type": "string" - }, - "TunnelInsideIpv6Cidr": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/VpnConnectionId" - ], - "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "EnableAcceleration": { - "type": "boolean" - }, - "LocalIpv4NetworkCidr": { - "type": "string" - }, - "LocalIpv6NetworkCidr": { - "type": "string" - }, - "OutsideIpAddressType": { - "type": "string" - }, - "RemoteIpv4NetworkCidr": { - "type": "string" - }, - "RemoteIpv6NetworkCidr": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TransitGatewayId": { - "type": "string" - }, - "TransportTransitGatewayAttachmentId": { - "type": "string" - }, - "TunnelInsideIpVersion": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnConnectionId": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpnTunnelOptionsSpecification" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/VpnConnectionId" - ], - "required": [ - "Type", - "CustomerGatewayId" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EC2::VPNConnection" -} 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 new file mode 100644 index 0000000000..35c2b1ed93 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ecs-taskdefinition.json @@ -0,0 +1,1044 @@ +{ + "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-loggroup.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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 new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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_2/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/eu_central_2/aws-redshiftserverless-workgroup.json new file mode 100644 index 0000000000..60a6356907 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_central_2/aws-redshiftserverless-workgroup.json @@ -0,0 +1,312 @@ +{ + "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_north_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py index e4e918547e..0ffaa4162b 100644 --- a/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_north_1/__init__.py @@ -531,6 +531,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -623,6 +624,7 @@ "AWS::LookoutMetrics::Alert", "AWS::LookoutMetrics::AnomalyDetector", "AWS::M2::Application", + "AWS::M2::Deployment", "AWS::M2::Environment", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", @@ -699,6 +701,7 @@ "AWS::NetworkManager::CoreNetwork", "AWS::NetworkManager::CustomerGatewayAssociation", "AWS::NetworkManager::Device", + "AWS::NetworkManager::DirectConnectGatewayAttachment", "AWS::NetworkManager::GlobalNetwork", "AWS::NetworkManager::Link", "AWS::NetworkManager::LinkAssociation", @@ -1160,7 +1163,6 @@ "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", @@ -1287,7 +1289,6 @@ "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", @@ -1529,6 +1530,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1607,16 +1609,12 @@ "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-lookoutmetrics-alert.json", "aws-lookoutmetrics-anomalydetector.json", "aws-m2-application.json", - "aws-m2-environment.json", + "aws-m2-deployment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -1670,7 +1668,6 @@ "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", - "aws-msk-replicator.json", "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", @@ -1687,6 +1684,7 @@ "aws-networkmanager-corenetwork.json", "aws-networkmanager-customergatewayassociation.json", "aws-networkmanager-device.json", + "aws-networkmanager-directconnectgatewayattachment.json", "aws-networkmanager-globalnetwork.json", "aws-networkmanager-link.json", "aws-networkmanager-linkassociation.json", @@ -1729,7 +1727,6 @@ "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", @@ -1758,6 +1755,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", 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 new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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-m2-environment.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-m2-environment.json new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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_north_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/eu_north_1/aws-msk-replicator.json new file mode 100644 index 0000000000..8ca994e218 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-msk-replicator.json @@ -0,0 +1,321 @@ +{ + "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 new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_north_1/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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/__init__.py b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py index a16bc90dd0..716bf6e1b0 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_1/__init__.py @@ -534,6 +534,7 @@ "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", "AWS::M2::Application", + "AWS::M2::Deployment", "AWS::M2::Environment", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", @@ -770,6 +771,7 @@ "AWS::StepFunctions::StateMachineVersion", "AWS::Synthetics::Canary", "AWS::SystemsManagerSAP::Application", + "AWS::Timestream::InfluxDBInstance", "AWS::Transfer::Agreement", "AWS::Transfer::Certificate", "AWS::Transfer::Connector", @@ -784,10 +786,13 @@ "AWS::VpcLattice::AccessLogSubscription", "AWS::VpcLattice::AuthPolicy", "AWS::VpcLattice::Listener", + "AWS::VpcLattice::ResourceConfiguration", + "AWS::VpcLattice::ResourceGateway", "AWS::VpcLattice::ResourcePolicy", "AWS::VpcLattice::Rule", "AWS::VpcLattice::Service", "AWS::VpcLattice::ServiceNetwork", + "AWS::VpcLattice::ServiceNetworkResourceAssociation", "AWS::VpcLattice::ServiceNetworkServiceAssociation", "AWS::VpcLattice::ServiceNetworkVpcAssociation", "AWS::VpcLattice::TargetGroup", @@ -953,7 +958,6 @@ "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", @@ -1063,7 +1067,6 @@ "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", @@ -1310,14 +1313,10 @@ "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-m2-application.json", - "aws-m2-environment.json", + "aws-m2-deployment.json", "aws-macie-allowlist.json", "aws-macie-session.json", "aws-msk-batchscramsecret.json", @@ -1354,7 +1353,6 @@ "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", @@ -1371,7 +1369,6 @@ "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", @@ -1552,10 +1549,13 @@ "aws-vpclattice-accesslogsubscription.json", "aws-vpclattice-authpolicy.json", "aws-vpclattice-listener.json", + "aws-vpclattice-resourceconfiguration.json", + "aws-vpclattice-resourcegateway.json", "aws-vpclattice-resourcepolicy.json", "aws-vpclattice-rule.json", "aws-vpclattice-service.json", "aws-vpclattice-servicenetwork.json", + "aws-vpclattice-servicenetworkresourceassociation.json", "aws-vpclattice-servicenetworkserviceassociation.json", "aws-vpclattice-servicenetworkvpcassociation.json", "aws-vpclattice-targetgroup.json", 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 new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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-m2-environment.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-m2-environment.json new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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_south_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-organizations-policy.json new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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 new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/eu_south_1/aws-timestream-influxdbinstance.json new file mode 100644 index 0000000000..3cd225dc53 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_1/aws-timestream-influxdbinstance.json @@ -0,0 +1,236 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket", + "/properties/VpcSubnetIds", + "/properties/VpcSecurityGroupIds", + "/properties/PubliclyAccessible", + "/properties/DbStorageType", + "/properties/AllocatedStorage" + ], + "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/Id" + ], + "properties": { + "AllocatedStorage": { + "maximum": 16384, + "minimum": 20, + "type": "integer" + }, + "Arn": { + "maxLength": 1011, + "minLength": 1, + "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$", + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Bucket": { + "maxLength": 64, + "minLength": 2, + "pattern": "^[^_][^\"]*$", + "type": "string" + }, + "DbInstanceType": { + "enum": [ + "db.influx.medium", + "db.influx.large", + "db.influx.xlarge", + "db.influx.2xlarge", + "db.influx.4xlarge", + "db.influx.8xlarge", + "db.influx.12xlarge", + "db.influx.16xlarge" + ], + "type": "string" + }, + "DbParameterGroupIdentifier": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "DbStorageType": { + "enum": [ + "InfluxIOIncludedT1", + "InfluxIOIncludedT2", + "InfluxIOIncludedT3" + ], + "type": "string" + }, + "DeploymentType": { + "enum": [ + "SINGLE_AZ", + "WITH_MULTIAZ_STANDBY" + ], + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "InfluxAuthParametersSecretArn": { + "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*", + "type": "string" + }, + "LogDeliveryConfiguration": { + "additionalProperties": false, + "properties": { + "S3Configuration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$", + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled", + "BucketName" + ], + "type": "object" + } + }, + "required": [ + "S3Configuration" + ], + "type": "object" + }, + "Name": { + "maxLength": 40, + "minLength": 3, + "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$", + "type": "string" + }, + "Organization": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "Password": { + "maxLength": 64, + "minLength": 8, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "Port": { + "maximum": 65535, + "minimum": 1024, + "type": "integer" + }, + "PubliclyAccessible": { + "default": false, + "type": "boolean" + }, + "SecondaryAvailabilityZone": { + "type": "string" + }, + "Status": { + "enum": [ + "CREATING", + "AVAILABLE", + "DELETING", + "MODIFYING", + "UPDATING", + "UPDATING_DEPLOYMENT_TYPE", + "UPDATING_INSTANCE_TYPE", + "DELETED", + "FAILED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Username": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "VpcSubnetIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Status", + "/properties/Arn", + "/properties/Id", + "/properties/AvailabilityZone", + "/properties/Endpoint", + "/properties/SecondaryAvailabilityZone", + "/properties/InfluxAuthParametersSecretArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Timestream::InfluxDBInstance", + "writeOnlyProperties": [ + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket" + ] +} 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 0d0f3dffc8..86c6352dc7 100644 --- a/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_south_2/__init__.py @@ -466,6 +466,7 @@ "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", "AWS::M2::Application", + "AWS::M2::Deployment", "AWS::M2::Environment", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", @@ -677,6 +678,7 @@ "AWS::StepFunctions::StateMachineVersion", "AWS::Synthetics::Canary", "AWS::SystemsManagerSAP::Application", + "AWS::Timestream::InfluxDBInstance", "AWS::Transfer::Agreement", "AWS::Transfer::Certificate", "AWS::Transfer::Connector", @@ -834,7 +836,6 @@ "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", @@ -916,7 +917,6 @@ "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", @@ -1139,14 +1139,10 @@ "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-m2-application.json", - "aws-m2-environment.json", + "aws-m2-deployment.json", "aws-memorydb-acl.json", "aws-memorydb-parametergroup.json", "aws-memorydb-subnetgroup.json", @@ -1197,7 +1193,6 @@ "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", @@ -1224,7 +1219,6 @@ "aws-redshift-integration.json", "aws-redshift-scheduledaction.json", "aws-redshiftserverless-namespace.json", - "aws-redshiftserverless-workgroup.json", "aws-rekognition-collection.json", "aws-resourceexplorer2-defaultviewassociation.json", "aws-resourceexplorer2-index.json", 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 new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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-m2-environment.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-m2-environment.json new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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_south_2/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Sources": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "required": [ + "Name" + ], + "typeName": "AWS::RAM::ResourceShare" +} diff --git a/src/cfnlint/data/schemas/providers/eu_south_2/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-redshiftserverless-workgroup.json new file mode 100644 index 0000000000..60a6356907 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-redshiftserverless-workgroup.json @@ -0,0 +1,312 @@ +{ + "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_south_2/aws-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/eu_south_2/aws-timestream-influxdbinstance.json new file mode 100644 index 0000000000..3cd225dc53 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_south_2/aws-timestream-influxdbinstance.json @@ -0,0 +1,236 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket", + "/properties/VpcSubnetIds", + "/properties/VpcSecurityGroupIds", + "/properties/PubliclyAccessible", + "/properties/DbStorageType", + "/properties/AllocatedStorage" + ], + "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/Id" + ], + "properties": { + "AllocatedStorage": { + "maximum": 16384, + "minimum": 20, + "type": "integer" + }, + "Arn": { + "maxLength": 1011, + "minLength": 1, + "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$", + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Bucket": { + "maxLength": 64, + "minLength": 2, + "pattern": "^[^_][^\"]*$", + "type": "string" + }, + "DbInstanceType": { + "enum": [ + "db.influx.medium", + "db.influx.large", + "db.influx.xlarge", + "db.influx.2xlarge", + "db.influx.4xlarge", + "db.influx.8xlarge", + "db.influx.12xlarge", + "db.influx.16xlarge" + ], + "type": "string" + }, + "DbParameterGroupIdentifier": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "DbStorageType": { + "enum": [ + "InfluxIOIncludedT1", + "InfluxIOIncludedT2", + "InfluxIOIncludedT3" + ], + "type": "string" + }, + "DeploymentType": { + "enum": [ + "SINGLE_AZ", + "WITH_MULTIAZ_STANDBY" + ], + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "InfluxAuthParametersSecretArn": { + "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*", + "type": "string" + }, + "LogDeliveryConfiguration": { + "additionalProperties": false, + "properties": { + "S3Configuration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$", + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled", + "BucketName" + ], + "type": "object" + } + }, + "required": [ + "S3Configuration" + ], + "type": "object" + }, + "Name": { + "maxLength": 40, + "minLength": 3, + "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$", + "type": "string" + }, + "Organization": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "Password": { + "maxLength": 64, + "minLength": 8, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "Port": { + "maximum": 65535, + "minimum": 1024, + "type": "integer" + }, + "PubliclyAccessible": { + "default": false, + "type": "boolean" + }, + "SecondaryAvailabilityZone": { + "type": "string" + }, + "Status": { + "enum": [ + "CREATING", + "AVAILABLE", + "DELETING", + "MODIFYING", + "UPDATING", + "UPDATING_DEPLOYMENT_TYPE", + "UPDATING_INSTANCE_TYPE", + "DELETED", + "FAILED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Username": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "VpcSubnetIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Status", + "/properties/Arn", + "/properties/Id", + "/properties/AvailabilityZone", + "/properties/Endpoint", + "/properties/SecondaryAvailabilityZone", + "/properties/InfluxAuthParametersSecretArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Timestream::InfluxDBInstance", + "writeOnlyProperties": [ + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket" + ] +} 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 ea9b3b34a4..7e81a69cdd 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py @@ -649,6 +649,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -780,6 +781,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::LookoutEquipment::InferenceScheduler", "AWS::LookoutMetrics::Alert", "AWS::LookoutMetrics::AnomalyDetector", @@ -869,6 +871,7 @@ "AWS::NetworkManager::CoreNetwork", "AWS::NetworkManager::CustomerGatewayAssociation", "AWS::NetworkManager::Device", + "AWS::NetworkManager::DirectConnectGatewayAttachment", "AWS::NetworkManager::GlobalNetwork", "AWS::NetworkManager::Link", "AWS::NetworkManager::LinkAssociation", @@ -1904,6 +1907,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1976,6 +1980,7 @@ "aws-kafkaconnect-workerconfiguration.json", "aws-kendra-datasource.json", "aws-kendra-faq.json", + "aws-kendra-index.json", "aws-kendraranking-executionplan.json", "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", @@ -2046,6 +2051,7 @@ "aws-logs-querydefinition.json", "aws-logs-resourcepolicy.json", "aws-logs-subscriptionfilter.json", + "aws-logs-transformer.json", "aws-lookoutequipment-inferencescheduler.json", "aws-lookoutmetrics-alert.json", "aws-lookoutmetrics-anomalydetector.json", @@ -2134,6 +2140,7 @@ "aws-networkmanager-corenetwork.json", "aws-networkmanager-customergatewayassociation.json", "aws-networkmanager-device.json", + "aws-networkmanager-directconnectgatewayattachment.json", "aws-networkmanager-globalnetwork.json", "aws-networkmanager-link.json", "aws-networkmanager-linkassociation.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-kendra-index.json deleted file mode 100644 index 1dfc2d6d88..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-kendra-index.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Edition", - "/properties/ServerSideEncryptionConfiguration" - ], - "definitions": { - "Arn": { - "maxLength": 1000, - "type": "string" - }, - "CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "$ref": "#/definitions/QueryCapacityUnits" - }, - "StorageCapacityUnits": { - "$ref": "#/definitions/StorageCapacityUnits" - } - }, - "required": [ - "StorageCapacityUnits", - "QueryCapacityUnits" - ], - "type": "object" - }, - "ClaimRegex": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Description": { - "maxLength": 1000, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "DocumentAttributeValueType": { - "enum": [ - "STRING_VALUE", - "STRING_LIST_VALUE", - "LONG_VALUE", - "DATE_VALUE" - ], - "type": "string" - }, - "DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "$ref": "#/definitions/DocumentMetadataConfigurationName" - }, - "Relevance": { - "$ref": "#/definitions/Relevance" - }, - "Search": { - "$ref": "#/definitions/Search" - }, - "Type": { - "$ref": "#/definitions/DocumentAttributeValueType" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "DocumentMetadataConfigurationList": { - "items": { - "$ref": "#/definitions/DocumentMetadataConfiguration" - }, - "maxItems": 500, - "type": "array" - }, - "DocumentMetadataConfigurationName": { - "maxLength": 30, - "minLength": 1, - "type": "string" - }, - "Duration": { - "maxLength": 10, - "minLength": 1, - "pattern": "[0-9]+[s]", - "type": "string" - }, - "Edition": { - "enum": [ - "DEVELOPER_EDITION", - "ENTERPRISE_EDITION" - ], - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "GroupAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Id": { - "maxLength": 36, - "minLength": 36, - "type": "string" - }, - "Importance": { - "maximum": 10, - "minimum": 1, - "type": "integer" - }, - "Issuer": { - "maxLength": 65, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "JsonTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "UserNameAttributeField", - "GroupAttributeField" - ], - "type": "object" - }, - "JwtTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "ClaimRegex": { - "$ref": "#/definitions/ClaimRegex" - }, - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "Issuer": { - "$ref": "#/definitions/Issuer" - }, - "KeyLocation": { - "$ref": "#/definitions/KeyLocation" - }, - "SecretManagerArn": { - "$ref": "#/definitions/RoleArn" - }, - "URL": { - "$ref": "#/definitions/Url" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "KeyLocation" - ], - "type": "object" - }, - "KeyLocation": { - "enum": [ - "URL", - "SECRET_MANAGER" - ], - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 1000, - "minLength": 1, - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", - "type": "string" - }, - "Order": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - }, - "QueryCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "$ref": "#/definitions/Duration" - }, - "Freshness": { - "$ref": "#/definitions/Freshness" - }, - "Importance": { - "$ref": "#/definitions/Importance" - }, - "RankOrder": { - "$ref": "#/definitions/Order" - }, - "ValueImportanceItems": { - "$ref": "#/definitions/ValueImportanceItems" - } - }, - "type": "object" - }, - "RoleArn": { - "maxLength": 1284, - "minLength": 1, - "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", - "type": "string" - }, - "Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "$ref": "#/definitions/KmsKeyId" - } - }, - "type": "object" - }, - "StorageCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "type": "array" - }, - "Url": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)", - "type": "string" - }, - "UserContextPolicy": { - "enum": [ - "ATTRIBUTE_FILTER", - "USER_TOKEN" - ], - "type": "string" - }, - "UserNameAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "UserTokenConfiguration": { - "additionalProperties": false, - "properties": { - "JsonTokenTypeConfiguration": { - "$ref": "#/definitions/JsonTokenTypeConfiguration" - }, - "JwtTokenTypeConfiguration": { - "$ref": "#/definitions/JwtTokenTypeConfiguration" - } - }, - "type": "object" - }, - "UserTokenConfigurationList": { - "items": { - "$ref": "#/definitions/UserTokenConfiguration" - }, - "maxItems": 1, - "type": "array" - }, - "ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/ValueImportanceItemKey" - }, - "Value": { - "$ref": "#/definitions/Importance" - } - }, - "type": "object" - }, - "ValueImportanceItemKey": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/ValueImportanceItem" - }, - "type": "array" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "CapacityUnits": { - "$ref": "#/definitions/CapacityUnitsConfiguration" - }, - "Description": { - "$ref": "#/definitions/Description" - }, - "DocumentMetadataConfigurations": { - "$ref": "#/definitions/DocumentMetadataConfigurationList" - }, - "Edition": { - "$ref": "#/definitions/Edition" - }, - "Id": { - "$ref": "#/definitions/Id" - }, - "Name": { - "$ref": "#/definitions/Name" - }, - "RoleArn": { - "$ref": "#/definitions/RoleArn" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/ServerSideEncryptionConfiguration" - }, - "Tags": { - "$ref": "#/definitions/TagList" - }, - "UserContextPolicy": { - "$ref": "#/definitions/UserContextPolicy" - }, - "UserTokenConfigurations": { - "$ref": "#/definitions/UserTokenConfigurationList" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name", - "RoleArn", - "Edition" - ], - "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html", - "typeName": "AWS::Kendra::Index" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py index c3c139b096..61bad39332 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_2/__init__.py @@ -642,6 +642,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -744,6 +745,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::M2::Application", "AWS::M2::Deployment", "AWS::M2::Environment", @@ -800,6 +802,7 @@ "AWS::MediaStore::Container", "AWS::MemoryDB::ACL", "AWS::MemoryDB::Cluster", + "AWS::MemoryDB::MultiRegionCluster", "AWS::MemoryDB::ParameterGroup", "AWS::MemoryDB::SubnetGroup", "AWS::MemoryDB::User", @@ -821,6 +824,7 @@ "AWS::NetworkManager::CoreNetwork", "AWS::NetworkManager::CustomerGatewayAssociation", "AWS::NetworkManager::Device", + "AWS::NetworkManager::DirectConnectGatewayAttachment", "AWS::NetworkManager::GlobalNetwork", "AWS::NetworkManager::Link", "AWS::NetworkManager::LinkAssociation", @@ -1121,6 +1125,7 @@ "AWS::Synthetics::Canary", "AWS::Synthetics::Group", "AWS::SystemsManagerSAP::Application", + "AWS::Timestream::InfluxDBInstance", "AWS::Transfer::Agreement", "AWS::Transfer::Certificate", "AWS::Transfer::Connector", @@ -1229,6 +1234,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", @@ -1382,12 +1388,12 @@ "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", @@ -1830,6 +1836,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1864,6 +1871,7 @@ "aws-kafkaconnect-workerconfiguration.json", "aws-kendra-datasource.json", "aws-kendra-faq.json", + "aws-kendra-index.json", "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", "aws-kinesis-streamconsumer.json", @@ -1933,9 +1941,9 @@ "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", @@ -1978,6 +1986,8 @@ "aws-mediapackagev2-originendpointpolicy.json", "aws-mediastore-container.json", "aws-memorydb-acl.json", + "aws-memorydb-cluster.json", + "aws-memorydb-multiregioncluster.json", "aws-memorydb-parametergroup.json", "aws-memorydb-subnetgroup.json", "aws-memorydb-user.json", @@ -1985,7 +1995,6 @@ "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", - "aws-msk-replicator.json", "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", @@ -2007,6 +2016,7 @@ "aws-networkmanager-corenetwork.json", "aws-networkmanager-customergatewayassociation.json", "aws-networkmanager-device.json", + "aws-networkmanager-directconnectgatewayattachment.json", "aws-networkmanager-globalnetwork.json", "aws-networkmanager-link.json", "aws-networkmanager-linkassociation.json", @@ -2115,7 +2125,6 @@ "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", @@ -2361,6 +2370,7 @@ "aws-wisdom-messagetemplateversion.json", "aws-workspaces-connectionalias.json", "aws-workspaces-workspace.json", + "aws-workspaces-workspacespool.json", "aws-workspacesthinclient-environment.json", "aws-workspacesweb-browsersettings.json", "aws-workspacesweb-dataprotectionsettings.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_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_west_2/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudfront-distribution.json new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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-kendra-index.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-kendra-index.json deleted file mode 100644 index 1dfc2d6d88..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_2/aws-kendra-index.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Edition", - "/properties/ServerSideEncryptionConfiguration" - ], - "definitions": { - "Arn": { - "maxLength": 1000, - "type": "string" - }, - "CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "$ref": "#/definitions/QueryCapacityUnits" - }, - "StorageCapacityUnits": { - "$ref": "#/definitions/StorageCapacityUnits" - } - }, - "required": [ - "StorageCapacityUnits", - "QueryCapacityUnits" - ], - "type": "object" - }, - "ClaimRegex": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Description": { - "maxLength": 1000, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "DocumentAttributeValueType": { - "enum": [ - "STRING_VALUE", - "STRING_LIST_VALUE", - "LONG_VALUE", - "DATE_VALUE" - ], - "type": "string" - }, - "DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "$ref": "#/definitions/DocumentMetadataConfigurationName" - }, - "Relevance": { - "$ref": "#/definitions/Relevance" - }, - "Search": { - "$ref": "#/definitions/Search" - }, - "Type": { - "$ref": "#/definitions/DocumentAttributeValueType" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "DocumentMetadataConfigurationList": { - "items": { - "$ref": "#/definitions/DocumentMetadataConfiguration" - }, - "maxItems": 500, - "type": "array" - }, - "DocumentMetadataConfigurationName": { - "maxLength": 30, - "minLength": 1, - "type": "string" - }, - "Duration": { - "maxLength": 10, - "minLength": 1, - "pattern": "[0-9]+[s]", - "type": "string" - }, - "Edition": { - "enum": [ - "DEVELOPER_EDITION", - "ENTERPRISE_EDITION" - ], - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "GroupAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Id": { - "maxLength": 36, - "minLength": 36, - "type": "string" - }, - "Importance": { - "maximum": 10, - "minimum": 1, - "type": "integer" - }, - "Issuer": { - "maxLength": 65, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "JsonTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "UserNameAttributeField", - "GroupAttributeField" - ], - "type": "object" - }, - "JwtTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "ClaimRegex": { - "$ref": "#/definitions/ClaimRegex" - }, - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "Issuer": { - "$ref": "#/definitions/Issuer" - }, - "KeyLocation": { - "$ref": "#/definitions/KeyLocation" - }, - "SecretManagerArn": { - "$ref": "#/definitions/RoleArn" - }, - "URL": { - "$ref": "#/definitions/Url" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "KeyLocation" - ], - "type": "object" - }, - "KeyLocation": { - "enum": [ - "URL", - "SECRET_MANAGER" - ], - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 1000, - "minLength": 1, - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", - "type": "string" - }, - "Order": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - }, - "QueryCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "$ref": "#/definitions/Duration" - }, - "Freshness": { - "$ref": "#/definitions/Freshness" - }, - "Importance": { - "$ref": "#/definitions/Importance" - }, - "RankOrder": { - "$ref": "#/definitions/Order" - }, - "ValueImportanceItems": { - "$ref": "#/definitions/ValueImportanceItems" - } - }, - "type": "object" - }, - "RoleArn": { - "maxLength": 1284, - "minLength": 1, - "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", - "type": "string" - }, - "Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "$ref": "#/definitions/KmsKeyId" - } - }, - "type": "object" - }, - "StorageCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "type": "array" - }, - "Url": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)", - "type": "string" - }, - "UserContextPolicy": { - "enum": [ - "ATTRIBUTE_FILTER", - "USER_TOKEN" - ], - "type": "string" - }, - "UserNameAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "UserTokenConfiguration": { - "additionalProperties": false, - "properties": { - "JsonTokenTypeConfiguration": { - "$ref": "#/definitions/JsonTokenTypeConfiguration" - }, - "JwtTokenTypeConfiguration": { - "$ref": "#/definitions/JwtTokenTypeConfiguration" - } - }, - "type": "object" - }, - "UserTokenConfigurationList": { - "items": { - "$ref": "#/definitions/UserTokenConfiguration" - }, - "maxItems": 1, - "type": "array" - }, - "ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/ValueImportanceItemKey" - }, - "Value": { - "$ref": "#/definitions/Importance" - } - }, - "type": "object" - }, - "ValueImportanceItemKey": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/ValueImportanceItem" - }, - "type": "array" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "CapacityUnits": { - "$ref": "#/definitions/CapacityUnitsConfiguration" - }, - "Description": { - "$ref": "#/definitions/Description" - }, - "DocumentMetadataConfigurations": { - "$ref": "#/definitions/DocumentMetadataConfigurationList" - }, - "Edition": { - "$ref": "#/definitions/Edition" - }, - "Id": { - "$ref": "#/definitions/Id" - }, - "Name": { - "$ref": "#/definitions/Name" - }, - "RoleArn": { - "$ref": "#/definitions/RoleArn" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/ServerSideEncryptionConfiguration" - }, - "Tags": { - "$ref": "#/definitions/TagList" - }, - "UserContextPolicy": { - "$ref": "#/definitions/UserContextPolicy" - }, - "UserTokenConfigurations": { - "$ref": "#/definitions/UserTokenConfigurationList" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name", - "RoleArn", - "Edition" - ], - "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html", - "typeName": "AWS::Kendra::Index" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_2/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-m2-environment.json new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-memorydb-cluster.json deleted file mode 100644 index cba3a3f129..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_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/eu_west_2/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-msk-replicator.json new file mode 100644 index 0000000000..8ca994e218 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-msk-replicator.json @@ -0,0 +1,321 @@ +{ + "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 new file mode 100644 index 0000000000..60a6356907 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-redshiftserverless-workgroup.json @@ -0,0 +1,312 @@ +{ + "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-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/eu_west_2/aws-timestream-influxdbinstance.json new file mode 100644 index 0000000000..3cd225dc53 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_2/aws-timestream-influxdbinstance.json @@ -0,0 +1,236 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket", + "/properties/VpcSubnetIds", + "/properties/VpcSecurityGroupIds", + "/properties/PubliclyAccessible", + "/properties/DbStorageType", + "/properties/AllocatedStorage" + ], + "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/Id" + ], + "properties": { + "AllocatedStorage": { + "maximum": 16384, + "minimum": 20, + "type": "integer" + }, + "Arn": { + "maxLength": 1011, + "minLength": 1, + "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$", + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Bucket": { + "maxLength": 64, + "minLength": 2, + "pattern": "^[^_][^\"]*$", + "type": "string" + }, + "DbInstanceType": { + "enum": [ + "db.influx.medium", + "db.influx.large", + "db.influx.xlarge", + "db.influx.2xlarge", + "db.influx.4xlarge", + "db.influx.8xlarge", + "db.influx.12xlarge", + "db.influx.16xlarge" + ], + "type": "string" + }, + "DbParameterGroupIdentifier": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "DbStorageType": { + "enum": [ + "InfluxIOIncludedT1", + "InfluxIOIncludedT2", + "InfluxIOIncludedT3" + ], + "type": "string" + }, + "DeploymentType": { + "enum": [ + "SINGLE_AZ", + "WITH_MULTIAZ_STANDBY" + ], + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "InfluxAuthParametersSecretArn": { + "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*", + "type": "string" + }, + "LogDeliveryConfiguration": { + "additionalProperties": false, + "properties": { + "S3Configuration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$", + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled", + "BucketName" + ], + "type": "object" + } + }, + "required": [ + "S3Configuration" + ], + "type": "object" + }, + "Name": { + "maxLength": 40, + "minLength": 3, + "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$", + "type": "string" + }, + "Organization": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "Password": { + "maxLength": 64, + "minLength": 8, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "Port": { + "maximum": 65535, + "minimum": 1024, + "type": "integer" + }, + "PubliclyAccessible": { + "default": false, + "type": "boolean" + }, + "SecondaryAvailabilityZone": { + "type": "string" + }, + "Status": { + "enum": [ + "CREATING", + "AVAILABLE", + "DELETING", + "MODIFYING", + "UPDATING", + "UPDATING_DEPLOYMENT_TYPE", + "UPDATING_INSTANCE_TYPE", + "DELETED", + "FAILED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Username": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "VpcSubnetIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Status", + "/properties/Arn", + "/properties/Id", + "/properties/AvailabilityZone", + "/properties/Endpoint", + "/properties/SecondaryAvailabilityZone", + "/properties/InfluxAuthParametersSecretArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Timestream::InfluxDBInstance", + "writeOnlyProperties": [ + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket" + ] +} 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 d527316067..c122b00e6f 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py @@ -524,6 +524,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -608,7 +609,9 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::M2::Application", + "AWS::M2::Deployment", "AWS::M2::Environment", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", @@ -935,6 +938,7 @@ "AWS::Synthetics::Canary", "AWS::Synthetics::Group", "AWS::SystemsManagerSAP::Application", + "AWS::Timestream::InfluxDBInstance", "AWS::Transfer::Agreement", "AWS::Transfer::Certificate", "AWS::Transfer::Connector", @@ -1149,12 +1153,12 @@ "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", @@ -1276,7 +1280,6 @@ "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", @@ -1412,7 +1415,6 @@ "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", @@ -1502,6 +1504,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1580,8 +1583,9 @@ "aws-logs-querydefinition.json", "aws-logs-resourcepolicy.json", "aws-logs-subscriptionfilter.json", + "aws-logs-transformer.json", "aws-m2-application.json", - "aws-m2-environment.json", + "aws-m2-deployment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -1630,7 +1634,6 @@ "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", - "aws-msk-replicator.json", "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", @@ -1676,7 +1679,6 @@ "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", @@ -1693,7 +1695,6 @@ "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", @@ -1720,7 +1721,6 @@ "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", diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudformation-typeactivation.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ExecutionRoleArn", - "/properties/LoggingConfig", - "/properties/TypeNameAlias", - "/properties/TypeName", - "/properties/Type", - "/properties/PublisherId", - "/properties/PublicTypeArn" - ], - "definitions": { - "LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[\\.\\-_/#A-Za-z0-9]+$", - "type": "string" - }, - "LogRoleArn": { - "maxLength": 256, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } - }, - "oneOf": [ - { - "required": [ - "TypeName", - "PublisherId", - "Type" - ] - }, - { - "required": [ - "PublicTypeArn" - ] - } - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "AutoUpdate": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/LoggingConfig" - }, - "MajorVersion": { - "maxLength": 100000, - "minLength": 1, - "type": "string" - }, - "PublicTypeArn": { - "maxLength": 1024, - "pattern": "arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+", - "type": "string" - }, - "PublisherId": { - "maxLength": 40, - "minLength": 1, - "pattern": "[0-9a-zA-Z-]{40}", - "type": "string" - }, - "Type": { - "enum": [ - "RESOURCE", - "MODULE", - "HOOK" - ], - "type": "string" - }, - "TypeName": { - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "TypeNameAlias": { - "maxLength": 204, - "minLength": 10, - "pattern": "[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}", - "type": "string" - }, - "VersionBump": { - "enum": [ - "MAJOR", - "MINOR" - ], - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudformation", - "typeName": "AWS::CloudFormation::TypeActivation" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudfront-distribution.json new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-emrserverless-application.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-emrserverless-application.json new file mode 100644 index 0000000000..1a44823941 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-emrserverless-application.json @@ -0,0 +1,539 @@ +{ + "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 new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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 new file mode 100644 index 0000000000..8ca994e218 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-msk-replicator.json @@ -0,0 +1,321 @@ +{ + "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 new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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 new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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 new file mode 100644 index 0000000000..60a6356907 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-redshiftserverless-workgroup.json @@ -0,0 +1,312 @@ +{ + "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-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-timestream-influxdbinstance.json new file mode 100644 index 0000000000..3cd225dc53 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-timestream-influxdbinstance.json @@ -0,0 +1,236 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket", + "/properties/VpcSubnetIds", + "/properties/VpcSecurityGroupIds", + "/properties/PubliclyAccessible", + "/properties/DbStorageType", + "/properties/AllocatedStorage" + ], + "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/Id" + ], + "properties": { + "AllocatedStorage": { + "maximum": 16384, + "minimum": 20, + "type": "integer" + }, + "Arn": { + "maxLength": 1011, + "minLength": 1, + "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$", + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Bucket": { + "maxLength": 64, + "minLength": 2, + "pattern": "^[^_][^\"]*$", + "type": "string" + }, + "DbInstanceType": { + "enum": [ + "db.influx.medium", + "db.influx.large", + "db.influx.xlarge", + "db.influx.2xlarge", + "db.influx.4xlarge", + "db.influx.8xlarge", + "db.influx.12xlarge", + "db.influx.16xlarge" + ], + "type": "string" + }, + "DbParameterGroupIdentifier": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "DbStorageType": { + "enum": [ + "InfluxIOIncludedT1", + "InfluxIOIncludedT2", + "InfluxIOIncludedT3" + ], + "type": "string" + }, + "DeploymentType": { + "enum": [ + "SINGLE_AZ", + "WITH_MULTIAZ_STANDBY" + ], + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "InfluxAuthParametersSecretArn": { + "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*", + "type": "string" + }, + "LogDeliveryConfiguration": { + "additionalProperties": false, + "properties": { + "S3Configuration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$", + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled", + "BucketName" + ], + "type": "object" + } + }, + "required": [ + "S3Configuration" + ], + "type": "object" + }, + "Name": { + "maxLength": 40, + "minLength": 3, + "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$", + "type": "string" + }, + "Organization": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "Password": { + "maxLength": 64, + "minLength": 8, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "Port": { + "maximum": 65535, + "minimum": 1024, + "type": "integer" + }, + "PubliclyAccessible": { + "default": false, + "type": "boolean" + }, + "SecondaryAvailabilityZone": { + "type": "string" + }, + "Status": { + "enum": [ + "CREATING", + "AVAILABLE", + "DELETING", + "MODIFYING", + "UPDATING", + "UPDATING_DEPLOYMENT_TYPE", + "UPDATING_INSTANCE_TYPE", + "DELETED", + "FAILED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Username": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "VpcSubnetIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Status", + "/properties/Arn", + "/properties/Id", + "/properties/AvailabilityZone", + "/properties/Endpoint", + "/properties/SecondaryAvailabilityZone", + "/properties/InfluxAuthParametersSecretArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Timestream::InfluxDBInstance", + "writeOnlyProperties": [ + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket" + ] +} 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 e8203776ae..ddef3ff15b 100644 --- a/src/cfnlint/data/schemas/providers/il_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/il_central_1/__init__.py @@ -448,6 +448,7 @@ "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", "AWS::M2::Application", + "AWS::M2::Deployment", "AWS::M2::Environment", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", @@ -470,13 +471,21 @@ "AWS::NetworkFirewall::LoggingConfiguration", "AWS::NetworkFirewall::RuleGroup", "AWS::NetworkFirewall::TLSInspectionConfiguration", + "AWS::NetworkManager::ConnectAttachment", + "AWS::NetworkManager::ConnectPeer", + "AWS::NetworkManager::CoreNetwork", "AWS::NetworkManager::CustomerGatewayAssociation", "AWS::NetworkManager::Device", + "AWS::NetworkManager::DirectConnectGatewayAttachment", "AWS::NetworkManager::GlobalNetwork", "AWS::NetworkManager::Link", "AWS::NetworkManager::LinkAssociation", "AWS::NetworkManager::Site", + "AWS::NetworkManager::SiteToSiteVpnAttachment", + "AWS::NetworkManager::TransitGatewayPeering", "AWS::NetworkManager::TransitGatewayRegistration", + "AWS::NetworkManager::TransitGatewayRouteTableAttachment", + "AWS::NetworkManager::VpcAttachment", "AWS::Oam::Link", "AWS::Oam::Sink", "AWS::Omics::AnnotationStore", @@ -810,7 +819,6 @@ "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", @@ -892,7 +900,6 @@ "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", @@ -966,6 +973,7 @@ "aws-ec2-vpcendpointservicepermissions.json", "aws-ec2-vpcgatewayattachment.json", "aws-ec2-vpcpeeringconnection.json", + "aws-ec2-vpnconnection.json", "aws-ec2-vpnconnectionroute.json", "aws-ec2-vpngateway.json", "aws-ecr-pullthroughcacherule.json", @@ -995,6 +1003,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", @@ -1094,14 +1103,10 @@ "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-m2-environment.json", + "aws-m2-deployment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -1120,13 +1125,21 @@ "aws-networkfirewall-loggingconfiguration.json", "aws-networkfirewall-rulegroup.json", "aws-networkfirewall-tlsinspectionconfiguration.json", + "aws-networkmanager-connectattachment.json", + "aws-networkmanager-connectpeer.json", + "aws-networkmanager-corenetwork.json", "aws-networkmanager-customergatewayassociation.json", "aws-networkmanager-device.json", + "aws-networkmanager-directconnectgatewayattachment.json", "aws-networkmanager-globalnetwork.json", "aws-networkmanager-link.json", "aws-networkmanager-linkassociation.json", "aws-networkmanager-site.json", + "aws-networkmanager-sitetositevpnattachment.json", + "aws-networkmanager-transitgatewaypeering.json", "aws-networkmanager-transitgatewayregistration.json", + "aws-networkmanager-transitgatewayroutetableattachment.json", + "aws-networkmanager-vpcattachment.json", "aws-oam-link.json", "aws-oam-sink.json", "aws-omics-annotationstore.json", @@ -1142,12 +1155,10 @@ "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", "aws-ram-permission.json", - "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-dbcluster.json", "aws-rds-dbclusterparametergroup.json", @@ -1174,7 +1185,6 @@ "aws-redshift-integration.json", "aws-redshift-scheduledaction.json", "aws-redshiftserverless-namespace.json", - "aws-redshiftserverless-workgroup.json", "aws-rekognition-collection.json", "aws-resourceexplorer2-defaultviewassociation.json", "aws-resourceexplorer2-index.json", @@ -1217,6 +1227,7 @@ "aws-s3outposts-endpoint.json", "aws-sagemaker-app.json", "aws-sagemaker-appimageconfig.json", + "aws-sagemaker-domain.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", "aws-sagemaker-imageversion.json", @@ -1228,6 +1239,7 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", + "aws-sagemaker-userprofile.json", "aws-sdb-domain.json", "aws-secretsmanager-resourcepolicy.json", "aws-secretsmanager-rotationschedule.json", 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 new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-ec2-vpnconnection.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-vpnconnection.json deleted file mode 100644 index a9d5be394d..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-ec2-vpnconnection.json +++ /dev/null @@ -1,383 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Type", - "/properties/CustomerGatewayId", - "/properties/VpnGatewayId", - "/properties/TransitGatewayId", - "/properties/EnableAcceleration", - "/properties/LocalIpv4NetworkCidr", - "/properties/LocalIpv6NetworkCidr", - "/properties/OutsideIpAddressType", - "/properties/RemoteIpv4NetworkCidr", - "/properties/RemoteIpv6NetworkCidr", - "/properties/StaticRoutesOnly", - "/properties/TransportTransitGatewayAttachmentId", - "/properties/TunnelInsideIpVersion", - "/properties/VpnTunnelOptionsSpecifications" - ], - "definitions": { - "CloudwatchLogOptionsSpecification": { - "additionalProperties": false, - "properties": { - "LogEnabled": { - "type": "boolean" - }, - "LogGroupArn": { - "type": "string" - }, - "LogOutputFormat": { - "enum": [ - "json", - "text" - ], - "type": "string" - } - }, - "type": "object" - }, - "IKEVersionsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "ikev1", - "ikev2" - ], - "type": "string" - } - }, - "type": "object" - }, - "Phase1DHGroupNumbersRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - 2, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "type": "integer" - } - }, - "type": "object" - }, - "Phase1EncryptionAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "AES128", - "AES256", - "AES128-GCM-16", - "AES256-GCM-16" - ], - "type": "string" - } - }, - "type": "object" - }, - "Phase1IntegrityAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "SHA1", - "SHA2-256", - "SHA2-384", - "SHA2-512" - ], - "type": "string" - } - }, - "type": "object" - }, - "Phase2DHGroupNumbersRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - 2, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "type": "integer" - } - }, - "type": "object" - }, - "Phase2EncryptionAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "AES128", - "AES256", - "AES128-GCM-16", - "AES256-GCM-16" - ], - "type": "string" - } - }, - "type": "object" - }, - "Phase2IntegrityAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "SHA1", - "SHA2-256", - "SHA2-384", - "SHA2-512" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "VpnTunnelLogOptionsSpecification": { - "additionalProperties": false, - "properties": { - "CloudwatchLogOptions": { - "$ref": "#/definitions/CloudwatchLogOptionsSpecification" - } - }, - "type": "object" - }, - "VpnTunnelOptionsSpecification": { - "additionalProperties": false, - "properties": { - "DPDTimeoutAction": { - "enum": [ - "clear", - "none", - "restart" - ], - "type": "string" - }, - "DPDTimeoutSeconds": { - "minimum": 30, - "type": "integer" - }, - "EnableTunnelLifecycleControl": { - "type": "boolean" - }, - "IKEVersions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/IKEVersionsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "LogOptions": { - "$ref": "#/definitions/VpnTunnelLogOptionsSpecification" - }, - "Phase1DHGroupNumbers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase1DHGroupNumbersRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase1EncryptionAlgorithms": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase1EncryptionAlgorithmsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase1IntegrityAlgorithms": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase1IntegrityAlgorithmsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase1LifetimeSeconds": { - "maximum": 28800, - "minimum": 900, - "type": "integer" - }, - "Phase2DHGroupNumbers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase2DHGroupNumbersRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase2EncryptionAlgorithms": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase2EncryptionAlgorithmsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase2IntegrityAlgorithms": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase2IntegrityAlgorithmsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase2LifetimeSeconds": { - "maximum": 3600, - "minimum": 900, - "type": "integer" - }, - "PreSharedKey": { - "type": "string" - }, - "RekeyFuzzPercentage": { - "maximum": 100, - "minimum": 0, - "type": "integer" - }, - "RekeyMarginTimeSeconds": { - "minimum": 60, - "type": "integer" - }, - "ReplayWindowSize": { - "maximum": 2048, - "minimum": 64, - "type": "integer" - }, - "StartupAction": { - "enum": [ - "add", - "start" - ], - "type": "string" - }, - "TunnelInsideCidr": { - "type": "string" - }, - "TunnelInsideIpv6Cidr": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/VpnConnectionId" - ], - "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "EnableAcceleration": { - "type": "boolean" - }, - "LocalIpv4NetworkCidr": { - "type": "string" - }, - "LocalIpv6NetworkCidr": { - "type": "string" - }, - "OutsideIpAddressType": { - "type": "string" - }, - "RemoteIpv4NetworkCidr": { - "type": "string" - }, - "RemoteIpv6NetworkCidr": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TransitGatewayId": { - "type": "string" - }, - "TransportTransitGatewayAttachmentId": { - "type": "string" - }, - "TunnelInsideIpVersion": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnConnectionId": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpnTunnelOptionsSpecification" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/VpnConnectionId" - ], - "required": [ - "Type", - "CustomerGatewayId" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EC2::VPNConnection" -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-elasticache-serverlesscache.json deleted file mode 100644 index 3b7cde6c66..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_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/il_central_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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-m2-environment.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-m2-environment.json new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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/il_central_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-organizations-policy.json new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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/il_central_1/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-redshiftserverless-workgroup.json new file mode 100644 index 0000000000..60a6356907 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/il_central_1/aws-redshiftserverless-workgroup.json @@ -0,0 +1,312 @@ +{ + "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/il_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json deleted file mode 100644 index e3dc615356..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-domain.json +++ /dev/null @@ -1,870 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AuthMode", - "/properties/DomainName", - "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", - "/properties/KmsKeyId", - "/properties/VpcId", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceSettings": { - "additionalProperties": false, - "properties": { - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "DockerSettings": { - "additionalProperties": false, - "properties": { - "EnableDockerAccess": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "VpcOnlyTrustedAccounts": { - "insertionOrder": false, - "items": { - "maxLength": 12, - "minLength": 12, - "pattern": "^\\d+$", - "type": "string" - }, - "maxItems": 20, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DomainSettings": { - "additionalProperties": false, - "properties": { - "DockerSettings": { - "$ref": "#/definitions/DockerSettings" - }, - "ExecutionRoleIdentityConfig": { - "enum": [ - "USER_PROFILE_NAME", - "DISABLED" - ], - "type": "string" - }, - "RStudioServerProDomainSettings": { - "$ref": "#/definitions/RStudioServerProDomainSettings" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 3, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization" - ], - "type": "string" - }, - "RSessionAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - } - }, - "type": "object" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "RStudioServerProDomainSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "DomainExecutionRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "RStudioConnectUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - }, - "RStudioPackageManagerUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - } - }, - "required": [ - "DomainExecutionRoleArn" - ], - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RSessionAppSettings": { - "$ref": "#/definitions/RSessionAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainId" - ], - "properties": { - "AppNetworkAccessType": { - "enum": [ - "PublicInternetOnly", - "VpcOnly" - ], - "type": "string" - }, - "AppSecurityGroupManagement": { - "enum": [ - "Service", - "Customer" - ], - "type": "string" - }, - "AuthMode": { - "enum": [ - "SSO", - "IAM" - ], - "type": "string" - }, - "DefaultSpaceSettings": { - "$ref": "#/definitions/DefaultSpaceSettings" - }, - "DefaultUserSettings": { - "$ref": "#/definitions/UserSettings" - }, - "DomainArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", - "type": "string" - }, - "DomainId": { - "maxLength": 63, - "pattern": "^d-(-*[a-z0-9])+", - "type": "string" - }, - "DomainName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "DomainSettings": { - "$ref": "#/definitions/DomainSettings" - }, - "HomeEfsFileSystemId": { - "maxLength": 32, - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "SecurityGroupIdForDomainBoundary": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "SingleSignOnApplicationArn": { - "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", - "type": "string" - }, - "SingleSignOnManagedApplicationInstanceId": { - "maxLength": 256, - "type": "string" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "TagPropagation": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "Url": { - "maxLength": 1024, - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DomainArn", - "/properties/Url", - "/properties/DomainId", - "/properties/HomeEfsFileSystemId", - "/properties/SecurityGroupIdForDomainBoundary", - "/properties/SingleSignOnManagedApplicationInstanceId", - "/properties/SingleSignOnApplicationArn" - ], - "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName", - "SubnetIds", - "VpcId" - ], - "typeName": "AWS::SageMaker::Domain", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-userprofile.json deleted file mode 100644 index 76b5b0dad8..0000000000 --- a/src/cfnlint/data/schemas/providers/il_central_1/aws-sagemaker-userprofile.json +++ /dev/null @@ -1,633 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainId", - "/properties/UserProfileName", - "/properties/SingleSignOnUserIdentifier", - "/properties/SingleSignOnUserValue", - "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", - "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization" - ], - "type": "string" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/UserProfileName", - "/properties/DomainId" - ], - "properties": { - "DomainId": { - "maxLength": 63, - "minLength": 1, - "pattern": "^d-(-*[a-z0-9]){1,61}", - "type": "string" - }, - "SingleSignOnUserIdentifier": { - "pattern": "UserName", - "type": "string" - }, - "SingleSignOnUserValue": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "UserProfileArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", - "type": "string" - }, - "UserProfileName": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "UserSettings": { - "$ref": "#/definitions/UserSettings", - "maxItems": 50, - "minItems": 0, - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/UserProfileArn" - ], - "required": [ - "DomainId", - "UserProfileName" - ], - "typeName": "AWS::SageMaker::UserProfile", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py index e8b1db34ba..1f980bd393 100644 --- a/src/cfnlint/data/schemas/providers/me_central_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_central_1/__init__.py @@ -700,6 +700,7 @@ "AWS::StepFunctions::StateMachineVersion", "AWS::Synthetics::Canary", "AWS::SystemsManagerSAP::Application", + "AWS::Timestream::InfluxDBInstance", "AWS::Transfer::Agreement", "AWS::Transfer::Certificate", "AWS::Transfer::Connector", @@ -842,7 +843,6 @@ "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,7 +926,6 @@ "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", @@ -1172,12 +1171,8 @@ "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-mediaconnect-flow.json", "aws-mediaconnect-flowentitlement.json", "aws-mediaconnect-flowoutput.json", @@ -1242,7 +1237,6 @@ "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", @@ -1269,7 +1263,6 @@ "aws-redshift-integration.json", "aws-redshift-scheduledaction.json", "aws-redshiftserverless-namespace.json", - "aws-redshiftserverless-workgroup.json", "aws-resourceexplorer2-defaultviewassociation.json", "aws-resourceexplorer2-index.json", "aws-resourceexplorer2-view.json", @@ -1308,6 +1301,7 @@ "aws-s3objectlambda-accesspointpolicy.json", "aws-sagemaker-app.json", "aws-sagemaker-appimageconfig.json", + "aws-sagemaker-domain.json", "aws-sagemaker-image.json", "aws-sagemaker-imageversion.json", "aws-sagemaker-inferencecomponent.json", @@ -1318,6 +1312,7 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", + "aws-sagemaker-userprofile.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", "aws-sdb-domain.json", diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudfront-distribution.json new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Sources": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "required": [ + "Name" + ], + "typeName": "AWS::RAM::ResourceShare" +} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-redshiftserverless-workgroup.json new file mode 100644 index 0000000000..60a6356907 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-redshiftserverless-workgroup.json @@ -0,0 +1,312 @@ +{ + "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/me_central_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-domain.json deleted file mode 100644 index e3dc615356..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-domain.json +++ /dev/null @@ -1,870 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AuthMode", - "/properties/DomainName", - "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", - "/properties/KmsKeyId", - "/properties/VpcId", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceSettings": { - "additionalProperties": false, - "properties": { - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "DockerSettings": { - "additionalProperties": false, - "properties": { - "EnableDockerAccess": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "VpcOnlyTrustedAccounts": { - "insertionOrder": false, - "items": { - "maxLength": 12, - "minLength": 12, - "pattern": "^\\d+$", - "type": "string" - }, - "maxItems": 20, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DomainSettings": { - "additionalProperties": false, - "properties": { - "DockerSettings": { - "$ref": "#/definitions/DockerSettings" - }, - "ExecutionRoleIdentityConfig": { - "enum": [ - "USER_PROFILE_NAME", - "DISABLED" - ], - "type": "string" - }, - "RStudioServerProDomainSettings": { - "$ref": "#/definitions/RStudioServerProDomainSettings" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 3, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization" - ], - "type": "string" - }, - "RSessionAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - } - }, - "type": "object" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "RStudioServerProDomainSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "DomainExecutionRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "RStudioConnectUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - }, - "RStudioPackageManagerUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - } - }, - "required": [ - "DomainExecutionRoleArn" - ], - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RSessionAppSettings": { - "$ref": "#/definitions/RSessionAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainId" - ], - "properties": { - "AppNetworkAccessType": { - "enum": [ - "PublicInternetOnly", - "VpcOnly" - ], - "type": "string" - }, - "AppSecurityGroupManagement": { - "enum": [ - "Service", - "Customer" - ], - "type": "string" - }, - "AuthMode": { - "enum": [ - "SSO", - "IAM" - ], - "type": "string" - }, - "DefaultSpaceSettings": { - "$ref": "#/definitions/DefaultSpaceSettings" - }, - "DefaultUserSettings": { - "$ref": "#/definitions/UserSettings" - }, - "DomainArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", - "type": "string" - }, - "DomainId": { - "maxLength": 63, - "pattern": "^d-(-*[a-z0-9])+", - "type": "string" - }, - "DomainName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "DomainSettings": { - "$ref": "#/definitions/DomainSettings" - }, - "HomeEfsFileSystemId": { - "maxLength": 32, - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "SecurityGroupIdForDomainBoundary": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "SingleSignOnApplicationArn": { - "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", - "type": "string" - }, - "SingleSignOnManagedApplicationInstanceId": { - "maxLength": 256, - "type": "string" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "TagPropagation": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "Url": { - "maxLength": 1024, - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DomainArn", - "/properties/Url", - "/properties/DomainId", - "/properties/HomeEfsFileSystemId", - "/properties/SecurityGroupIdForDomainBoundary", - "/properties/SingleSignOnManagedApplicationInstanceId", - "/properties/SingleSignOnApplicationArn" - ], - "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName", - "SubnetIds", - "VpcId" - ], - "typeName": "AWS::SageMaker::Domain", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-userprofile.json deleted file mode 100644 index 76b5b0dad8..0000000000 --- a/src/cfnlint/data/schemas/providers/me_central_1/aws-sagemaker-userprofile.json +++ /dev/null @@ -1,633 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainId", - "/properties/UserProfileName", - "/properties/SingleSignOnUserIdentifier", - "/properties/SingleSignOnUserValue", - "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", - "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization" - ], - "type": "string" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/UserProfileName", - "/properties/DomainId" - ], - "properties": { - "DomainId": { - "maxLength": 63, - "minLength": 1, - "pattern": "^d-(-*[a-z0-9]){1,61}", - "type": "string" - }, - "SingleSignOnUserIdentifier": { - "pattern": "UserName", - "type": "string" - }, - "SingleSignOnUserValue": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "UserProfileArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", - "type": "string" - }, - "UserProfileName": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "UserSettings": { - "$ref": "#/definitions/UserSettings", - "maxItems": 50, - "minItems": 0, - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/UserProfileArn" - ], - "required": [ - "DomainId", - "UserProfileName" - ], - "typeName": "AWS::SageMaker::UserProfile", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/me_central_1/aws-timestream-influxdbinstance.json b/src/cfnlint/data/schemas/providers/me_central_1/aws-timestream-influxdbinstance.json new file mode 100644 index 0000000000..3cd225dc53 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_central_1/aws-timestream-influxdbinstance.json @@ -0,0 +1,236 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket", + "/properties/VpcSubnetIds", + "/properties/VpcSecurityGroupIds", + "/properties/PubliclyAccessible", + "/properties/DbStorageType", + "/properties/AllocatedStorage" + ], + "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/Id" + ], + "properties": { + "AllocatedStorage": { + "maximum": 16384, + "minimum": 20, + "type": "integer" + }, + "Arn": { + "maxLength": 1011, + "minLength": 1, + "pattern": "^arn:aws[a-z\\-]*:timestream\\-influxdb:[a-z0-9\\-]+:[0-9]{12}:(db\\-instance)/[a-zA-Z0-9]{3,64}$", + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Bucket": { + "maxLength": 64, + "minLength": 2, + "pattern": "^[^_][^\"]*$", + "type": "string" + }, + "DbInstanceType": { + "enum": [ + "db.influx.medium", + "db.influx.large", + "db.influx.xlarge", + "db.influx.2xlarge", + "db.influx.4xlarge", + "db.influx.8xlarge", + "db.influx.12xlarge", + "db.influx.16xlarge" + ], + "type": "string" + }, + "DbParameterGroupIdentifier": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "DbStorageType": { + "enum": [ + "InfluxIOIncludedT1", + "InfluxIOIncludedT2", + "InfluxIOIncludedT3" + ], + "type": "string" + }, + "DeploymentType": { + "enum": [ + "SINGLE_AZ", + "WITH_MULTIAZ_STANDBY" + ], + "type": "string" + }, + "Endpoint": { + "type": "string" + }, + "Id": { + "maxLength": 64, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "InfluxAuthParametersSecretArn": { + "pattern": "^arn:[a-z]*:secretsmanager:[a-z\\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\\-]*", + "type": "string" + }, + "LogDeliveryConfiguration": { + "additionalProperties": false, + "properties": { + "S3Configuration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "maxLength": 63, + "minLength": 3, + "pattern": "^[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+$", + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled", + "BucketName" + ], + "type": "object" + } + }, + "required": [ + "S3Configuration" + ], + "type": "object" + }, + "Name": { + "maxLength": 40, + "minLength": 3, + "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$", + "type": "string" + }, + "Organization": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "Password": { + "maxLength": 64, + "minLength": 8, + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "Port": { + "maximum": 65535, + "minimum": 1024, + "type": "integer" + }, + "PubliclyAccessible": { + "default": false, + "type": "boolean" + }, + "SecondaryAvailabilityZone": { + "type": "string" + }, + "Status": { + "enum": [ + "CREATING", + "AVAILABLE", + "DELETING", + "MODIFYING", + "UPDATING", + "UPDATING_DEPLOYMENT_TYPE", + "UPDATING_INSTANCE_TYPE", + "DELETED", + "FAILED" + ], + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Username": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "VpcSecurityGroupIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + "VpcSubnetIds": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/Status", + "/properties/Arn", + "/properties/Id", + "/properties/AvailabilityZone", + "/properties/Endpoint", + "/properties/SecondaryAvailabilityZone", + "/properties/InfluxAuthParametersSecretArn" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-timestream.git", + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::Timestream::InfluxDBInstance", + "writeOnlyProperties": [ + "/properties/Username", + "/properties/Password", + "/properties/Organization", + "/properties/Bucket" + ] +} 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 bd55c9b123..7e0bc95dcc 100644 --- a/src/cfnlint/data/schemas/providers/me_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/me_south_1/__init__.py @@ -471,6 +471,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -788,11 +789,13 @@ "AWS::VpcLattice::AccessLogSubscription", "AWS::VpcLattice::AuthPolicy", "AWS::VpcLattice::Listener", + "AWS::VpcLattice::ResourceConfiguration", "AWS::VpcLattice::ResourceGateway", "AWS::VpcLattice::ResourcePolicy", "AWS::VpcLattice::Rule", "AWS::VpcLattice::Service", "AWS::VpcLattice::ServiceNetwork", + "AWS::VpcLattice::ServiceNetworkResourceAssociation", "AWS::VpcLattice::ServiceNetworkServiceAssociation", "AWS::VpcLattice::ServiceNetworkVpcAssociation", "AWS::VpcLattice::TargetGroup", @@ -963,7 +966,6 @@ "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", @@ -1056,7 +1058,6 @@ "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 +1150,6 @@ "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,7 +1190,6 @@ "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", @@ -1280,6 +1279,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1334,12 +1334,8 @@ "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-macie-allowlist.json", "aws-macie-session.json", "aws-msk-batchscramsecret.json", @@ -1385,7 +1381,6 @@ "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", @@ -1396,7 +1391,6 @@ "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", @@ -1582,11 +1576,13 @@ "aws-vpclattice-accesslogsubscription.json", "aws-vpclattice-authpolicy.json", "aws-vpclattice-listener.json", + "aws-vpclattice-resourceconfiguration.json", "aws-vpclattice-resourcegateway.json", "aws-vpclattice-resourcepolicy.json", "aws-vpclattice-rule.json", "aws-vpclattice-service.json", "aws-vpclattice-servicenetwork.json", + "aws-vpclattice-servicenetworkresourceassociation.json", "aws-vpclattice-servicenetworkserviceassociation.json", "aws-vpclattice-servicenetworkvpcassociation.json", "aws-vpclattice-targetgroup.json", 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 new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-taskdefinition.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-taskdefinition.json new file mode 100644 index 0000000000..35c2b1ed93 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-ecs-taskdefinition.json @@ -0,0 +1,1044 @@ +{ + "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 new file mode 100644 index 0000000000..1a44823941 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-emrserverless-application.json @@ -0,0 +1,539 @@ +{ + "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-loggroup.json b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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 new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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 new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/me_south_1/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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/sa_east_1/__init__.py b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py index 04f90421a2..5927c34475 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py @@ -550,6 +550,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::DomainConfiguration", "AWS::IoT::FleetMetric", "AWS::IoT::JobTemplate", @@ -635,6 +636,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::M2::Application", "AWS::M2::Deployment", "AWS::M2::Environment", @@ -1190,6 +1192,7 @@ "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", @@ -1443,6 +1446,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", @@ -1568,6 +1572,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-domainconfiguration.json", "aws-iot-fleetmetric.json", "aws-iot-jobtemplate.json", @@ -1647,9 +1652,9 @@ "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", @@ -1850,6 +1855,7 @@ "aws-sagemaker-cluster.json", "aws-sagemaker-coderepository.json", "aws-sagemaker-dataqualityjobdefinition.json", + "aws-sagemaker-domain.json", "aws-sagemaker-endpointconfig.json", "aws-sagemaker-featuregroup.json", "aws-sagemaker-image.json", @@ -1871,6 +1877,7 @@ "aws-sagemaker-project.json", "aws-sagemaker-space.json", "aws-sagemaker-studiolifecycleconfig.json", + "aws-sagemaker-userprofile.json", "aws-sagemaker-workteam.json", "aws-scheduler-schedule.json", "aws-scheduler-schedulegroup.json", diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_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/sa_east_1/aws-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-elasticache-serverlesscache.json deleted file mode 100644 index 3b7cde6c66..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_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/sa_east_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-m2-environment.json new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/sa_east_1/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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/sa_east_1/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-domain.json deleted file mode 100644 index e3dc615356..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-domain.json +++ /dev/null @@ -1,870 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/AuthMode", - "/properties/DomainName", - "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", - "/properties/KmsKeyId", - "/properties/VpcId", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceSettings": { - "additionalProperties": false, - "properties": { - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "DockerSettings": { - "additionalProperties": false, - "properties": { - "EnableDockerAccess": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "VpcOnlyTrustedAccounts": { - "insertionOrder": false, - "items": { - "maxLength": 12, - "minLength": 12, - "pattern": "^\\d+$", - "type": "string" - }, - "maxItems": 20, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DomainSettings": { - "additionalProperties": false, - "properties": { - "DockerSettings": { - "$ref": "#/definitions/DockerSettings" - }, - "ExecutionRoleIdentityConfig": { - "enum": [ - "USER_PROFILE_NAME", - "DISABLED" - ], - "type": "string" - }, - "RStudioServerProDomainSettings": { - "$ref": "#/definitions/RStudioServerProDomainSettings" - }, - "SecurityGroupIds": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 3, - "minItems": 1, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization" - ], - "type": "string" - }, - "RSessionAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 200, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - } - }, - "type": "object" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "RStudioServerProDomainSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "DomainExecutionRoleArn": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "RStudioConnectUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - }, - "RStudioPackageManagerUrl": { - "pattern": "^(https:|http:|www\\.)\\S*", - "type": "string" - } - }, - "required": [ - "DomainExecutionRoleArn" - ], - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RSessionAppSettings": { - "$ref": "#/definitions/RSessionAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "insertionOrder": false, - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainId" - ], - "properties": { - "AppNetworkAccessType": { - "enum": [ - "PublicInternetOnly", - "VpcOnly" - ], - "type": "string" - }, - "AppSecurityGroupManagement": { - "enum": [ - "Service", - "Customer" - ], - "type": "string" - }, - "AuthMode": { - "enum": [ - "SSO", - "IAM" - ], - "type": "string" - }, - "DefaultSpaceSettings": { - "$ref": "#/definitions/DefaultSpaceSettings" - }, - "DefaultUserSettings": { - "$ref": "#/definitions/UserSettings" - }, - "DomainArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*", - "type": "string" - }, - "DomainId": { - "maxLength": 63, - "pattern": "^d-(-*[a-z0-9])+", - "type": "string" - }, - "DomainName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "DomainSettings": { - "$ref": "#/definitions/DomainSettings" - }, - "HomeEfsFileSystemId": { - "maxLength": 32, - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "SecurityGroupIdForDomainBoundary": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "SingleSignOnApplicationArn": { - "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$", - "type": "string" - }, - "SingleSignOnManagedApplicationInstanceId": { - "maxLength": 256, - "type": "string" - }, - "SubnetIds": { - "insertionOrder": false, - "items": { - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array", - "uniqueItems": false - }, - "TagPropagation": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "Url": { - "maxLength": 1024, - "type": "string" - }, - "VpcId": { - "format": "AWS::EC2::VPC.Id", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/DomainArn", - "/properties/Url", - "/properties/DomainId", - "/properties/HomeEfsFileSystemId", - "/properties/SecurityGroupIdForDomainBoundary", - "/properties/SingleSignOnManagedApplicationInstanceId", - "/properties/SingleSignOnApplicationArn" - ], - "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName", - "SubnetIds", - "VpcId" - ], - "typeName": "AWS::SageMaker::Domain", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-userprofile.json deleted file mode 100644 index 76b5b0dad8..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-sagemaker-userprofile.json +++ /dev/null @@ -1,633 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainId", - "/properties/UserProfileName", - "/properties/SingleSignOnUserIdentifier", - "/properties/SingleSignOnUserValue", - "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus", - "/properties/UserSettings/RStudioServerProAppSettings/UserGroup", - "/properties/Tags" - ], - "definitions": { - "AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/IdleSettings" - } - }, - "type": "object" - }, - "AppType": { - "enum": [ - "JupyterServer", - "TensorBoard", - "RStudioServerPro", - "JupyterLab", - "CodeEditor", - "DetailedProfiler", - "Canvas" - ], - "type": "string" - }, - "CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "maxLength": 256, - "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "CustomFileSystemConfig": { - "additionalProperties": false, - "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/EFSFileSystemConfig" - } - }, - "type": "object" - }, - "CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "ImageName": { - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$", - "type": "string" - }, - "ImageVersionNumber": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "maximum": 4000000, - "minimum": 1001, - "type": "integer" - }, - "Uid": { - "maximum": 4000000, - "minimum": 10000, - "type": "integer" - } - }, - "required": [ - "Uid", - "Gid" - ], - "type": "object" - }, - "DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - }, - "MaximumEbsVolumeSizeInGb": { - "$ref": "#/definitions/SpaceEbsVolumeSizeInGb" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "maxLength": 21, - "minLength": 11, - "pattern": "^(fs-[0-9a-f]{8,})$", - "type": "string" - }, - "FileSystemPath": { - "maxLength": 256, - "minLength": 1, - "pattern": "^\\/\\S*$", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "IdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "$ref": "#/definitions/IdleTimeoutInMinutes" - }, - "LifecycleManagement": { - "$ref": "#/definitions/LifecycleManagement" - }, - "MaxIdleTimeoutInMinutes": { - "$ref": "#/definitions/MaxIdleTimeoutInMinutes" - }, - "MinIdleTimeoutInMinutes": { - "$ref": "#/definitions/MinIdleTimeoutInMinutes" - } - }, - "type": "object" - }, - "IdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "CodeRepositories": { - "items": { - "$ref": "#/definitions/CodeRepository" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/CustomImage" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/ResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "$ref": "#/definitions/StudioLifecycleConfigArn" - }, - "maxItems": 30, - "minItems": 0, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "LifecycleManagement": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "MaxIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MinIdleTimeoutInMinutes": { - "maximum": 525600, - "minimum": 60, - "type": "integer" - }, - "MlTools": { - "enum": [ - "DataWrangler", - "FeatureStore", - "EmrClusters", - "AutoMl", - "Experiments", - "Training", - "ModelEvaluation", - "Pipelines", - "Models", - "JumpStart", - "InferenceRecommender", - "Endpoints", - "Projects", - "InferenceOptimization" - ], - "type": "string" - }, - "RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "UserGroup": { - "enum": [ - "R_STUDIO_ADMIN", - "R_STUDIO_USER" - ], - "type": "string" - } - }, - "type": "object" - }, - "ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "enum": [ - "system", - "ml.t3.micro", - "ml.t3.small", - "ml.t3.medium", - "ml.t3.large", - "ml.t3.xlarge", - "ml.t3.2xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.8xlarge", - "ml.m5.12xlarge", - "ml.m5.16xlarge", - "ml.m5.24xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.12xlarge", - "ml.c5.18xlarge", - "ml.c5.24xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.g4dn.xlarge", - "ml.g4dn.2xlarge", - "ml.g4dn.4xlarge", - "ml.g4dn.8xlarge", - "ml.g4dn.12xlarge", - "ml.g4dn.16xlarge", - "ml.r5.large", - "ml.r5.xlarge", - "ml.r5.2xlarge", - "ml.r5.4xlarge", - "ml.r5.8xlarge", - "ml.r5.12xlarge", - "ml.r5.16xlarge", - "ml.r5.24xlarge", - "ml.p3dn.24xlarge", - "ml.m5d.large", - "ml.m5d.xlarge", - "ml.m5d.2xlarge", - "ml.m5d.4xlarge", - "ml.m5d.8xlarge", - "ml.m5d.12xlarge", - "ml.m5d.16xlarge", - "ml.m5d.24xlarge", - "ml.g5.xlarge", - "ml.g5.2xlarge", - "ml.g5.4xlarge", - "ml.g5.8xlarge", - "ml.g5.12xlarge", - "ml.g5.16xlarge", - "ml.g5.24xlarge", - "ml.g5.48xlarge", - "ml.p4d.24xlarge", - "ml.p4de.24xlarge", - "ml.geospatial.interactive", - "ml.trn1.2xlarge", - "ml.trn1.32xlarge", - "ml.trn1n.32xlarge" - ], - "type": "string" - }, - "LifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "SageMakerImageArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$", - "type": "string" - }, - "SageMakerImageVersionArn": { - "maxLength": 256, - "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$", - "type": "string" - } - }, - "type": "object" - }, - "SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "enum": [ - "Allowed", - "Disabled" - ], - "type": "string" - }, - "S3KmsKeyId": { - "maxLength": 2048, - "pattern": ".*", - "type": "string" - }, - "S3OutputPath": { - "maxLength": 1024, - "pattern": "^(https|s3)://([^/]+)/?(.*)$", - "type": "string" - } - }, - "type": "object" - }, - "SpaceEbsVolumeSizeInGb": { - "maximum": 16384, - "minimum": 5, - "type": "integer" - }, - "StudioLifecycleConfigArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*", - "type": "string" - }, - "StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/AppType" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "HiddenMlTools": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/MlTools" - }, - "minItems": 0, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - }, - "Value": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "UserSettings": { - "additionalProperties": false, - "properties": { - "CodeEditorAppSettings": { - "$ref": "#/definitions/CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/CustomFileSystemConfig" - }, - "maxItems": 2, - "minItems": 0, - "type": "array", - "uniqueItems": true - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "maxLength": 1023, - "type": "string" - }, - "ExecutionRole": { - "maxLength": 2048, - "minLength": 20, - "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", - "type": "string" - }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/KernelGatewayAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/RStudioServerProAppSettings" - }, - "SecurityGroups": { - "format": "AWS::EC2::SecurityGroup.Ids", - "items": { - "format": "AWS::EC2::SecurityGroup.GroupId", - "maxLength": 32, - "pattern": "[-0-9a-zA-Z]+", - "type": "string" - }, - "maxItems": 5, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "SharingSettings": { - "$ref": "#/definitions/SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/DefaultSpaceStorageSettings" - }, - "StudioWebPortal": { - "enum": [ - "ENABLED", - "DISABLED" - ], - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/StudioWebPortalSettings" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/UserProfileName", - "/properties/DomainId" - ], - "properties": { - "DomainId": { - "maxLength": 63, - "minLength": 1, - "pattern": "^d-(-*[a-z0-9]){1,61}", - "type": "string" - }, - "SingleSignOnUserIdentifier": { - "pattern": "UserName", - "type": "string" - }, - "SingleSignOnUserValue": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "minItems": 0, - "type": "array", - "uniqueItems": false - }, - "UserProfileArn": { - "maxLength": 256, - "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*", - "type": "string" - }, - "UserProfileName": { - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}", - "type": "string" - }, - "UserSettings": { - "$ref": "#/definitions/UserSettings", - "maxItems": 50, - "minItems": 0, - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/UserProfileArn" - ], - "required": [ - "DomainId", - "UserProfileName" - ], - "typeName": "AWS::SageMaker::UserProfile", - "writeOnlyProperties": [ - "/properties/Tags" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py index 02155efefb..b6c3ec7fc9 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_1/__init__.py @@ -699,6 +699,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -839,6 +840,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::LookoutEquipment::InferenceScheduler", "AWS::LookoutMetrics::Alert", "AWS::LookoutMetrics::AnomalyDetector", @@ -928,6 +930,7 @@ "AWS::NetworkManager::CoreNetwork", "AWS::NetworkManager::CustomerGatewayAssociation", "AWS::NetworkManager::Device", + "AWS::NetworkManager::DirectConnectGatewayAttachment", "AWS::NetworkManager::GlobalNetwork", "AWS::NetworkManager::Link", "AWS::NetworkManager::LinkAssociation", @@ -1136,6 +1139,8 @@ "AWS::S3Outposts::Bucket", "AWS::S3Outposts::BucketPolicy", "AWS::S3Outposts::Endpoint", + "AWS::S3Tables::TableBucket", + "AWS::S3Tables::TableBucketPolicy", "AWS::SDB::Domain", "AWS::SES::ConfigurationSet", "AWS::SES::ConfigurationSetEventDestination", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtable.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtable.json index 2fb41ebe1b..a7978859c9 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtable.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtable.json @@ -253,6 +253,35 @@ ], "type": "object" }, + "AthenaTableReference": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "maxLength": 128, + "type": "string" + }, + "OutputLocation": { + "maxLength": 1024, + "minLength": 8, + "type": "string" + }, + "TableName": { + "maxLength": 128, + "type": "string" + }, + "WorkGroup": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName", + "WorkGroup" + ], + "type": "object" + }, "ConfiguredTableAnalysisRulePolicy": { "additionalProperties": false, "properties": { @@ -416,19 +445,131 @@ ], "type": "string" }, - "TableReference": { + "SnowflakeTableReference": { "additionalProperties": false, "properties": { - "Glue": { - "$ref": "#/definitions/GlueTableReference" + "AccountIdentifier": { + "maxLength": 256, + "minLength": 3, + "type": "string" + }, + "DatabaseName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "SchemaName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "SecretArn": { + "maxLength": 256, + "type": "string" + }, + "TableName": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "TableSchema": { + "$ref": "#/definitions/SnowflakeTableSchema" } }, "required": [ - "Glue" + "AccountIdentifier", + "DatabaseName", + "SchemaName", + "SecretArn", + "TableName", + "TableSchema" ], - "title": "Glue", "type": "object" }, + "SnowflakeTableSchema": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "V1": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SnowflakeTableSchemaV1" + }, + "maxItems": 250, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "V1" + ], + "title": "V1", + "type": "object" + } + ] + }, + "SnowflakeTableSchemaV1": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "maxLength": 128, + "type": "string" + }, + "ColumnType": { + "maxLength": 255, + "type": "string" + } + }, + "required": [ + "ColumnName", + "ColumnType" + ], + "type": "object" + }, + "TableReference": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Glue": { + "$ref": "#/definitions/GlueTableReference" + } + }, + "required": [ + "Glue" + ], + "title": "Glue", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Snowflake": { + "$ref": "#/definitions/SnowflakeTableReference" + } + }, + "required": [ + "Snowflake" + ], + "title": "Snowflake", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "Athena": { + "$ref": "#/definitions/AthenaTableReference" + } + }, + "required": [ + "Athena" + ], + "title": "Athena", + "type": "object" + } + ] + }, "Tag": { "additionalProperties": false, "properties": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtableassociation.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtableassociation.json index 978f86b643..1daaf6d461 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtableassociation.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cleanrooms-configuredtableassociation.json @@ -176,7 +176,7 @@ ], "properties": { "Arn": { - "maxLength": 100, + "maxLength": 256, "type": "string" }, "ConfiguredTableAssociationAnalysisRules": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudfront-distribution.json index 066d90ae55..64c1b51fac 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudfront-distribution.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-cloudfront-distribution.json @@ -51,6 +51,9 @@ "type": "array", "uniqueItems": false }, + "GrpcConfig": { + "$ref": "#/definitions/GrpcConfig" + }, "LambdaFunctionAssociations": { "items": { "$ref": "#/definitions/LambdaFunctionAssociation" @@ -289,6 +292,9 @@ "type": "array", "uniqueItems": false }, + "GrpcConfig": { + "$ref": "#/definitions/GrpcConfig" + }, "LambdaFunctionAssociations": { "items": { "$ref": "#/definitions/LambdaFunctionAssociation" @@ -795,6 +801,18 @@ ], "type": "object" }, + "GrpcConfig": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, "LambdaFunctionAssociation": { "additionalProperties": false, "properties": { @@ -884,9 +902,6 @@ "type": "string" } }, - "required": [ - "Bucket" - ], "type": "object" }, "Origin": { @@ -969,6 +984,9 @@ }, "Members": { "$ref": "#/definitions/OriginGroupMembers" + }, + "SelectionCriteria": { + "$ref": "#/definitions/OriginGroupSelectionCriteria" } }, "required": [ @@ -1022,6 +1040,13 @@ ], "type": "object" }, + "OriginGroupSelectionCriteria": { + "enum": [ + "default", + "media-quality-based" + ], + "type": "string" + }, "OriginGroups": { "additionalProperties": false, "properties": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-queue.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-queue.json index c89bed2c63..0c823321dc 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-queue.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-queue.json @@ -31,6 +31,19 @@ "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:phone-number/[-a-zA-Z0-9]*$", "type": "string" }, + "OutboundEmailAddressId": { + "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/email-address/[-a-zA-Z0-9]*$", + "type": "string" + }, + "OutboundEmailConfig": { + "additionalProperties": false, + "properties": { + "OutboundEmailAddressId": { + "$ref": "#/definitions/OutboundEmailAddressId" + } + }, + "type": "object" + }, "OutboundFlowArn": { "maxLength": 500, "minLength": 1, @@ -92,6 +105,9 @@ "OutboundCallerConfig": { "$ref": "#/definitions/OutboundCallerConfig" }, + "OutboundEmailConfig": { + "$ref": "#/definitions/OutboundEmailConfig" + }, "QueueArn": { "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/queue/[-a-zA-Z0-9]*$", "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-tasktemplate.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-tasktemplate.json index 07627141bc..97d8288921 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-tasktemplate.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-connect-tasktemplate.json @@ -236,6 +236,10 @@ "minLength": 1, "type": "string" }, + "SelfAssignContactFlowArn": { + "pattern": "^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$", + "type": "string" + }, "Status": { "$ref": "#/definitions/Status" }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-connectcampaignsv2-campaign.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-connectcampaignsv2-campaign.json index 663e5b0749..deda17a553 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-connectcampaignsv2-campaign.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-connectcampaignsv2-campaign.json @@ -240,6 +240,15 @@ }, "type": "object" }, + "EventTrigger": { + "additionalProperties": false, + "properties": { + "CustomerProfilesDomainArn": { + "$ref": "#/definitions/Arn" + } + }, + "type": "object" + }, "InstanceId": { "maxLength": 256, "minLength": 0, @@ -439,11 +448,19 @@ "required": [ "CustomerProfilesSegmentArn" ] + }, + { + "required": [ + "EventTrigger" + ] } ], "properties": { "CustomerProfilesSegmentArn": { "$ref": "#/definitions/Arn" + }, + "EventTrigger": { + "$ref": "#/definitions/EventTrigger" } }, "type": "object" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-customergateway.json index 64904e4f63..f9eff25652 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-customergateway.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ec2-customergateway.json @@ -41,7 +41,7 @@ "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-_]+$", + "pattern": "^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso([a-z]{1})?))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$", "type": "string" }, "CustomerGatewayId": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-taskdefinition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-taskdefinition.json index 35c2b1ed93..8b9f473363 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-taskdefinition.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ecs-taskdefinition.json @@ -4,6 +4,7 @@ "/properties/Family", "/properties/ContainerDefinitions", "/properties/Cpu", + "/properties/EnableFaultInjection", "/properties/ExecutionRoleArn", "/properties/InferenceAccelerators", "/properties/Memory", @@ -933,6 +934,9 @@ "Cpu": { "type": "string" }, + "EnableFaultInjection": { + "type": "boolean" + }, "EphemeralStorage": { "$ref": "#/definitions/EphemeralStorage" }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-emrserverless-application.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-emrserverless-application.json index 1a44823941..97193bce96 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-emrserverless-application.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-emrserverless-application.json @@ -12,7 +12,8 @@ "/properties/ImageConfiguration", "/properties/MonitoringConfiguration", "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration" + "/properties/InteractiveConfiguration", + "/properties/SchedulerConfiguration" ], "createOnlyProperties": [ "/properties/Name", @@ -349,6 +350,18 @@ } } }, + "SchedulerConfiguration": { + "additionalProperties": false, + "properties": { + "MaxConcurrentRuns": { + "type": "integer" + }, + "QueueTimeoutMinutes": { + "type": "integer" + } + }, + "type": "object" + }, "SecurityGroupId": { "format": "AWS::EC2::SecurityGroup.GroupId", "maxLength": 32, @@ -504,6 +517,9 @@ "RuntimeConfiguration": { "$ref": "#/definitions/ConfigurationList" }, + "SchedulerConfiguration": { + "$ref": "#/definitions/SchedulerConfiguration" + }, "Tags": { "insertionOrder": false, "items": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-healthlake-fhirdatastore.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-healthlake-fhirdatastore.json index f56c61048b..1a8bc150fd 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-healthlake-fhirdatastore.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-healthlake-fhirdatastore.json @@ -60,6 +60,10 @@ }, "IdentityProviderConfiguration": { "additionalProperties": false, + "default": { + "AuthorizationStrategy": "AWS_AUTH", + "FineGrainedAuthorizationEnabled": false + }, "properties": { "AuthorizationStrategy": { "enum": [ @@ -125,6 +129,11 @@ }, "SseConfiguration": { "additionalProperties": false, + "default": { + "KmsEncryptionConfig": { + "CmkType": "AWS_OWNED_KMS_KEY" + } + }, "properties": { "KmsEncryptionConfig": { "$ref": "#/definitions/KmsEncryptionConfig" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-command.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-command.json new file mode 100644 index 0000000000..9fa61a98f9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-iot-command.json @@ -0,0 +1,199 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/CommandId" + ], + "definitions": { + "CommandParameter": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "$ref": "#/definitions/CommandParameterValue" + }, + "Description": { + "$ref": "#/definitions/CommandParameterDescription" + }, + "Name": { + "$ref": "#/definitions/CommandParameterName" + }, + "Value": { + "$ref": "#/definitions/CommandParameterValue" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "CommandParameterDescription": { + "maxLength": 2028, + "pattern": "[^\\p{C}]*", + "type": "string" + }, + "CommandParameterList": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CommandParameter" + }, + "minItems": 1, + "type": "array" + }, + "CommandParameterName": { + "maxLength": 192, + "minLength": 1, + "pattern": "^[.$a-zA-Z0-9_-]+$", + "type": "string" + }, + "CommandParameterValue": { + "additionalProperties": false, + "properties": { + "B": { + "type": "boolean" + }, + "BIN": { + "minLength": 1, + "type": "string" + }, + "D": { + "type": "number" + }, + "I": { + "type": "integer" + }, + "L": { + "maxLength": 19, + "pattern": "^-?\\d+$", + "type": "string" + }, + "S": { + "minLength": 1, + "type": "string" + }, + "UL": { + "maxLength": 20, + "minLength": 1, + "pattern": "^[0-9]*$", + "type": "string" + } + }, + "type": "object" + }, + "CommandPayload": { + "additionalProperties": false, + "properties": { + "Content": { + "$ref": "#/definitions/CommandPayloadContent" + }, + "ContentType": { + "$ref": "#/definitions/MimeType" + } + }, + "type": "object" + }, + "CommandPayloadContent": { + "type": "string" + }, + "MimeType": { + "minLength": 1, + "type": "string" + }, + "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": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/CommandId" + ], + "properties": { + "CommandArn": { + "type": "string" + }, + "CommandId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]+$", + "type": "string" + }, + "CreatedAt": { + "type": "string" + }, + "Deprecated": { + "type": "boolean" + }, + "Description": { + "maxLength": 2028, + "pattern": "[^\\p{C}]*", + "type": "string" + }, + "DisplayName": { + "pattern": "[^\\p{C}]*", + "type": "string" + }, + "LastUpdatedAt": { + "type": "string" + }, + "MandatoryParameters": { + "$ref": "#/definitions/CommandParameterList" + }, + "Namespace": { + "enum": [ + "AWS-IoT", + "AWS-IoT-FleetWise" + ], + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/CommandPayload" + }, + "PendingDeletion": { + "type": "boolean" + }, + "RoleArn": { + "maxLength": 2028, + "minLength": 20, + "type": "string" + }, + "Tags": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "readOnlyProperties": [ + "/properties/CommandArn" + ], + "required": [ + "CommandId" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::IoT::Command", + "writeOnlyProperties": [ + "/properties/LastUpdatedAt" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-loggroup.json index dc9996082f..bf9e5c905f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-loggroup.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-loggroup.json @@ -39,6 +39,14 @@ "string" ] }, + "FieldIndexPolicies": { + "insertionOrder": false, + "items": { + "type": "object" + }, + "type": "array", + "uniqueItems": true + }, "KmsKeyId": { "maxLength": 256, "pattern": "^arn:[a-z0-9-]+:kms:[a-z0-9-]+:\\d{12}:(key|alias)/.+\\Z", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-metricfilter.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-metricfilter.json index dc29d53471..74039e4c4d 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-metricfilter.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-metricfilter.json @@ -106,6 +106,9 @@ "/properties/FilterName" ], "properties": { + "ApplyOnTransformedLogs": { + "type": "boolean" + }, "FilterName": { "maxLength": 512, "minLength": 1, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-querydefinition.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-querydefinition.json index a39f89cf2a..afdafa5729 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-querydefinition.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-querydefinition.json @@ -29,6 +29,15 @@ "minLength": 0, "type": "string" }, + "QueryLanguage": { + "default": "CWLI", + "enum": [ + "CWLI", + "SQL", + "PPL" + ], + "type": "string" + }, "QueryString": { "maxLength": 10000, "minLength": 1, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-subscriptionfilter.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-subscriptionfilter.json index f82a16ecb0..0b07130b61 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-subscriptionfilter.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-subscriptionfilter.json @@ -10,6 +10,9 @@ "/properties/LogGroupName" ], "properties": { + "ApplyOnTransformedLogs": { + "type": "boolean" + }, "DestinationArn": { "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-transformer.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-transformer.json new file mode 100644 index 0000000000..18f7633d1b --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-logs-transformer.json @@ -0,0 +1,624 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/LogGroupIdentifier" + ], + "definitions": { + "AddKeyEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + }, + "OverwriteIfExists": { + "type": "boolean" + }, + "Value": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "Column": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + }, + "CopyValueEntry": { + "additionalProperties": false, + "properties": { + "OverwriteIfExists": { + "type": "boolean" + }, + "Source": { + "$ref": "#/definitions/NonEmptyString" + }, + "Target": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + } + }, + "required": [ + "Source", + "Target" + ], + "type": "object" + }, + "MatchPattern": { + "$ref": "#/definitions/NonEmptyString" + }, + "MaxLengthString": { + "maxLength": 128, + "type": "string" + }, + "MoveKeyEntry": { + "additionalProperties": false, + "properties": { + "OverwriteIfExists": { + "type": "boolean" + }, + "Source": { + "$ref": "#/definitions/NonEmptyString" + }, + "Target": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "required": [ + "Source", + "Target" + ], + "type": "object" + }, + "NonEmptyAndMaxLengthString": { + "maxLength": 128, + "pattern": "^.*[a-zA-Z0-9]+.*$", + "type": "string" + }, + "NonEmptyString": { + "pattern": "^.*[a-zA-Z0-9]+.*$", + "type": "string" + }, + "ParseCloudfront": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "type": "object" + }, + "ParsePostgres": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "type": "object" + }, + "ParseRoute53": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "type": "object" + }, + "ParseVPC": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "type": "object" + }, + "ParseWAF": { + "additionalProperties": false, + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "type": "object" + }, + "Processor": { + "additionalProperties": false, + "maxProperties": 1, + "minProperties": 1, + "properties": { + "AddKeys": { + "additionalProperties": false, + "properties": { + "Entries": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AddKeyEntry" + }, + "maxItems": 5, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Entries" + ], + "type": "object" + }, + "CopyValue": { + "additionalProperties": false, + "properties": { + "Entries": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CopyValueEntry" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Entries" + ], + "type": "object" + }, + "Csv": { + "additionalProperties": false, + "properties": { + "Columns": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Column" + }, + "maxItems": 100, + "minItems": 1, + "type": "array" + }, + "Delimiter": { + "maxLength": 1, + "type": "string" + }, + "QuoteCharacter": { + "maxLength": 1, + "type": "string" + }, + "Source": { + "type": "string" + } + }, + "type": "object" + }, + "DateTimeConverter": { + "additionalProperties": false, + "properties": { + "Locale": { + "type": "string" + }, + "MatchPatterns": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MatchPattern" + }, + "maxItems": 5, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "Source": { + "$ref": "#/definitions/NonEmptyString" + }, + "SourceTimezone": { + "type": "string" + }, + "Target": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + }, + "TargetFormat": { + "type": "string" + }, + "TargetTimezone": { + "type": "string" + } + }, + "required": [ + "Source", + "Target", + "MatchPatterns" + ], + "type": "object" + }, + "DeleteKeys": { + "additionalProperties": false, + "properties": { + "WithKeys": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/WithKey" + }, + "maxItems": 5, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "WithKeys" + ], + "type": "object" + }, + "Grok": { + "additionalProperties": false, + "properties": { + "Match": { + "maxLength": 128, + "type": "string" + }, + "Source": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, + "ListToMap": { + "additionalProperties": false, + "properties": { + "Flatten": { + "type": "boolean" + }, + "FlattenedElement": { + "enum": [ + "first", + "last" + ], + "type": "string" + }, + "Key": { + "$ref": "#/definitions/NonEmptyString" + }, + "Source": { + "$ref": "#/definitions/NonEmptyString" + }, + "Target": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + }, + "ValueKey": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "required": [ + "Source", + "Key" + ], + "type": "object" + }, + "LowerCaseString": { + "additionalProperties": false, + "properties": { + "WithKeys": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/WithKey" + }, + "maxItems": 10, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "WithKeys" + ], + "type": "object" + }, + "MoveKeys": { + "additionalProperties": false, + "properties": { + "Entries": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MoveKeyEntry" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Entries" + ], + "type": "object" + }, + "ParseCloudfront": { + "$ref": "#/definitions/ParseCloudfront" + }, + "ParseJSON": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + }, + "Source": { + "type": "string" + } + }, + "type": "object" + }, + "ParseKeyValue": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/NonEmptyString" + }, + "FieldDelimiter": { + "type": "string" + }, + "KeyPrefix": { + "$ref": "#/definitions/NonEmptyString" + }, + "KeyValueDelimiter": { + "type": "string" + }, + "NonMatchValue": { + "$ref": "#/definitions/NonEmptyString" + }, + "OverwriteIfExists": { + "type": "boolean" + }, + "Source": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "type": "object" + }, + "ParsePostgres": { + "$ref": "#/definitions/ParsePostgres" + }, + "ParseRoute53": { + "$ref": "#/definitions/ParseRoute53" + }, + "ParseVPC": { + "$ref": "#/definitions/ParseVPC" + }, + "ParseWAF": { + "$ref": "#/definitions/ParseWAF" + }, + "RenameKeys": { + "additionalProperties": false, + "properties": { + "Entries": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RenameKeyEntry" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Entries" + ], + "type": "object" + }, + "SplitString": { + "additionalProperties": false, + "properties": { + "Entries": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SplitStringEntry" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Entries" + ], + "type": "object" + }, + "SubstituteString": { + "additionalProperties": false, + "properties": { + "Entries": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubstituteStringEntry" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Entries" + ], + "type": "object" + }, + "TrimString": { + "additionalProperties": false, + "properties": { + "WithKeys": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/WithKey" + }, + "maxItems": 10, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "WithKeys" + ], + "type": "object" + }, + "TypeConverter": { + "additionalProperties": false, + "properties": { + "Entries": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TypeConverterEntry" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "Entries" + ], + "type": "object" + }, + "UpperCaseString": { + "additionalProperties": false, + "properties": { + "WithKeys": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/WithKey" + }, + "maxItems": 10, + "minItems": 1, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "WithKeys" + ], + "type": "object" + } + }, + "type": "object" + }, + "RenameKeyEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "$ref": "#/definitions/NonEmptyString" + }, + "OverwriteIfExists": { + "type": "boolean" + }, + "RenameTo": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "required": [ + "Key", + "RenameTo" + ], + "type": "object" + }, + "SplitStringEntry": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "maxLength": 1, + "type": "string" + }, + "Source": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "required": [ + "Source", + "Delimiter" + ], + "type": "object" + }, + "SubstituteStringEntry": { + "additionalProperties": false, + "properties": { + "From": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + }, + "Source": { + "$ref": "#/definitions/NonEmptyString" + }, + "To": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + } + }, + "required": [ + "Source", + "From", + "To" + ], + "type": "object" + }, + "TypeConverterEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "$ref": "#/definitions/NonEmptyString" + }, + "Type": { + "enum": [ + "boolean", + "integer", + "double", + "string" + ], + "type": "string" + } + }, + "required": [ + "Key", + "Type" + ], + "type": "object" + }, + "WithKey": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "primaryIdentifier": [ + "/properties/LogGroupIdentifier" + ], + "properties": { + "LogGroupIdentifier": { + "maxLength": 2048, + "minLength": 1, + "pattern": "[\\w#+=/:,.@-]*", + "type": "string" + }, + "TransformerConfig": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Processor" + }, + "maxItems": 20, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "LogGroupIdentifier", + "TransformerConfig" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": false, + "tagUpdatable": false, + "taggable": false + }, + "typeName": "AWS::Logs::Transformer" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-m2-environment.json index 1c433a260d..65f6cde82f 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-m2-environment.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-m2-environment.json @@ -5,6 +5,7 @@ "/properties/EngineType", "/properties/KmsKeyId", "/properties/Name", + "/properties/NetworkType", "/properties/PubliclyAccessible", "/properties/SecurityGroupIds", "/properties/StorageConfigurations", @@ -68,6 +69,13 @@ ], "type": "object" }, + "NetworkType": { + "enum": [ + "ipv4", + "dual" + ], + "type": "string" + }, "StorageConfiguration": { "oneOf": [ { @@ -148,6 +156,9 @@ "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", "type": "string" }, + "NetworkType": { + "$ref": "#/definitions/NetworkType" + }, "PreferredMaintenanceWindow": { "pattern": "^\\S{1,50}$", "type": "string" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-msk-replicator.json index 8ca994e218..5fa8e72b92 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-msk-replicator.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-msk-replicator.json @@ -9,7 +9,12 @@ "/properties/ReplicatorName", "/properties/Description", "/properties/KafkaClusters", - "/properties/ServiceExecutionRoleArn" + "/properties/ServiceExecutionRoleArn", + "/properties/ReplicationInfoList/*/SourceKafkaClusterArn", + "/properties/ReplicationInfoList/*/TargetKafkaClusterArn", + "/properties/ReplicationInfoList/*/TargetCompressionType", + "/properties/ReplicationInfoList/*/TopicReplication/StartingPosition", + "/properties/ReplicationInfoList/*/TopicReplication/TopicNameConfiguration" ], "definitions": { "AmazonMskCluster": { diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-networkmanager-directconnectgatewayattachment.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-networkmanager-directconnectgatewayattachment.json new file mode 100644 index 0000000000..a50d408bf9 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-networkmanager-directconnectgatewayattachment.json @@ -0,0 +1,168 @@ +{ + "additionalIdentifiers": [ + [ + "/properties/CoreNetworkId", + "/properties/DirectConnectGatewayArn" + ] + ], + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/CoreNetworkId", + "/properties/DirectConnectGatewayArn" + ], + "definitions": { + "ProposedNetworkFunctionGroupChange": { + "additionalProperties": false, + "properties": { + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "NetworkFunctionGroupName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "ProposedSegmentChange": { + "additionalProperties": false, + "properties": { + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "SegmentName": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "pattern": "[\\s\\S]*", + "type": "string" + }, + "Value": { + "pattern": "[\\s\\S]*", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/AttachmentId" + ], + "properties": { + "AttachmentId": { + "type": "string" + }, + "AttachmentPolicyRuleNumber": { + "type": "integer" + }, + "AttachmentType": { + "type": "string" + }, + "CoreNetworkArn": { + "type": "string" + }, + "CoreNetworkId": { + "pattern": "^core-network-([0-9a-f]{8,17})$", + "type": "string" + }, + "CreatedAt": { + "type": "string" + }, + "DirectConnectGatewayArn": { + "pattern": "^arn:[^:]{1,63}:directconnect::[^:]{0,63}:dx-gateway\\/[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$", + "type": "string" + }, + "EdgeLocations": { + "insertionOrder": false, + "items": { + "pattern": "[\\s\\S]*", + "type": "string" + }, + "type": "array" + }, + "NetworkFunctionGroupName": { + "type": "string" + }, + "OwnerAccountId": { + "type": "string" + }, + "ProposedNetworkFunctionGroupChange": { + "$ref": "#/definitions/ProposedNetworkFunctionGroupChange" + }, + "ProposedSegmentChange": { + "$ref": "#/definitions/ProposedSegmentChange" + }, + "ResourceArn": { + "type": "string" + }, + "SegmentName": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true + }, + "UpdatedAt": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/CoreNetworkArn", + "/properties/CreatedAt", + "/properties/UpdatedAt", + "/properties/AttachmentType", + "/properties/State", + "/properties/AttachmentId", + "/properties/OwnerAccountId", + "/properties/AttachmentPolicyRuleNumber", + "/properties/SegmentName", + "/properties/NetworkFunctionGroupName", + "/properties/ResourceArn" + ], + "required": [ + "CoreNetworkId", + "DirectConnectGatewayArn", + "EdgeLocations" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkmanager/aws-networkmanager-directconnectgatewayattachment", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::NetworkManager::DirectConnectGatewayAttachment" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-organizations-policy.json index eb45adde3d..43a4121a24 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-organizations-policy.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-organizations-policy.json @@ -87,7 +87,8 @@ "BACKUP_POLICY", "TAG_POLICY", "CHATBOT_POLICY", - "RESOURCE_CONTROL_POLICY" + "RESOURCE_CONTROL_POLICY", + "DECLARATIVE_POLICY_EC2" ], "type": "string" } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-ram-resourceshare.json index e55421c92f..ea9a4cf036 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-ram-resourceshare.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-ram-resourceshare.json @@ -12,14 +12,14 @@ } }, "required": [ - "Value", - "Key" + "Key", + "Value" ], "type": "object" } }, "primaryIdentifier": [ - "/properties/Id" + "/properties/Arn" ], "properties": { "AllowExternalPrincipals": { @@ -28,54 +28,65 @@ "Arn": { "type": "string" }, - "Id": { - "type": "string" - }, "Name": { "type": "string" }, "PermissionArns": { + "insertionOrder": false, "items": { "type": "string" }, - "type": "array", - "uniqueItems": false + "type": "array" }, "Principals": { + "insertionOrder": false, "items": { "type": "string" }, - "type": "array", - "uniqueItems": false + "type": "array" }, "ResourceArns": { + "insertionOrder": false, "items": { "type": "string" }, - "type": "array", - "uniqueItems": false + "type": "array" }, "Sources": { + "insertionOrder": false, "items": { "type": "string" }, - "type": "array", - "uniqueItems": false + "type": "array" }, "Tags": { + "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, "type": "array", - "uniqueItems": false + "uniqueItems": true } }, "readOnlyProperties": [ - "/properties/Id", "/properties/Arn" ], "required": [ "Name" ], - "typeName": "AWS::RAM::ResourceShare" + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ram", + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::RAM::ResourceShare", + "writeOnlyProperties": [ + "/properties/PermissionArns", + "/properties/Principals", + "/properties/ResourceArns", + "/properties/Sources" + ] } diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-customdbengineversion.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-customdbengineversion.json index ae6cc1e635..e81df04548 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-customdbengineversion.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-rds-customdbengineversion.json @@ -110,7 +110,7 @@ "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])" + "/properties/KMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KMSKeyId])" }, "readOnlyProperties": [ "/properties/DBEngineVersionArn" @@ -121,6 +121,10 @@ ], "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::CustomDBEngineVersion", diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-redshiftserverless-workgroup.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-redshiftserverless-workgroup.json index 60a6356907..607749193c 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-redshiftserverless-workgroup.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-redshiftserverless-workgroup.json @@ -59,6 +59,27 @@ }, "type": "object" }, + "PerformanceTarget": { + "additionalProperties": false, + "properties": { + "Level": { + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "Status": { + "$ref": "#/definitions/PerformanceTargetStatus" + } + }, + "type": "object" + }, + "PerformanceTargetStatus": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, "Tag": { "additionalProperties": false, "properties": { @@ -131,6 +152,9 @@ "pattern": "^[a-z0-9-]+$", "type": "string" }, + "PricePerformanceTarget": { + "$ref": "#/definitions/PerformanceTarget" + }, "PubliclyAccessible": { "type": "boolean" }, @@ -216,6 +240,10 @@ "Port": { "type": "integer" }, + "PricePerformanceTarget": { + "$ref": "#/definitions/PerformanceTarget", + "type": "object" + }, "PubliclyAccessible": { "default": false, "type": "boolean" diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-s3express-directorybucket.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-s3express-directorybucket.json index ea6eeee322..4e23df157a 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-s3express-directorybucket.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-s3express-directorybucket.json @@ -167,7 +167,8 @@ }, "DataRedundancy": { "enum": [ - "SingleAvailabilityZone" + "SingleAvailabilityZone", + "SingleLocalZone" ], "type": "string" }, diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-s3tables-tablebucket.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-s3tables-tablebucket.json similarity index 100% rename from src/cfnlint/data/schemas/providers/us_east_2/aws-s3tables-tablebucket.json rename to src/cfnlint/data/schemas/providers/us_east_1/aws-s3tables-tablebucket.json diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-s3tables-tablebucketpolicy.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-s3tables-tablebucketpolicy.json similarity index 100% rename from src/cfnlint/data/schemas/providers/us_east_2/aws-s3tables-tablebucketpolicy.json rename to src/cfnlint/data/schemas/providers/us_east_1/aws-s3tables-tablebucketpolicy.json diff --git a/src/cfnlint/data/schemas/providers/us_east_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/us_east_1/aws-workspaces-workspacespool.json index 19c638ca23..b035efdff4 100644 --- a/src/cfnlint/data/schemas/providers/us_east_1/aws-workspaces-workspacespool.json +++ b/src/cfnlint/data/schemas/providers/us_east_1/aws-workspaces-workspacespool.json @@ -151,8 +151,5 @@ "tagUpdatable": false, "taggable": true }, - "typeName": "AWS::WorkSpaces::WorkspacesPool", - "writeOnlyProperties": [ - "/properties/Tags" - ] + "typeName": "AWS::WorkSpaces::WorkspacesPool" } 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 638b080749..6134dd72cf 100644 --- a/src/cfnlint/data/schemas/providers/us_east_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_east_2/__init__.py @@ -629,6 +629,7 @@ "AWS::InspectorV2::CisScanConfiguration", "AWS::InspectorV2::Filter", "AWS::InternetMonitor::Monitor", + "AWS::Invoicing::InvoiceUnit", "AWS::IoT1Click::Device", "AWS::IoT1Click::Placement", "AWS::IoT1Click::Project", @@ -638,6 +639,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -752,6 +754,7 @@ "AWS::LookoutMetrics::AnomalyDetector", "AWS::LookoutVision::Project", "AWS::M2::Application", + "AWS::M2::Deployment", "AWS::M2::Environment", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", @@ -809,6 +812,7 @@ "AWS::MediaTailor::VodSource", "AWS::MemoryDB::ACL", "AWS::MemoryDB::Cluster", + "AWS::MemoryDB::MultiRegionCluster", "AWS::MemoryDB::ParameterGroup", "AWS::MemoryDB::SubnetGroup", "AWS::MemoryDB::User", @@ -830,6 +834,7 @@ "AWS::NetworkManager::CoreNetwork", "AWS::NetworkManager::CustomerGatewayAssociation", "AWS::NetworkManager::Device", + "AWS::NetworkManager::DirectConnectGatewayAttachment", "AWS::NetworkManager::GlobalNetwork", "AWS::NetworkManager::Link", "AWS::NetworkManager::LinkAssociation", @@ -1370,12 +1375,12 @@ "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", @@ -1525,7 +1530,6 @@ "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", @@ -1642,6 +1646,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", @@ -1805,12 +1810,14 @@ "aws-inspectorv2-cisscanconfiguration.json", "aws-inspectorv2-filter.json", "aws-internetmonitor-monitor.json", + "aws-invoicing-invoiceunit.json", "aws-iot-accountauditconfiguration.json", "aws-iot-authorizer.json", "aws-iot-billinggroup.json", "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1854,6 +1861,7 @@ "aws-kafkaconnect-workerconfiguration.json", "aws-kendra-datasource.json", "aws-kendra-faq.json", + "aws-kendra-index.json", "aws-kendraranking-executionplan.json", "aws-kinesis-resourcepolicy.json", "aws-kinesis-stream.json", @@ -1914,17 +1922,13 @@ "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-lookoutmetrics-alert.json", "aws-lookoutmetrics-anomalydetector.json", "aws-lookoutvision-project.json", "aws-m2-application.json", - "aws-m2-environment.json", + "aws-m2-deployment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -1970,6 +1974,8 @@ "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", "aws-memorydb-user.json", @@ -1977,7 +1983,6 @@ "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", "aws-msk-configuration.json", - "aws-msk-replicator.json", "aws-msk-serverlesscluster.json", "aws-msk-vpcconnection.json", "aws-mwaa-environment.json", @@ -1999,6 +2004,7 @@ "aws-networkmanager-corenetwork.json", "aws-networkmanager-customergatewayassociation.json", "aws-networkmanager-device.json", + "aws-networkmanager-directconnectgatewayattachment.json", "aws-networkmanager-globalnetwork.json", "aws-networkmanager-link.json", "aws-networkmanager-linkassociation.json", @@ -2063,9 +2069,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", "aws-rds-dbclusterparametergroup.json", "aws-rds-dbinstance.json", @@ -2092,7 +2096,6 @@ "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", @@ -2148,13 +2151,14 @@ "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", "aws-s3outposts-bucket.json", "aws-s3outposts-bucketpolicy.json", "aws-s3outposts-endpoint.json", + "aws-s3tables-tablebucket.json", + "aws-s3tables-tablebucketpolicy.json", "aws-sagemaker-app.json", "aws-sagemaker-appimageconfig.json", "aws-sagemaker-cluster.json", diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudformation-typeactivation.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudformation-typeactivation.json deleted file mode 100644 index 730262bfac..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_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/us_east_2/aws-cloudfront-distribution.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudfront-distribution.json new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-customergateway.json new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-elasticache-serverlesscache.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-elasticache-serverlesscache.json deleted file mode 100644 index 3b7cde6c66..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_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/us_east_2/aws-kendra-index.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-kendra-index.json deleted file mode 100644 index 1dfc2d6d88..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_2/aws-kendra-index.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Edition", - "/properties/ServerSideEncryptionConfiguration" - ], - "definitions": { - "Arn": { - "maxLength": 1000, - "type": "string" - }, - "CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "$ref": "#/definitions/QueryCapacityUnits" - }, - "StorageCapacityUnits": { - "$ref": "#/definitions/StorageCapacityUnits" - } - }, - "required": [ - "StorageCapacityUnits", - "QueryCapacityUnits" - ], - "type": "object" - }, - "ClaimRegex": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Description": { - "maxLength": 1000, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "DocumentAttributeValueType": { - "enum": [ - "STRING_VALUE", - "STRING_LIST_VALUE", - "LONG_VALUE", - "DATE_VALUE" - ], - "type": "string" - }, - "DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "$ref": "#/definitions/DocumentMetadataConfigurationName" - }, - "Relevance": { - "$ref": "#/definitions/Relevance" - }, - "Search": { - "$ref": "#/definitions/Search" - }, - "Type": { - "$ref": "#/definitions/DocumentAttributeValueType" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "DocumentMetadataConfigurationList": { - "items": { - "$ref": "#/definitions/DocumentMetadataConfiguration" - }, - "maxItems": 500, - "type": "array" - }, - "DocumentMetadataConfigurationName": { - "maxLength": 30, - "minLength": 1, - "type": "string" - }, - "Duration": { - "maxLength": 10, - "minLength": 1, - "pattern": "[0-9]+[s]", - "type": "string" - }, - "Edition": { - "enum": [ - "DEVELOPER_EDITION", - "ENTERPRISE_EDITION" - ], - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "GroupAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "Id": { - "maxLength": 36, - "minLength": 36, - "type": "string" - }, - "Importance": { - "maximum": 10, - "minimum": 1, - "type": "integer" - }, - "Issuer": { - "maxLength": 65, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "JsonTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "UserNameAttributeField", - "GroupAttributeField" - ], - "type": "object" - }, - "JwtTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "ClaimRegex": { - "$ref": "#/definitions/ClaimRegex" - }, - "GroupAttributeField": { - "$ref": "#/definitions/GroupAttributeField" - }, - "Issuer": { - "$ref": "#/definitions/Issuer" - }, - "KeyLocation": { - "$ref": "#/definitions/KeyLocation" - }, - "SecretManagerArn": { - "$ref": "#/definitions/RoleArn" - }, - "URL": { - "$ref": "#/definitions/Url" - }, - "UserNameAttributeField": { - "$ref": "#/definitions/UserNameAttributeField" - } - }, - "required": [ - "KeyLocation" - ], - "type": "object" - }, - "KeyLocation": { - "enum": [ - "URL", - "SECRET_MANAGER" - ], - "type": "string" - }, - "KmsKeyId": { - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "Name": { - "maxLength": 1000, - "minLength": 1, - "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", - "type": "string" - }, - "Order": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - }, - "QueryCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "$ref": "#/definitions/Duration" - }, - "Freshness": { - "$ref": "#/definitions/Freshness" - }, - "Importance": { - "$ref": "#/definitions/Importance" - }, - "RankOrder": { - "$ref": "#/definitions/Order" - }, - "ValueImportanceItems": { - "$ref": "#/definitions/ValueImportanceItems" - } - }, - "type": "object" - }, - "RoleArn": { - "maxLength": 1284, - "minLength": 1, - "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", - "type": "string" - }, - "Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "$ref": "#/definitions/KmsKeyId" - } - }, - "type": "object" - }, - "StorageCapacityUnits": { - "minimum": 0, - "type": "integer" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "TagList": { - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 200, - "type": "array" - }, - "Url": { - "maxLength": 2048, - "minLength": 1, - "pattern": "^(https?|ftp|file):\\/\\/([^\\s]*)", - "type": "string" - }, - "UserContextPolicy": { - "enum": [ - "ATTRIBUTE_FILTER", - "USER_TOKEN" - ], - "type": "string" - }, - "UserNameAttributeField": { - "maxLength": 100, - "minLength": 1, - "pattern": "^\\P{C}*$", - "type": "string" - }, - "UserTokenConfiguration": { - "additionalProperties": false, - "properties": { - "JsonTokenTypeConfiguration": { - "$ref": "#/definitions/JsonTokenTypeConfiguration" - }, - "JwtTokenTypeConfiguration": { - "$ref": "#/definitions/JwtTokenTypeConfiguration" - } - }, - "type": "object" - }, - "UserTokenConfigurationList": { - "items": { - "$ref": "#/definitions/UserTokenConfiguration" - }, - "maxItems": 1, - "type": "array" - }, - "ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "$ref": "#/definitions/ValueImportanceItemKey" - }, - "Value": { - "$ref": "#/definitions/Importance" - } - }, - "type": "object" - }, - "ValueImportanceItemKey": { - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/ValueImportanceItem" - }, - "type": "array" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Arn": { - "$ref": "#/definitions/Arn" - }, - "CapacityUnits": { - "$ref": "#/definitions/CapacityUnitsConfiguration" - }, - "Description": { - "$ref": "#/definitions/Description" - }, - "DocumentMetadataConfigurations": { - "$ref": "#/definitions/DocumentMetadataConfigurationList" - }, - "Edition": { - "$ref": "#/definitions/Edition" - }, - "Id": { - "$ref": "#/definitions/Id" - }, - "Name": { - "$ref": "#/definitions/Name" - }, - "RoleArn": { - "$ref": "#/definitions/RoleArn" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/ServerSideEncryptionConfiguration" - }, - "Tags": { - "$ref": "#/definitions/TagList" - }, - "UserContextPolicy": { - "$ref": "#/definitions/UserContextPolicy" - }, - "UserTokenConfigurations": { - "$ref": "#/definitions/UserTokenConfigurationList" - } - }, - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn" - ], - "required": [ - "Name", - "RoleArn", - "Edition" - ], - "sourceUrl": "https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html", - "typeName": "AWS::Kendra::Index" -} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-loggroup.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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-m2-environment.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-m2-environment.json new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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_2/aws-memorydb-cluster.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-memorydb-cluster.json deleted file mode 100644 index cba3a3f129..0000000000 --- a/src/cfnlint/data/schemas/providers/us_east_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/us_east_2/aws-msk-replicator.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-msk-replicator.json new file mode 100644 index 0000000000..8ca994e218 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-msk-replicator.json @@ -0,0 +1,321 @@ +{ + "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-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Sources": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "required": [ + "Name" + ], + "typeName": "AWS::RAM::ResourceShare" +} diff --git a/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-customdbengineversion.json b/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-customdbengineversion.json new file mode 100644 index 0000000000..ae6cc1e635 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-rds-customdbengineversion.json @@ -0,0 +1,132 @@ +{ + "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 new file mode 100644 index 0000000000..60a6356907 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-redshiftserverless-workgroup.json @@ -0,0 +1,312 @@ +{ + "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 new file mode 100644 index 0000000000..ea6eeee322 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_east_2/aws-s3express-directorybucket.json @@ -0,0 +1,196 @@ +{ + "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_gov_east_1/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_east_1/__init__.py index 74731fc854..da282159dc 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 @@ -860,7 +860,6 @@ "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", @@ -1090,13 +1089,9 @@ "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-environment.json", + "aws-m2-application.json", "aws-msk-batchscramsecret.json", "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", @@ -1132,10 +1127,8 @@ "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-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", @@ -1282,7 +1275,6 @@ "aws-wafv2-loggingconfiguration.json", "aws-wafv2-webaclassociation.json", "aws-workspaces-workspace.json", - "aws-workspaces-workspacespool.json", "aws-xray-resourcepolicy.json", "module.json", ] diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-customergateway.json new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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-m2-application.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-application.json deleted file mode 100644 index 6a62b38cd3..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-application.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/EngineType", - "/properties/Name", - "/properties/KmsKeyId", - "/properties/RoleArn" - ], - "definitions": { - "Definition": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "S3Location": { - "pattern": "^\\S{1,2000}$", - "type": "string" - } - }, - "required": [ - "S3Location" - ], - "title": "S3Location", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "Content": { - "maxLength": 6500, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Content" - ], - "title": "Content", - "type": "object" - } - ] - }, - "EngineType": { - "enum": [ - "microfocus", - "bluage" - ], - "type": "string" - }, - "TagMap": { - "additionalProperties": false, - "maxProperties": 200, - "minProperties": 0, - "patternProperties": { - "^(?!aws:).+$": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ApplicationArn" - ], - "properties": { - "ApplicationArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "ApplicationId": { - "pattern": "^\\S{1,80}$", - "type": "string" - }, - "Definition": { - "$ref": "#/definitions/Definition" - }, - "Description": { - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "EngineType": { - "$ref": "#/definitions/EngineType" - }, - "KmsKeyId": { - "maxLength": 2048, - "type": "string" - }, - "Name": { - "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", - "type": "string" - }, - "RoleArn": { - "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]|):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$", - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/TagMap" - } - }, - "readOnlyProperties": [ - "/properties/ApplicationArn", - "/properties/ApplicationId" - ], - "required": [ - "Definition", - "EngineType", - "Name" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::M2::Application", - "writeOnlyProperties": [ - "/properties/Definition" - ] -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-environment.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-environment.json new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Description", + "/properties/EngineType", + "/properties/KmsKeyId", + "/properties/Name", + "/properties/PubliclyAccessible", + "/properties/SecurityGroupIds", + "/properties/StorageConfigurations", + "/properties/SubnetIds" + ], + "definitions": { + "EfsStorageConfiguration": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "pattern": "^\\S{1,200}$", + "type": "string" + }, + "MountPoint": { + "pattern": "^\\S{1,200}$", + "type": "string" + } + }, + "required": [ + "FileSystemId", + "MountPoint" + ], + "type": "object" + }, + "EngineType": { + "enum": [ + "microfocus", + "bluage" + ], + "type": "string" + }, + "FsxStorageConfiguration": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "pattern": "^\\S{1,200}$", + "type": "string" + }, + "MountPoint": { + "pattern": "^\\S{1,200}$", + "type": "string" + } + }, + "required": [ + "FileSystemId", + "MountPoint" + ], + "type": "object" + }, + "HighAvailabilityConfig": { + "additionalProperties": false, + "properties": { + "DesiredCapacity": { + "maximum": 100, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "DesiredCapacity" + ], + "type": "object" + }, + "StorageConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Efs": { + "$ref": "#/definitions/EfsStorageConfiguration" + } + }, + "required": [ + "Efs" + ] + }, + { + "additionalProperties": false, + "properties": { + "Fsx": { + "$ref": "#/definitions/FsxStorageConfiguration" + } + }, + "required": [ + "Fsx" + ] + } + ], + "type": "object" + }, + "TagMap": { + "additionalProperties": false, + "maxProperties": 200, + "minProperties": 0, + "patternProperties": { + "^(?!aws:).+$": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/EnvironmentArn" + ], + "properties": { + "Description": { + "maxLength": 500, + "minLength": 0, + "type": "string" + }, + "EngineType": { + "$ref": "#/definitions/EngineType" + }, + "EngineVersion": { + "pattern": "^\\S{1,10}$", + "type": "string" + }, + "EnvironmentArn": { + "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$", + "type": "string" + }, + "EnvironmentId": { + "pattern": "^\\S{1,80}$", + "type": "string" + }, + "HighAvailabilityConfig": { + "$ref": "#/definitions/HighAvailabilityConfig" + }, + "InstanceType": { + "pattern": "^\\S{1,20}$", + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "type": "string" + }, + "Name": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", + "type": "string" + }, + "PreferredMaintenanceWindow": { + "pattern": "^\\S{1,50}$", + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "pattern": "^\\S{1,50}$", + "type": "string" + }, + "type": "array" + }, + "StorageConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StorageConfiguration" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "pattern": "^\\S{1,50}$", + "type": "string" + }, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/TagMap" + } + }, + "readOnlyProperties": [ + "/properties/EnvironmentArn", + "/properties/EnvironmentId" + ], + "required": [ + "EngineType", + "InstanceType", + "Name" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::M2::Environment" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-organizations-policy.json new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Sources": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "required": [ + "Name" + ], + "typeName": "AWS::RAM::ResourceShare" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json new file mode 100644 index 0000000000..19c638ca23 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_east_1/aws-workspaces-workspacespool.json @@ -0,0 +1,158 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PoolName" + ], + "definitions": { + "ApplicationSettings": { + "additionalProperties": false, + "properties": { + "SettingsGroup": { + "maxLength": 100, + "pattern": "^[A-Za-z0-9_./()!*'-]+$", + "type": "string" + }, + "Status": { + "$ref": "#/definitions/ApplicationSettingsStatus" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "ApplicationSettingsStatus": { + "enum": [ + "DISABLED", + "ENABLED" + ], + "type": "string" + }, + "Capacity": { + "additionalProperties": false, + "properties": { + "DesiredUserSessions": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "DesiredUserSessions" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "TimeoutSettings": { + "additionalProperties": false, + "properties": { + "DisconnectTimeoutInSeconds": { + "maximum": 36000, + "minimum": 60, + "type": "integer" + }, + "IdleDisconnectTimeoutInSeconds": { + "maximum": 36000, + "minimum": 0, + "type": "integer" + }, + "MaxUserDurationInSeconds": { + "maximum": 432000, + "minimum": 600, + "type": "integer" + } + }, + "required": [], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/PoolId" + ], + "properties": { + "ApplicationSettings": { + "$ref": "#/definitions/ApplicationSettings" + }, + "BundleId": { + "pattern": "^wsb-[0-9a-z]{8,63}$", + "type": "string" + }, + "Capacity": { + "$ref": "#/definitions/Capacity" + }, + "CreatedAt": { + "type": "string" + }, + "Description": { + "maxLength": 255, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_./() -]+$", + "type": "string" + }, + "DirectoryId": { + "maxLength": 65, + "minLength": 10, + "pattern": "^wsd-[0-9a-z]{8,63}$", + "type": "string" + }, + "PoolArn": { + "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$", + "type": "string" + }, + "PoolId": { + "pattern": "^wspool-[0-9a-z]{9}$", + "type": "string" + }, + "PoolName": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TimeoutSettings": { + "$ref": "#/definitions/TimeoutSettings" + } + }, + "readOnlyProperties": [ + "/properties/PoolId", + "/properties/PoolArn", + "/properties/CreatedAt" + ], + "required": [ + "PoolName", + "BundleId", + "DirectoryId", + "Capacity" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::WorkSpaces::WorkspacesPool", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py b/src/cfnlint/data/schemas/providers/us_gov_west_1/__init__.py index 4e7218407e..28423d0038 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 @@ -679,6 +679,7 @@ "AWS::S3::AccessPoint", "AWS::S3::Bucket", "AWS::S3::BucketPolicy", + "AWS::S3::StorageLensGroup", "AWS::S3ObjectLambda::AccessPoint", "AWS::S3ObjectLambda::AccessPointPolicy", "AWS::S3Outposts::AccessPoint", @@ -840,6 +841,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", @@ -1014,7 +1016,6 @@ "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", @@ -1086,6 +1087,7 @@ "aws-ec2-vpcendpointservice.json", "aws-ec2-vpcendpointservicepermissions.json", "aws-ec2-vpcpeeringconnection.json", + "aws-ec2-vpnconnection.json", "aws-ec2-vpnconnectionroute.json", "aws-ec2-vpngateway.json", "aws-ec2-vpngatewayroutepropagation.json", @@ -1271,13 +1273,8 @@ "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-environment.json", "aws-msk-batchscramsecret.json", "aws-msk-cluster.json", "aws-msk-clusterpolicy.json", @@ -1339,7 +1336,6 @@ "aws-quicksight-theme.json", "aws-quicksight-vpcconnection.json", "aws-ram-permission.json", - "aws-ram-resourceshare.json", "aws-rbin-rule.json", "aws-rds-dbsecuritygroup.json", "aws-rds-dbsecuritygroupingress.json", @@ -1383,6 +1379,7 @@ "aws-s3-accesspoint.json", "aws-s3-bucket.json", "aws-s3-bucketpolicy.json", + "aws-s3-storagelensgroup.json", "aws-s3objectlambda-accesspoint.json", "aws-s3objectlambda-accesspointpolicy.json", "aws-s3outposts-accesspoint.json", @@ -1502,7 +1499,6 @@ "aws-wafv2-loggingconfiguration.json", "aws-wafv2-webaclassociation.json", "aws-workspaces-workspace.json", - "aws-workspaces-workspacespool.json", "aws-xray-resourcepolicy.json", "module.json", ] diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-domainnamev2.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-domainnamev2.json deleted file mode 100644 index 04d35d51f4..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-apigateway-domainnamev2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/DomainName", - "/properties/SecurityPolicy", - "/properties/EndpointConfiguration" - ], - "definitions": { - "EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/DomainNameArn" - ], - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainNameArn": { - "type": "string" - }, - "DomainNameId": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/EndpointConfiguration" - }, - "ManagementPolicy": { - "type": [ - "object", - "string" - ] - }, - "Policy": { - "type": [ - "object", - "string" - ] - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/DomainNameId", - "/properties/DomainNameArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::ApiGateway::DomainNameV2" -} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-customergateway.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-customergateway.json new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-vpnconnection.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-vpnconnection.json deleted file mode 100644 index a9d5be394d..0000000000 --- a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ec2-vpnconnection.json +++ /dev/null @@ -1,383 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json", - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Type", - "/properties/CustomerGatewayId", - "/properties/VpnGatewayId", - "/properties/TransitGatewayId", - "/properties/EnableAcceleration", - "/properties/LocalIpv4NetworkCidr", - "/properties/LocalIpv6NetworkCidr", - "/properties/OutsideIpAddressType", - "/properties/RemoteIpv4NetworkCidr", - "/properties/RemoteIpv6NetworkCidr", - "/properties/StaticRoutesOnly", - "/properties/TransportTransitGatewayAttachmentId", - "/properties/TunnelInsideIpVersion", - "/properties/VpnTunnelOptionsSpecifications" - ], - "definitions": { - "CloudwatchLogOptionsSpecification": { - "additionalProperties": false, - "properties": { - "LogEnabled": { - "type": "boolean" - }, - "LogGroupArn": { - "type": "string" - }, - "LogOutputFormat": { - "enum": [ - "json", - "text" - ], - "type": "string" - } - }, - "type": "object" - }, - "IKEVersionsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "ikev1", - "ikev2" - ], - "type": "string" - } - }, - "type": "object" - }, - "Phase1DHGroupNumbersRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - 2, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "type": "integer" - } - }, - "type": "object" - }, - "Phase1EncryptionAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "AES128", - "AES256", - "AES128-GCM-16", - "AES256-GCM-16" - ], - "type": "string" - } - }, - "type": "object" - }, - "Phase1IntegrityAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "SHA1", - "SHA2-256", - "SHA2-384", - "SHA2-512" - ], - "type": "string" - } - }, - "type": "object" - }, - "Phase2DHGroupNumbersRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - 2, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "type": "integer" - } - }, - "type": "object" - }, - "Phase2EncryptionAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "AES128", - "AES256", - "AES128-GCM-16", - "AES256-GCM-16" - ], - "type": "string" - } - }, - "type": "object" - }, - "Phase2IntegrityAlgorithmsRequestListValue": { - "additionalProperties": false, - "properties": { - "Value": { - "enum": [ - "SHA1", - "SHA2-256", - "SHA2-384", - "SHA2-512" - ], - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - }, - "VpnTunnelLogOptionsSpecification": { - "additionalProperties": false, - "properties": { - "CloudwatchLogOptions": { - "$ref": "#/definitions/CloudwatchLogOptionsSpecification" - } - }, - "type": "object" - }, - "VpnTunnelOptionsSpecification": { - "additionalProperties": false, - "properties": { - "DPDTimeoutAction": { - "enum": [ - "clear", - "none", - "restart" - ], - "type": "string" - }, - "DPDTimeoutSeconds": { - "minimum": 30, - "type": "integer" - }, - "EnableTunnelLifecycleControl": { - "type": "boolean" - }, - "IKEVersions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/IKEVersionsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "LogOptions": { - "$ref": "#/definitions/VpnTunnelLogOptionsSpecification" - }, - "Phase1DHGroupNumbers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase1DHGroupNumbersRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase1EncryptionAlgorithms": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase1EncryptionAlgorithmsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase1IntegrityAlgorithms": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase1IntegrityAlgorithmsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase1LifetimeSeconds": { - "maximum": 28800, - "minimum": 900, - "type": "integer" - }, - "Phase2DHGroupNumbers": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase2DHGroupNumbersRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase2EncryptionAlgorithms": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase2EncryptionAlgorithmsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase2IntegrityAlgorithms": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Phase2IntegrityAlgorithmsRequestListValue" - }, - "type": "array", - "uniqueItems": false - }, - "Phase2LifetimeSeconds": { - "maximum": 3600, - "minimum": 900, - "type": "integer" - }, - "PreSharedKey": { - "type": "string" - }, - "RekeyFuzzPercentage": { - "maximum": 100, - "minimum": 0, - "type": "integer" - }, - "RekeyMarginTimeSeconds": { - "minimum": 60, - "type": "integer" - }, - "ReplayWindowSize": { - "maximum": 2048, - "minimum": 64, - "type": "integer" - }, - "StartupAction": { - "enum": [ - "add", - "start" - ], - "type": "string" - }, - "TunnelInsideCidr": { - "type": "string" - }, - "TunnelInsideIpv6Cidr": { - "type": "string" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/VpnConnectionId" - ], - "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "EnableAcceleration": { - "type": "boolean" - }, - "LocalIpv4NetworkCidr": { - "type": "string" - }, - "LocalIpv6NetworkCidr": { - "type": "string" - }, - "OutsideIpAddressType": { - "type": "string" - }, - "RemoteIpv4NetworkCidr": { - "type": "string" - }, - "RemoteIpv6NetworkCidr": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - }, - "TransitGatewayId": { - "type": "string" - }, - "TransportTransitGatewayAttachmentId": { - "type": "string" - }, - "TunnelInsideIpVersion": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnConnectionId": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/VpnTunnelOptionsSpecification" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/VpnConnectionId" - ], - "required": [ - "Type", - "CustomerGatewayId" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EC2::VPNConnection" -} 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 new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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-m2-environment.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-m2-environment.json new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Description", + "/properties/EngineType", + "/properties/KmsKeyId", + "/properties/Name", + "/properties/PubliclyAccessible", + "/properties/SecurityGroupIds", + "/properties/StorageConfigurations", + "/properties/SubnetIds" + ], + "definitions": { + "EfsStorageConfiguration": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "pattern": "^\\S{1,200}$", + "type": "string" + }, + "MountPoint": { + "pattern": "^\\S{1,200}$", + "type": "string" + } + }, + "required": [ + "FileSystemId", + "MountPoint" + ], + "type": "object" + }, + "EngineType": { + "enum": [ + "microfocus", + "bluage" + ], + "type": "string" + }, + "FsxStorageConfiguration": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "pattern": "^\\S{1,200}$", + "type": "string" + }, + "MountPoint": { + "pattern": "^\\S{1,200}$", + "type": "string" + } + }, + "required": [ + "FileSystemId", + "MountPoint" + ], + "type": "object" + }, + "HighAvailabilityConfig": { + "additionalProperties": false, + "properties": { + "DesiredCapacity": { + "maximum": 100, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "DesiredCapacity" + ], + "type": "object" + }, + "StorageConfiguration": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "Efs": { + "$ref": "#/definitions/EfsStorageConfiguration" + } + }, + "required": [ + "Efs" + ] + }, + { + "additionalProperties": false, + "properties": { + "Fsx": { + "$ref": "#/definitions/FsxStorageConfiguration" + } + }, + "required": [ + "Fsx" + ] + } + ], + "type": "object" + }, + "TagMap": { + "additionalProperties": false, + "maxProperties": 200, + "minProperties": 0, + "patternProperties": { + "^(?!aws:).+$": { + "maxLength": 256, + "minLength": 0, + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/EnvironmentArn" + ], + "properties": { + "Description": { + "maxLength": 500, + "minLength": 0, + "type": "string" + }, + "EngineType": { + "$ref": "#/definitions/EngineType" + }, + "EngineVersion": { + "pattern": "^\\S{1,10}$", + "type": "string" + }, + "EnvironmentArn": { + "pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$", + "type": "string" + }, + "EnvironmentId": { + "pattern": "^\\S{1,80}$", + "type": "string" + }, + "HighAvailabilityConfig": { + "$ref": "#/definitions/HighAvailabilityConfig" + }, + "InstanceType": { + "pattern": "^\\S{1,20}$", + "type": "string" + }, + "KmsKeyId": { + "maxLength": 2048, + "type": "string" + }, + "Name": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$", + "type": "string" + }, + "PreferredMaintenanceWindow": { + "pattern": "^\\S{1,50}$", + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "insertionOrder": false, + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "pattern": "^\\S{1,50}$", + "type": "string" + }, + "type": "array" + }, + "StorageConfigurations": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StorageConfiguration" + }, + "type": "array" + }, + "SubnetIds": { + "insertionOrder": false, + "items": { + "pattern": "^\\S{1,50}$", + "type": "string" + }, + "type": "array" + }, + "Tags": { + "$ref": "#/definitions/TagMap" + } + }, + "readOnlyProperties": [ + "/properties/EnvironmentArn", + "/properties/EnvironmentId" + ], + "required": [ + "EngineType", + "InstanceType", + "Name" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true + }, + "typeName": "AWS::M2::Environment" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-organizations-policy.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-organizations-policy.json index c643b0cf6f..eb45adde3d 100644 --- 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 @@ -86,7 +86,8 @@ "AISERVICES_OPT_OUT_POLICY", "BACKUP_POLICY", "TAG_POLICY", - "CHATBOT_POLICY" + "CHATBOT_POLICY", + "RESOURCE_CONTROL_POLICY" ], "type": "string" } diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ram-resourceshare.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ram-resourceshare.json new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "additionalProperties": false, + "definitions": { + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Sources": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "required": [ + "Name" + ], + "typeName": "AWS::RAM::ResourceShare" +} diff --git a/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json new file mode 100644 index 0000000000..19c638ca23 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_gov_west_1/aws-workspaces-workspacespool.json @@ -0,0 +1,158 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/PoolName" + ], + "definitions": { + "ApplicationSettings": { + "additionalProperties": false, + "properties": { + "SettingsGroup": { + "maxLength": 100, + "pattern": "^[A-Za-z0-9_./()!*'-]+$", + "type": "string" + }, + "Status": { + "$ref": "#/definitions/ApplicationSettingsStatus" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "ApplicationSettingsStatus": { + "enum": [ + "DISABLED", + "ENABLED" + ], + "type": "string" + }, + "Capacity": { + "additionalProperties": false, + "properties": { + "DesiredUserSessions": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "DesiredUserSessions" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "TimeoutSettings": { + "additionalProperties": false, + "properties": { + "DisconnectTimeoutInSeconds": { + "maximum": 36000, + "minimum": 60, + "type": "integer" + }, + "IdleDisconnectTimeoutInSeconds": { + "maximum": 36000, + "minimum": 0, + "type": "integer" + }, + "MaxUserDurationInSeconds": { + "maximum": 432000, + "minimum": 600, + "type": "integer" + } + }, + "required": [], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/PoolId" + ], + "properties": { + "ApplicationSettings": { + "$ref": "#/definitions/ApplicationSettings" + }, + "BundleId": { + "pattern": "^wsb-[0-9a-z]{8,63}$", + "type": "string" + }, + "Capacity": { + "$ref": "#/definitions/Capacity" + }, + "CreatedAt": { + "type": "string" + }, + "Description": { + "maxLength": 255, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_./() -]+$", + "type": "string" + }, + "DirectoryId": { + "maxLength": 65, + "minLength": 10, + "pattern": "^wsd-[0-9a-z]{8,63}$", + "type": "string" + }, + "PoolArn": { + "pattern": "^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$", + "type": "string" + }, + "PoolId": { + "pattern": "^wspool-[0-9a-z]{9}$", + "type": "string" + }, + "PoolName": { + "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$", + "type": "string" + }, + "Tags": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TimeoutSettings": { + "$ref": "#/definitions/TimeoutSettings" + } + }, + "readOnlyProperties": [ + "/properties/PoolId", + "/properties/PoolArn", + "/properties/CreatedAt" + ], + "required": [ + "PoolName", + "BundleId", + "DirectoryId", + "Capacity" + ], + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::WorkSpaces::WorkspacesPool", + "writeOnlyProperties": [ + "/properties/Tags" + ] +} diff --git a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py index ff9ed2dc9b..a0e07245d4 100644 --- a/src/cfnlint/data/schemas/providers/us_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_1/__init__.py @@ -524,12 +524,14 @@ "AWS::InspectorV2::CisScanConfiguration", "AWS::InspectorV2::Filter", "AWS::InternetMonitor::Monitor", + "AWS::Invoicing::InvoiceUnit", "AWS::IoT::AccountAuditConfiguration", "AWS::IoT::Authorizer", "AWS::IoT::BillingGroup", "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -602,6 +604,7 @@ "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", "AWS::M2::Application", + "AWS::M2::Deployment", "AWS::M2::Environment", "AWS::MSK::BatchScramSecret", "AWS::MSK::Cluster", @@ -638,6 +641,7 @@ "AWS::MediaPackageV2::OriginEndpointPolicy", "AWS::MemoryDB::ACL", "AWS::MemoryDB::Cluster", + "AWS::MemoryDB::MultiRegionCluster", "AWS::MemoryDB::ParameterGroup", "AWS::MemoryDB::SubnetGroup", "AWS::MemoryDB::User", @@ -915,10 +919,13 @@ "AWS::VpcLattice::AccessLogSubscription", "AWS::VpcLattice::AuthPolicy", "AWS::VpcLattice::Listener", + "AWS::VpcLattice::ResourceConfiguration", + "AWS::VpcLattice::ResourceGateway", "AWS::VpcLattice::ResourcePolicy", "AWS::VpcLattice::Rule", "AWS::VpcLattice::Service", "AWS::VpcLattice::ServiceNetwork", + "AWS::VpcLattice::ServiceNetworkResourceAssociation", "AWS::VpcLattice::ServiceNetworkServiceAssociation", "AWS::VpcLattice::ServiceNetworkVpcAssociation", "AWS::VpcLattice::TargetGroup", @@ -1101,7 +1108,6 @@ "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", @@ -1214,7 +1220,6 @@ "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", @@ -1456,12 +1461,14 @@ "aws-inspectorv2-cisscanconfiguration.json", "aws-inspectorv2-filter.json", "aws-internetmonitor-monitor.json", + "aws-invoicing-invoiceunit.json", "aws-iot-accountauditconfiguration.json", "aws-iot-authorizer.json", "aws-iot-billinggroup.json", "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -1522,14 +1529,10 @@ "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-m2-application.json", - "aws-m2-environment.json", + "aws-m2-deployment.json", "aws-macie-allowlist.json", "aws-macie-customdataidentifier.json", "aws-macie-findingsfilter.json", @@ -1557,6 +1560,7 @@ "aws-mediapackagev2-originendpoint.json", "aws-mediapackagev2-originendpointpolicy.json", "aws-memorydb-acl.json", + "aws-memorydb-multiregioncluster.json", "aws-memorydb-parametergroup.json", "aws-memorydb-subnetgroup.json", "aws-memorydb-user.json", @@ -1564,7 +1568,6 @@ "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", @@ -1603,7 +1606,6 @@ "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", @@ -1614,7 +1616,6 @@ "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", @@ -1641,7 +1642,6 @@ "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", @@ -1834,10 +1834,13 @@ "aws-vpclattice-accesslogsubscription.json", "aws-vpclattice-authpolicy.json", "aws-vpclattice-listener.json", + "aws-vpclattice-resourceconfiguration.json", + "aws-vpclattice-resourcegateway.json", "aws-vpclattice-resourcepolicy.json", "aws-vpclattice-rule.json", "aws-vpclattice-service.json", "aws-vpclattice-servicenetwork.json", + "aws-vpclattice-servicenetworkresourceassociation.json", "aws-vpclattice-servicenetworkserviceassociation.json", "aws-vpclattice-servicenetworkvpcassociation.json", "aws-vpclattice-targetgroup.json", 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 new file mode 100644 index 0000000000..066d90ae55 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-cloudfront-distribution.json @@ -0,0 +1,1202 @@ +{ + "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 new file mode 100644 index 0000000000..64904e4f63 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-ec2-customergateway.json @@ -0,0 +1,86 @@ +{ + "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-logs-loggroup.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-loggroup.json new file mode 100644 index 0000000000..dc9996082f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-loggroup.json @@ -0,0 +1,109 @@ +{ + "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 new file mode 100644 index 0000000000..dc29d53471 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-metricfilter.json @@ -0,0 +1,153 @@ +{ + "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 new file mode 100644 index 0000000000..a39f89cf2a --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-querydefinition.json @@ -0,0 +1,50 @@ +{ + "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 new file mode 100644 index 0000000000..f82a16ecb0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-logs-subscriptionfilter.json @@ -0,0 +1,52 @@ +{ + "$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 new file mode 100644 index 0000000000..1c433a260d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-m2-environment.json @@ -0,0 +1,203 @@ +{ + "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-msk-replicator.json b/src/cfnlint/data/schemas/providers/us_west_1/aws-msk-replicator.json new file mode 100644 index 0000000000..8ca994e218 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-msk-replicator.json @@ -0,0 +1,321 @@ +{ + "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 new file mode 100644 index 0000000000..eb45adde3d --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-organizations-policy.json @@ -0,0 +1,114 @@ +{ + "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 new file mode 100644 index 0000000000..e55421c92f --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-ram-resourceshare.json @@ -0,0 +1,81 @@ +{ + "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 new file mode 100644 index 0000000000..60a6356907 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_1/aws-redshiftserverless-workgroup.json @@ -0,0 +1,312 @@ +{ + "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_2/__init__.py b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py index 1f159269fd..d248494c81 100644 --- a/src/cfnlint/data/schemas/providers/us_west_2/__init__.py +++ b/src/cfnlint/data/schemas/providers/us_west_2/__init__.py @@ -697,6 +697,7 @@ "AWS::IoT::CACertificate", "AWS::IoT::Certificate", "AWS::IoT::CertificateProvider", + "AWS::IoT::Command", "AWS::IoT::CustomMetric", "AWS::IoT::Dimension", "AWS::IoT::DomainConfiguration", @@ -827,6 +828,7 @@ "AWS::Logs::QueryDefinition", "AWS::Logs::ResourcePolicy", "AWS::Logs::SubscriptionFilter", + "AWS::Logs::Transformer", "AWS::LookoutMetrics::Alert", "AWS::LookoutMetrics::AnomalyDetector", "AWS::LookoutVision::Project", @@ -913,6 +915,7 @@ "AWS::NetworkManager::CoreNetwork", "AWS::NetworkManager::CustomerGatewayAssociation", "AWS::NetworkManager::Device", + "AWS::NetworkManager::DirectConnectGatewayAttachment", "AWS::NetworkManager::GlobalNetwork", "AWS::NetworkManager::Link", "AWS::NetworkManager::LinkAssociation", @@ -1490,7 +1493,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", @@ -1638,6 +1640,7 @@ "aws-connect-rule.json", "aws-connect-securitykey.json", "aws-connect-securityprofile.json", + "aws-connect-tasktemplate.json", "aws-connect-trafficdistributiongroup.json", "aws-connect-user.json", "aws-connect-userhierarchygroup.json", @@ -1833,6 +1836,7 @@ "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", @@ -2024,6 +2028,7 @@ "aws-iot-cacertificate.json", "aws-iot-certificate.json", "aws-iot-certificateprovider.json", + "aws-iot-command.json", "aws-iot-custommetric.json", "aws-iot-dimension.json", "aws-iot-domainconfiguration.json", @@ -2039,7 +2044,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", @@ -2168,6 +2172,7 @@ "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", @@ -2252,6 +2257,7 @@ "aws-networkmanager-corenetwork.json", "aws-networkmanager-customergatewayassociation.json", "aws-networkmanager-device.json", + "aws-networkmanager-directconnectgatewayattachment.json", "aws-networkmanager-globalnetwork.json", "aws-networkmanager-link.json", "aws-networkmanager-linkassociation.json", @@ -2460,6 +2466,8 @@ "aws-s3outposts-bucket.json", "aws-s3outposts-bucketpolicy.json", "aws-s3outposts-endpoint.json", + "aws-s3tables-tablebucket.json", + "aws-s3tables-tablebucketpolicy.json", "aws-sagemaker-app.json", "aws-sagemaker-appimageconfig.json", "aws-sagemaker-cluster.json", diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-batch-jobdefinition.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-batch-jobdefinition.json new file mode 100644 index 0000000000..2444dac742 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-batch-jobdefinition.json @@ -0,0 +1,1192 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/JobDefinitionName" + ], + "definitions": { + "ContainerProperties": { + "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" + }, + "FargatePlatformConfiguration": { + "additionalProperties": false, + "properties": { + "PlatformVersion": { + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "type": "string" + }, + "JobRoleArn": { + "type": "string" + }, + "LinuxParameters": { + "$ref": "#/definitions/LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/LogConfiguration" + }, + "Memory": { + "type": "integer" + }, + "MountPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MountPoint" + }, + "type": "array", + "uniqueItems": false + }, + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "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": [ + "Image" + ], + "type": "object" + }, + "Device": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "HostPath": { + "type": "string" + }, + "Permissions": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + } + }, + "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" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "TaskProperties" + ], + "type": "object" + }, + "EcsTaskProperties": { + "additionalProperties": false, + "properties": { + "Containers": { + "insertionOrder": false, + "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": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Volume" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "EksContainer": { + "additionalProperties": false, + "properties": { + "Args": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Command": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Env": { + "insertionOrder": false, + "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": { + "insertionOrder": false, + "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": { + "additionalProperties": false, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" + }, + "Requests": { + "additionalProperties": false, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" + } + }, + "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" + }, + "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" + } + }, + "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" + }, + "Host": { + "additionalProperties": false, + "properties": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "ImagePullSecret": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "JobTimeout": { + "additionalProperties": false, + "properties": { + "AttemptDurationSeconds": { + "type": "integer" + } + }, + "type": "object" + }, + "LinuxParameters": { + "additionalProperties": false, + "properties": { + "Devices": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Device" + }, + "type": "array", + "uniqueItems": false + }, + "InitProcessEnabled": { + "type": "boolean" + }, + "MaxSwap": { + "type": "integer" + }, + "SharedMemorySize": { + "type": "integer" + }, + "Swappiness": { + "type": "integer" + }, + "Tmpfs": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tmpfs" + }, + "type": "array", + "uniqueItems": false + } + }, + "type": "object" + }, + "LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { + "type": "string" + }, + "Options": { + "additionalProperties": false, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" + }, + "SecretOptions": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Secret" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "LogDriver" + ], + "type": "object" + }, + "MountPoint": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "MultiNodeContainerProperties": { + "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": { + "type": "string" + }, + "LinuxParameters": { + "$ref": "#/definitions/LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/LogConfiguration" + }, + "Memory": { + "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, + "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": [ + "Image" + ], + "type": "object" + }, + "MultiNodeEcsProperties": { + "additionalProperties": false, + "properties": { + "TaskProperties": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MultiNodeEcsTaskProperties" + }, + "type": "array", + "uniqueItems": false + } + }, + "required": [ + "TaskProperties" + ], + "type": "object" + }, + "MultiNodeEcsTaskProperties": { + "additionalProperties": false, + "properties": { + "Containers": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TaskContainerProperties" + }, + "type": "array", + "uniqueItems": false + }, + "ExecutionRoleArn": { + "type": "string" + }, + "IpcMode": { + "type": "string" + }, + "PidMode": { + "type": "string" + }, + "TaskRoleArn": { + "type": "string" + }, + "Volumes": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Volume" + }, + "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, + "items": { + "$ref": "#/definitions/NodeRangeProperty" + }, + "type": "array", + "uniqueItems": false + }, + "NumNodes": { + "type": "integer" + } + }, + "required": [ + "NumNodes", + "MainNode", + "NodeRangeProperties" + ], + "type": "object" + }, + "NodeRangeProperty": { + "additionalProperties": false, + "properties": { + "Container": { + "$ref": "#/definitions/MultiNodeContainerProperties" + }, + "EcsProperties": { + "$ref": "#/definitions/MultiNodeEcsProperties" + }, + "EksProperties": { + "$ref": "#/definitions/EksProperties" + }, + "InstanceTypes": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "TargetNodes": { + "type": "string" + } + }, + "required": [ + "TargetNodes" + ], + "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": { + "insertionOrder": false, + "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": [ + "Name", + "ValueFrom" + ], + "type": "object" + }, + "TaskContainerDependency": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "ContainerName": { + "type": "string" + } + }, + "required": [ + "ContainerName", + "Condition" + ], + "type": "object" + }, + "TaskContainerProperties": { + "additionalProperties": false, + "properties": { + "Command": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "DependsOn": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TaskContainerDependency" + }, + "type": "array", + "uniqueItems": false + }, + "Environment": { + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Environment" + }, + "type": "array", + "uniqueItems": false + }, + "Essential": { + "type": "boolean" + }, + "Image": { + "type": "string" + }, + "LinuxParameters": { + "$ref": "#/definitions/LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/LogConfiguration" + }, + "MountPoints": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/MountPoint" + }, + "type": "array", + "uniqueItems": false + }, + "Name": { + "type": "string" + }, + "Privileged": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "RepositoryCredentials": { + "$ref": "#/definitions/RepositoryCredentials" + }, + "ResourceRequirements": { + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ResourceRequirement" + }, + "type": "array", + "uniqueItems": false + }, + "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" + } + }, + "required": [ + "Image" + ], + "type": "object" + }, + "Tmpfs": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "MountOptions": { + "insertionOrder": false, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "Size": { + "type": "integer" + } + }, + "required": [ + "ContainerPath", + "Size" + ], + "type": "object" + }, + "Ulimit": { + "additionalProperties": false, + "properties": { + "HardLimit": { + "type": "integer" + }, + "Name": { + "type": "string" + }, + "SoftLimit": { + "type": "integer" + } + }, + "required": [ + "HardLimit", + "Name", + "SoftLimit" + ], + "type": "object" + }, + "Volume": { + "additionalProperties": false, + "properties": { + "EfsVolumeConfiguration": { + "$ref": "#/definitions/EFSVolumeConfiguration" + }, + "Host": { + "$ref": "#/definitions/Host" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/JobDefinitionName" + ], + "properties": { + "ContainerProperties": { + "$ref": "#/definitions/ContainerProperties" + }, + "EcsProperties": { + "$ref": "#/definitions/EcsProperties" + }, + "EksProperties": { + "$ref": "#/definitions/EksProperties" + }, + "JobDefinitionName": { + "maxLength": 128, + "type": "string" + }, + "NodeProperties": { + "$ref": "#/definitions/NodeProperties" + }, + "Parameters": { + "additionalProperties": false, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" + }, + "PlatformCapabilities": { + "insertionOrder": true, + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": false + }, + "PropagateTags": { + "type": "boolean" + }, + "RetryStrategy": { + "$ref": "#/definitions/RetryStrategy" + }, + "SchedulingPriority": { + "type": "integer" + }, + "Tags": { + "additionalProperties": false, + "patternProperties": { + ".*": { + "type": "string" + } + }, + "type": "object" + }, + "Timeout": { + "$ref": "#/definitions/JobTimeout" + }, + "Type": { + "type": "string" + } + }, + "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_west_2/aws-connect-tasktemplate.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-connect-tasktemplate.json deleted file mode 100644 index 97d8288921..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-connect-tasktemplate.json +++ /dev/null @@ -1,271 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "ClientToken": { - "pattern": "^$|[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$", - "type": "string" - }, - "DefaultFieldValue": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "$ref": "#/definitions/FieldValue" - }, - "Id": { - "$ref": "#/definitions/FieldIdentifier" - } - }, - "required": [ - "Id", - "DefaultValue" - ], - "type": "object" - }, - "Field": { - "additionalProperties": false, - "properties": { - "Description": { - "maxLength": 255, - "minLength": 0, - "type": "string" - }, - "Id": { - "$ref": "#/definitions/FieldIdentifier" - }, - "SingleSelectOptions": { - "items": { - "$ref": "#/definitions/FieldOption" - }, - "maxItems": 50, - "type": "array" - }, - "Type": { - "$ref": "#/definitions/FieldType" - } - }, - "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "FieldIdentifier": { - "additionalProperties": false, - "properties": { - "Name": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "FieldOption": { - "maxLength": 100, - "minLength": 1, - "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9_.,\\s-]*[A-Za-z0-9_.,-])?$", - "type": "string" - }, - "FieldType": { - "enum": [ - "NAME", - "DESCRIPTION", - "SCHEDULED_TIME", - "QUICK_CONNECT", - "URL", - "NUMBER", - "TEXT", - "TEXT_AREA", - "DATE_TIME", - "BOOLEAN", - "SINGLE_SELECT", - "EMAIL", - "EXPIRY_DURATION", - "SELF_ASSIGN" - ], - "type": "string" - }, - "FieldValue": { - "maxLength": 4096, - "minLength": 1, - "type": "string" - }, - "InvisibleFieldInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "$ref": "#/definitions/FieldIdentifier" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "InvisibleTaskTemplateFields": { - "items": { - "$ref": "#/definitions/InvisibleFieldInfo" - }, - "maxItems": 50, - "type": "array" - }, - "ReadOnlyFieldInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "$ref": "#/definitions/FieldIdentifier" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "ReadOnlyTaskTemplateFields": { - "items": { - "$ref": "#/definitions/ReadOnlyFieldInfo" - }, - "maxItems": 50, - "type": "array" - }, - "RequiredFieldInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "$ref": "#/definitions/FieldIdentifier" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "RequiredTaskTemplateFields": { - "items": { - "$ref": "#/definitions/RequiredFieldInfo" - }, - "maxItems": 50, - "type": "array" - }, - "Status": { - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "type": "string" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$", - "type": "string" - }, - "Value": { - "maxLength": 256, - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Arn" - ], - "properties": { - "Arn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/task-template/[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$", - "type": "string" - }, - "ClientToken": { - "$ref": "#/definitions/ClientToken" - }, - "Constraints": { - "additionalProperties": false, - "properties": { - "InvisibleFields": { - "$ref": "#/definitions/InvisibleTaskTemplateFields" - }, - "ReadOnlyFields": { - "$ref": "#/definitions/ReadOnlyTaskTemplateFields" - }, - "RequiredFields": { - "$ref": "#/definitions/RequiredTaskTemplateFields" - } - }, - "type": "object" - }, - "ContactFlowArn": { - "pattern": "^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$", - "type": "string" - }, - "Defaults": { - "items": { - "$ref": "#/definitions/DefaultFieldValue" - }, - "maxItems": 50, - "type": "array" - }, - "Description": { - "maxLength": 255, - "minLength": 0, - "type": "string" - }, - "Fields": { - "items": { - "$ref": "#/definitions/Field" - }, - "maxItems": 50, - "type": "array" - }, - "InstanceArn": { - "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$", - "type": "string" - }, - "Name": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "SelfAssignContactFlowArn": { - "pattern": "^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$", - "type": "string" - }, - "Status": { - "$ref": "#/definitions/Status" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "type": "array", - "uniqueItems": true - } - }, - "readOnlyProperties": [ - "/properties/Arn" - ], - "required": [ - "InstanceArn" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": false, - "tagProperty": "/properties/Tags", - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::Connect::TaskTemplate" -} 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 new file mode 100644 index 0000000000..48ddfbd4c0 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/us_west_2/aws-iot-softwarepackageversion.json @@ -0,0 +1,111 @@ +{ + "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-s3tables-tablebucket.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-s3tables-tablebucket.json deleted file mode 100644 index 38d1fa1c9a..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-s3tables-tablebucket.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/TableBucketName" - ], - "definitions": { - "TableBucketARN": { - "examples": [ - "arn:aws:s3tables:us-west-2:123456789012:bucket/mytablebucket" - ], - "pattern": "(arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:bucket/[a-z0-9_-]{3,63})", - "type": "string" - }, - "TableBucketName": { - "maxLength": 63, - "minLength": 3, - "type": "string" - }, - "UnreferencedFileRemoval": { - "additionalProperties": false, - "properties": { - "NoncurrentDays": { - "minimum": 1, - "type": "integer" - }, - "Status": { - "enum": [ - "Enabled", - "Disabled" - ], - "type": "string" - }, - "UnreferencedDays": { - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/TableBucketARN" - ], - "properties": { - "TableBucketARN": { - "$ref": "#/definitions/TableBucketARN" - }, - "TableBucketName": { - "$ref": "#/definitions/TableBucketName" - }, - "UnreferencedFileRemoval": { - "$ref": "#/definitions/UnreferencedFileRemoval" - } - }, - "readOnlyProperties": [ - "/properties/TableBucketARN" - ], - "required": [ - "TableBucketName" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::S3Tables::TableBucket" -} diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-s3tables-tablebucketpolicy.json b/src/cfnlint/data/schemas/providers/us_west_2/aws-s3tables-tablebucketpolicy.json deleted file mode 100644 index 3a4601dfa0..0000000000 --- a/src/cfnlint/data/schemas/providers/us_west_2/aws-s3tables-tablebucketpolicy.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/TableBucketARN" - ], - "definitions": { - "ResourcePolicy": { - "type": [ - "object", - "string" - ] - }, - "TableBucketARN": { - "examples": [ - "arn:aws:s3tables:us-west-2:123456789012:bucket/mytablebucket" - ], - "pattern": "(arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:bucket/[a-z0-9_-]{3,63})", - "type": "string" - } - }, - "primaryIdentifier": [ - "/properties/TableBucketARN" - ], - "properties": { - "ResourcePolicy": { - "$ref": "#/definitions/ResourcePolicy" - }, - "TableBucketARN": { - "$ref": "#/definitions/TableBucketARN" - } - }, - "required": [ - "ResourcePolicy", - "TableBucketARN" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::S3Tables::TableBucketPolicy" -}